Teremtő | Juan Linietsky ( d ) és Ariel Manzur ( d ) |
---|---|
Az első verzió | 2007 |
Utolsó verzió | 3,3 (2021. április 21) |
Haladó verzió |
3,0-alfa1 (2017. július 26) 3.0-béta 1 (2017. november 30) 3.0-rc1 (2018. január 14) 3,1-alfa 1 (2018. augusztus 31) 3,1-alfa-2 (2018. november 2) 3,2-béta 4 (2019. december 18) 3.2.3 béta 1 (2020. július 15) |
Letét | github.com/godotengine/godot |
Minőségbiztosítás | Folyamatos integráció |
Projekt állapota | Aktív fejlesztés |
Beírva | C és C ++ |
Támogató nyelvek | GDScript ( d ) , C ++ , C # , Python , Nim és D |
Operációs rendszer | GNU / Linux , macOS , Microsoft Windows , BSD ( d ) , iOS , Android , Universal Windows Platform , HTML5 , WebAssembly , Xbox és Windows Phone |
Környezet |
Létrehozás: Windows , MacOS , Linux , FreeBSD , OpenBSD , Haiku Telepítés: Windows , MacOS , Linux , BSD , Haiku , iOS , Android , BlackBerry , HTML5 |
Olvassa el a formátumokat | Windows bittérkép , DirectDraw Surface ( en ) , OpenEXR , RGBE képformátum ( en ) , JPEG File Interchange Format , Hordozható hálózati grafika , Truevision Targa , SVG , WebP , Waveform Audio File Format , Vorbis , glTF , FBX , DAE és .OBJ |
Nyelvek | Többnyelvű (részleges francia támogatás) |
típus | Játékmotor |
Forgalmazási politika | Ingyenes (adomány) |
Engedély | MIT licenc |
Dokumentáció | docs.godotengine.org |
Weboldal | godotengine.org |
A Godot egy többplatformos játékmotor , vagyis videojátékok létrehozására szolgáló szoftver , amely kompatibilis a különböző operációs rendszerekkel . Tartalmazza többek között egy 2D-s motort , egy 3D-s motort , egy fizikai motort , egy animációs menedzsert és a programozási nyelveket a viselkedés programozásához. Azóta van2014 januára nyilvánosság számára nyitott és az MIT licenc alatt elérhető , ami ingyenes szoftverré teszi . A projektben részt vevő sok önkéntes közreműködő mellett néhány havi adományból fizetett fejlesztő teljes munkaidőben dolgozik.
Videojáték-készítő eszközként Godot sok szempontból lefedi elkészítésüket. A Godot felhasználónak lehetősége van tartalmak (képek, hang, 3D-s modellek ) importálására , animációk készítésére, a játék különböző elemeinek viselkedésének programozására egy szkriptnyelvnek köszönhetően, objektumok fizikai elrendezéséhez ( erők , ütközések), fényforrások elhelyezése, csempékből álló szint létrehozása a szerkesztőben stb.
Godot-nak van egy dedikált 3D-s és 2D-s megjelenítője is. Ez a megközelítés különbözik néhány más játékmotortól, például a Unity-től , amelyek amúgy is 3D-s jelenetet manipulálnak, és egy ortogonális kamerát használnak egy 2D-szerű megjelenítéshez.
2D renderelőGodot 2D renderelő motorja a pixelt távolságegységként használja, még akkor is, ha ez azt jelenti, hogy nagyításokat használ a kívánt képméretek eléréséhez a képernyőn. Képes kezelni a megjelenítéseket:
A Godot 3.0 verziója óta a 3D renderelő motor a reális fizikai renderelés technikáját használja . A kétirányú fényvisszaverő funkció választott fény számítások tiszteletben mindazokat az elveket által meghatározott Disney animációs stúdió . A virtuális objektumok renderelése ezután az azt alkotó anyagok beállításán alapul. Figyelembe veszi albedójukat , érdességüket , fémes jellegüket, a környezeti elzáródást , az anizotropiát , a transzlumineszcenciát , az élhatásokat és a fénytörést .
Godot kezeli az OpenGL és OpenGL ES könyvtárakat támogató platformokat, és éppen folyamatban van a Vulkan integrálása, amelynek 2020-ban stabil változatban kell rendelkezésre állnia .
A Godot-on megtervezett játék tartalma jelenetfa formájában van felépítve . A Godot-ban egy jelenet egy fába szervezett csomópontok csoportjára utal , ahol a csomópontok lehetnek permetek , ütközési maszkokként szolgáló alakzatok , fényforrások, hangforrások, fizikai objektumok, animációs menedzserek vagy egyéb dolgok. Például létrehozhatunk egy „ karakter ” jelenetet , amely egy sprite, egy fizikai tárgy és egy ütközési alakzatból áll.
Lehetőség van arra is, hogy egy előzetesen létrehozott jelenetet új jelenetként felhasználjon egy másik jelenet csomópontjaként. Ez a rendszer lehetővé teszi a jelenetek egymásba ágyazását. Így lehetséges olyan fő „ szint ” jelenet megalkotása, amely az előző példában leírtak szerint több „ karakter ” jelenetet tartalmaz , más csomópontok mellett.
Minden jelenet szöveges fájlként kerül mentésre az egyszerű verzióosításhoz .
Godot lehetővé teszi, hogy szkriptet csatoljon a jelenetfában lévő bármely csomóponthoz, annak programozása érdekében, hogy ennek a csomópontnak viselkedése legyen. Ehhez különféle programozási nyelvek állnak rendelkezésre.
GDScript, a Godot szkriptnyelveA "GDScript" szkriptnyelv kifejezetten Godot-tal való együttműködésre készült. Szintaxisa hasonló a Pythonéhoz . Számos okot említettek az új nyelv létrehozásának megválasztására, nem pedig a Lua , a Python , a Squirrel vagy a Javascript használatára a tolmácsaikkal együtt . Ezek az okok a következők:
A 3.0 verziótól kezdve lehet szkripteket írni C # formátumban , akár a Mono szerkesztővel, akár a Godot-tól eltérő fejlesztői környezeten keresztül . A közösség kezeli más szkriptnyelvek, például a Python , a Rust , a Nim vagy a D támogatását .
Vizuális programozási felület is rendelkezésre áll; a Godot-ra jellemző grafikus nyelvre épül , az úgynevezett VisualScript. Ennek célja, hogy a nem fejlesztők számára könnyebben elérhető legyen, mint a hagyományos programozás, kód szerint.
Alacsony szintű programozásA C ++ használható a szkriptnyelvek mellett vagy helyett, ugyanazzal az API C ++ -val, mint amelyet a Godot szerkesztő használ. A fejlesztő tehát képes arra, hogy egy GDScript osztályt C ++ osztályra cseréljen anélkül, hogy ez befolyásolná a játék többi részét, ami lehetővé teszi számára, hogy szükség szerint optimalizálja annak egyes részeit. El lehet jutni odáig, hogy egy játékot teljesen C ++ nyelven fejlesztenek, de ezt az időpazarlásnak tartott gyakorlatot a fejlesztők nem javasolják. A C ++ segítségével új modulokat lehet létrehozni a Godot számára, annak érdekében, hogy a motor megérintése nélkül új funkcionalitást adjon hozzá.
A külön szoftver által létrehozott és a játékban használt kép-, hang- vagy más fájlokat erőforrásnak nevezzük. Godot sokféle fájlt képes importálni.
A támogatott képformátumok a következők:
Juan Linietsky és Ariel Manzur 2001 óta kezdtek el fejleszteni egy játékmotort, az akkori általános célú játékmotorok hiánya miatt (sokakat csak első személyű lövöldözők tervezésére használtak ), és mert fontosnak tartották az argentin videojáték-ipar , hogy tapasztalatokat szerezzen a játékmotorokról. 2007-ben azonban ezt a motort néhány tervezési sajátosság megkérdőjelezte, amelyek egyes gépeknél, például az iPhone-nál vagy a PlayStation3-nál megjelentek . A különböző memóriakezelés és a többmagos mikroprocesszorok valóban jelentős változtatásokat igényeltek a játékok fejlesztésében. Őket ezért kénytelen elválni a motor architektúra pedig akkor, és kezdje újra egy másik alap.
Új játékmotorjuk lesz az a Godot. Az volt az ötletük, hogy kezdettől fogva szabaddá tegyék , de inkább azt a pillanatot választották, hogy megtartják az ingatlant, és mielőtt közzéteszik, megvárják, amíg a projekt bizonyos érettségű lesz. Abban az időben Juan és Ariel tanácsadók voltak a videojátékok területén, és Godotot kínálták eszközül ügyfeleiknek, különféle stúdiókban. Öt-hat évvel az új játékmotor elindítása után úgy döntöttek, hogy csatlakoznak az Okam stúdióhoz, hogy más videojáték-szakmák munkatársainak hasznot húzhassanak játékok létrehozásában. Ez lehetővé tette számukra, hogy a motor előkészítésére összpontosítsanak, míg a csapat többi tagja játékokat tervezett.
A 2014. január 14, A Godot gyakorlatilag szabad szoftverré vált azáltal, hogy a motor hivatalos honlapján közzétette első verzióját az MIT licenc alatt (ez egy béta verzió volt ). Ez a licenc változás, valamint a kiadvány a motor kódot a GitHub , hagyjuk más önkéntes közreműködők, hogy részt vegyenek a fejlesztés a motort. De nem sokkal később Juan Linietsky-nak el kellett hagynia az Okam stúdiót, mivel az argentin politikai és gazdasági instabilitás megnehezítette a stúdió működését az utóbbi biztató kezdete ellenére. Ennek ellenére szabadidejében tovább dolgozott Godot-on, javította a hibákat és válaszolt a felhasználói visszajelzésekre (akik közül sokan panaszkodtak a szoftver gyenge használhatóságára ).
Juan Linietsky jelzi, hogy a 2.0 verzió 2016 februári megjelenésével a felhasználók elégedettek lettek a játékmotor 2D részével. Ezenkívül Godot ekkor megjelent a Steam- en (a2016. február 24), amely Ariel Manzur szerint óriási hitelességet adott a projektnek.
A projektnek van néhány finanszírozási forrása. A2016. június 22, A Mozilla 20 000 dollárt jelent be a Godot projektnek, hogy a játék motorja megfeleljen a WebSocket , a WebAssembly és a WebGL internetes szabványoknak , amikor játékokat exportál a HTML5-be. A2017. augusztus 10Godot kampányi közösségi finanszírozást indít a patreon weboldalon . Ennek a kampánynak a célja a havi adományok összegyűjtése annak érdekében, hogy egyrészt fizetés legyen bizonyos kulcsfontosságú közreműködőknek, hogy teljes munkaidőben dolgozzanak a projekten (már nem csak szabadidejük alatt), másrészt pedig fedezze a Godot-t érintő események költségeit. Ban ben2017. november, Juan Linietsky, Thomas Herzog és Rémi Verschelde fizetnek azért, hogy hozzájáruljanak Godot-hoz.
A név „Godot” választották, utalva a játék Godot által Samuel Beckett .
A játékmotort nem mindig hívták "Godot" -nak. A végleges használata előtt azonban ezt a nevet már kódnévként használták a házon belüli fejlesztés során. Arra mutatott rá, hogy mivé válhat ez a projekt, nevezetesen egy általánosabb játékmotorrá, amely egy tisztességes felhasználói felületből áll, nem pedig egyeztethető eszközökből. Egy ilyen projektnek sok időre lenne szüksége, mielőtt megvalósulna, ha ez sikerül, ezért utalunk a Godot-ra várva , amelynek várakozása és bizonytalansága a kedvenc téma.
Juan Linietsky utólag igazolja a név hivatalos megtartásának választását. Valójában a darab szereplői folyamatosan várják a Godot nevű egyént, anélkül, hogy bárki tudná, valóban eljön-e egyszer. Juan összehasonlítja ezeket a karaktereket a Godot-felhasználókkal, akik folyamatosan keresik a motor új funkcióit.