Istnieje wiele aspektów opracowania grę. Większość gier składa się z następujących elementów:
1) Silnik renderujący. Jest to warstwa prezentacji i zapewnia wykresy scen, matematykę, efekty cząsteczek, efekty przetwarzania końcowego i całą masę innych rzeczy. Unreal jest takim silnikiem. Dobry darmowy silnik renderujący to Ogre
2) Silnik dźwięku. Zajmuje się przetwarzaniem efektów dźwiękowych (zwykle obsługujących to w przestrzeni 3D) i przesyłaniem strumieniowym audio. Doskonałą wolną warstwą audio jest OpenAL.
3) Kompresja/odtwarzanie wideo (E.g BINK), jeśli gra tego wymaga. Darmowa wersja to Theora.
4) Sieci. To jest coś, co można napisać w domu lub zejść z półki, tak jak inne komponenty, np. Raknet.
5) Skrypty. Nie zawsze ma sens pisanie całej gry w języku C/C++/Java. Czasami logika i przepływ poziomu są łatwiejsze do opisania w języku skryptowym, co sprawia, że zmiana go w locie bez ponownej kompilacji jest znacznie łatwiejsza. Dobrymi kandydatami są: LUA, Python, a nawet Squirrel. LUA jest na przykład używana przez World of Warcraft i można ją łatwo powiązać z C++. Civ4 używa Pythona.
Oczywiście niektóre lub wszystkie z nich można napisać w domu, ale ma to sens z punktu widzenia kosztów, że jeśli zostało to już zrobione dobrze, po co zawracać sobie głowę? Potrzebujesz również oprogramowania do edycji zasobów (3D Studio Max dla 3D, na przykład Blender, jeśli chcesz mieć dobry, solidny, bezpłatny pakiet).
Civ4 w rzeczywistości używa Pythona. – greyfade
@ greyfade, dzięki za wyjaśnienia. Poprawiłem post! –