Godot (játékmotor)

Godot A Godot 3.1 screenshot.png kép leírása. Információ
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.

Jellemzők

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.

Rendering

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:

3d rendering motor

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 .

Jelenetfa

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 .

Programozási nyelvek

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 szkriptnyelve

A "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:

  • Ennek az új nyelvnek a megtanulása viszonylag könnyű,
  • Egy jobb forráskód-szerkesztő könnyebb biztosítása a Godot felhasználói felületen. Sőt, GDScript teszi könnyebben támogatásával befejezése és a támogatást a kiadása kód működése során a játék ( élő szerkesztő ),
  • Egyéb technikai okok, mint például a nyelv és a C ++ közötti egyszerűbb interfész, a szemétszállítás adaptáltabb kezelése , a változók, például vektorok és mátrixok nyelvtípusaiba natív hozzáadás lehetősége , vagy a szálak támogatása .
Egyéb szkriptnyelvek állnak rendelkezésre

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ás

A 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á.

Források importja

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:

  • BMP (.bmp), csak 1,4,8,24,32 bit pixelenként (de nem 16) formátum támogatott.
  • DirectDraw Surface  ( .dds), ennek a formátumnak a térképei is automatikusan betöltődnek.
  • SkyEX panorámákhoz ajánlott OpenEXR (.exr), ( nagy dinamikatartomány )
  •  Sugárzás HDR (en) (.hdr), ( nagy dinamikatartomány ), az égbolt panorámájához ajánlott
  • JPEG (.jpg, .jpeg), ennek a formátumnak a szabványa nem támogatja az átláthatóságot.
  • PNG (.png), csatornánként 8 bitre korlátozva, nincs HDR kép.
  • Truevision Targa (.tga)
  • SVG (.svg), importálás nanoSVG-n keresztül, a formátumkezelés korlátozásával. Javasoljuk, hogy használja az Inkscape PNG konverzióját, mivel az Inkscape parancssori hívás automatizálhatja az átalakítást.
  • WebP (.webp)

A projekt története

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.

Névválasztás

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.

Lásd is

Hivatkozások

  1. "  https://godotengine.org/article/godot-3-3-has-arrived  " (elérhető : 2021. április 22. )
  2. "  https://godotengine.org/article/dev-snapshot-godot-3-0-alpha-1  " (hozzáférés : 2017. szeptember 22. )
  3. "  https://godotengine.org/article/dev-snapshot-godot-3-0-beta-1  "
  4. "  https://godotengine.org/article/dev-snapshot-godot-3-0-rc-1  "
  5. "  https://godotengine.org/article/dev-snapshot-godot-3-1-alpha-1  "
  6. "  https://godotengine.org/article/dev-snapshot-godot-3-1-alpha-2  "
  7. "  https://godotengine.org/article/dev-snapshot-godot-3-2-beta-4  "
  8. "  https://downloads.tuxfamily.org/godotengine/3.2.3/beta1/README.txt  "
  9. "  Godot funkcionalitása (hivatalos oldal)  " (hozzáférés : 2017. január 20. )
  10. "  Godot: cross-platform nyílt forráskódú játékmotor  ", a találkozás helye a technológia, a videojátékok és a programozás rajongói számára ,2015. február 18( online olvasás , konzultáció 2017. február 26-án )
  11. (hu-USA) „A Godot csapat szállítja a Godot 3.0 | -t CG Channel  ” , a www.cgchannel.com címen (hozzáférés : 2018. október 7. )
  12. "A  Godot 3.0 valósághű 3D rendert és C # támogatást fog nyújtani a Unity törzsvendégeinek  ", Developpez.com ,2017. augusztus 13( online olvasás , konzultáció 2018. október 7 - én )
  13. "A  Godot 3.0 verzióban érhető el, a 2D és 3D multiplatform játékmotor átalakul, számos fejlesztést és új funkciót hoz létre  ", Developpez.com ,2018. január 30( online olvasás , konzultáció 2018. február 7 - én )
  14. „  Godot Engine Free Game Engine 2.0 verzió - LinuxFr.org  ” , a linuxfr.org címen (Hozzáférés : 2017. február 26. )
  15. (in) "  Scripting - Godot Engine 2.1 dokumentáció  " a docs.godotengine.org oldalon (elérhető: 2017. február 28. )
  16. (in) "  Gyakran feltett kérdések - Godot Engine 2.1 dokumentáció  " a docs.godotengine.org webhelyen (elérhető: 2017. február 28. )
  17. „  Bevezetés a Godot motorba, Juan Linietsky konferenciája, 2015. július 7.  ” , az RMLL-en - Web TV (megtekintve 2017. február 28-án )
  18. „A  Godot Engine 3.0 verzióban jelenik meg! - Videojáték létrehozása  », Videojáték létrehozása ,2018. február 3( online olvasás , konzultáció 2018. február 6 - án )
  19. Godot Engine , „  Godot Engine - Godot 3.0 készen áll a nagy ligákra  ”, a godotengine.org oldalon (elérhető : 2018. február 6. )
  20. (in) "  Jellemzők - Script teljes szabadságot  " (elérhető a december 8, 2019 )
  21. (en) "  Gyakran feltett kérdések  " , a docs.godotengine.org oldalon
  22. (in) "  Custom in C ++ modulok  " a docs.godotengine.org oldalon (hozzáférés: 2019. december 8. )
  23. (in) "  Képek importálása  " a docs.godotengine.org oldalon
  24. (en) "  SteamLUG Cast s04e05 - Waiting For VR  " , a steamlug.org oldalon (elérhető : 2017. március 4. )
  25. 80.lv , Godot 2.0: Beszélgetés a Teremtővel  ", a 80.lv címen (hozzáférés : 2018. június 30. )
  26. https://godotengine.org/article/retrospective-and-future
  27. "  Bejelentés a Godotról az MIT licencre történő áttérésről a developpez.com webhelyen  " (hozzáférés : 2017. február 26. )
  28. Godot Engine , „  Godot Engine - Első nyilvános kiadás!  » , A godotengine.org oldalon (elérhető : 2017. március 4. )
  29. "  Information - All information  " , a store.steampowered.com címen (megtekintve : 2017. március 4. )
  30. (hu-USA) „A  Mozilla 385 000 dollárt ítél oda a nyílt forráskódú projekteknek a MOSS„ Mission Partners ”program részeként - A Mozilla Blog  ” , a Mozilla Blogban (hozzáférés : 2018. június 30. )
  31. (in) "  Félúton! Köszönjük a hihetetlen támogatást! | Juan Linietsky és Godot közreműködői a Patreonban  » , Patreon ,2017. augusztus 13( online olvasás , konzultáció 2018. június 30 - án )
  32. 3DVF , „A  Godot 3.0 Game Engine felfedi és elindítja az adománygyűjtési kampányt - 3DVF.com  ”, a www.3dvf.com címen (megtekintve : 2018. június 30. )
  33. (in) "  Juan Linietsky & Godot közreműködők létrehozása Godot Motor | Patreon  ” , Patreon ,2017. november 22( online olvasás , konzultáció 2018. június 30 - án )
  34. Godot Engine , „  Godot Engine - Godot története képekben!  » , A godotengine.org oldalon (megtekintve : 2017. március 3. )