Godot

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 19. října 2022; ověření vyžaduje 1 úpravu .
Godotův motor
Typ Herní engine
Autor Juan Liniecki [d] a Ariel Manzur [d]
Vývojář Spoluautorství vývojáře
Zapsáno v C++ [2] a C [2]
Operační systém GNU/Linux , macOS , Microsoft Windows , BSD , iOS , Android , Universal Windows Platform , HTML5 , WebAssembly , Xbox a Windows Phone
První vydání 14. ledna 2014
Nejnovější verze
beta verze 4.0 beta 3 (14. října 2022)
Čitelné formáty souborů Formát pro výměnu souborů BMP , DirectDraw Surface , OpenEXR , RGBE [d] , JPEG [d] , PNG , Truevision TGA , SVG , WebP , WAV , Vorbis , glTF [d] , FBX , COLLADA a Obj
Stát Aktivní
Licence Licence MIT
webová stránka godoengine.org
 Mediální soubory na Wikimedia Commons

Godot Engine ( fr.  gó-doh [3] ) je open source multiplatformní 2D a 3D herní engine pod licencí MIT , který je vyvíjen Godot Engine Community. Před jeho veřejným vydáním jako open source byl motor interně používán některými společnostmi v Latinské Americe . [4] Vývojové prostředí běží na Linuxu , macOS , Windows , BSD a Haiku a dokáže exportovat herní projekty na PC , konzole , mobilní a webové platformy.

Přehled

Godotovým cílem je být nejintegrovanějším a nejuzavřenějším prostředím pro vývoj her . Prostředí umožňuje vývojářům vytvářet hry od nuly bez použití dalších nástrojů, s výjimkou těch, které jsou nezbytné pro tvorbu herního obsahu (grafika, hudební skladby atd.). Proces programování také nevyžaduje externí nástroje (ačkoli pokud potřebujete použít externí editor, lze to provést poměrně snadno).

Celková architektura enginu je postavena na konceptu stromu zděděných „scén“. Každý prvek scény ( uzel ), se může kdykoli sám stát plnohodnotnou scénou. Při vývoji tedy můžete jednoduše kompletně změnit celou architekturu projektu, rozšířit jeho prvky libovolným směrem a pracovat se složitými scénami na úrovni jednoduchých abstrakcí.

Všechny herní zdroje, od skriptů po grafické prvky a herní scény, jsou uloženy ve složce projektu jako běžné soubory a nejsou součástí komplexní databáze projektu. Zdroje, které nejsou složitými daty, jsou uloženy ve formátech prostého textu (např. skripty a scény na rozdíl od modelů a textur). Tato řešení výrazně usnadňují různým vývojovým týmům práci se systémy správy verzí . [5]

Skriptování

Hra je vytvořena pomocí vlastního vysoce kvalitního dynamicky typovaného skriptovacího programovacího jazyka zvaného GDScript, jehož syntaxe matně připomíná jazyk Python . Rozdíl oproti Pythonu je především v povinné definici rozsahu proměnné pomocí klíčového slova var a optimalizaci jazyka pro potřeby scénického systému a uzlů enginu. Prostřednictvím systému GDNative je možné používat skriptování v C++/D/Rust a dalších jazycích. Existuje také verze Godot s podporou jazyka C# (Godot Engine Mono Version), ale v tuto chvíli se stále dokončuje a je nestabilní. Vývojáři Godot uvedli, že se pokusili integrovat několik externích skriptovacích jazyků (jmenovitě Lua , Python a Squirrel ), než se rozhodli použít svůj vlastní skriptovací jazyk. A jen to umožnilo získat potřebnou úroveň optimalizace pro engine a integraci do vývojového prostředí. [6]

Godot má jak svůj vlastní integrovaný editor skriptů s dokončováním kódu, automatickým odsazováním, zvýrazňováním syntaxe , rychlým přístupem k úplnému rozhraní API enginu a některými dalšími funkcemi, stejně jako možnost otevírat zdrojový kód skriptu, upravovat jej a ladit v aplikacích třetích stran. IDE a editory kódu. Systém má také flexibilní debugger , profiler, monitor použité video paměti a vzdálený editor scén pro ovládání prvků v reálném čase.

Počínaje verzí 3.0 je podporováno také vizuální programování ve Visual Scripting.

Vykreslování

Grafický systém pro všechny podporované platformy je založen na OpenGL ES 3.0. Vykreslování zahrnuje technologie na pořadí nezávislá průhlednost, normální mapování , zrcadlení, celoobrazovkové post-efekty jako FXAA , bloom , DOF , HDR , gama korekce , mlha vzdálenosti, dynamické stíny založené na stínových mapách a další.

K vytváření shaderů se používá zjednodušený jazyk shaderů, který je blízkou podmnožinou jazyka GLSL . Shader pak lze použít v materiálovém efektu obrazovky pro 2D vykreslování. Shader je rozdělen na sekce vertex a fragment. Ve vizuálním editoru je také možné plnohodnotně vytvářet shadery.

Godot má samostatný 2D grafický engine , který lze používat nezávisle na 3D . Příklady 2D funkcí jsou GUI (pracovní plocha Godot je hlavním příkladem funkcí GUI), skřítci , dlaždicová grafika (čtvercový, izometrický a nativní formát), paralaxové rolování, 2D osvětlení a stíny (bodový typ), částicový systém a některé další funkce. Vývojář může snadno kombinovat a míchat 2D a 3D v obou směrech (pomocí Viewport Node).

Vývojářské prostředí má vestavěný animační systém a ovládací prvky pro práci s skeletální animací , tvarovou animací a vystřiženými scénami. A díky designu enginu založenému na uzlech můžete prostřednictvím editoru animací animovat obecně jakýkoli parametr, který může být ve hře přítomen. [7] Z klávesy animační stopy je také možné volat kteroukoli z vašich vlastních funkcí, takže je mnohem snazší animovat složité scény.

Herní fyzika

Fyzikální engine pro 2D a 3D byl vyvinut od nuly, což pomohlo dosáhnout požadované úrovně optimalizace fyzického subsystému. Implementovaný raycasting , detekce kolize , dynamika tuhého tělesa a souvislosti mezi nimi. K dispozici je také zakázková implementace ovladače kinematické postavy a 3D ovladače vozidla se zjednodušeným systémem odpružení .

Cílové platformy

Na konci vývoje lze projekt exportovat na různé cílové platformy, které lze rozdělit na PC, mobil, web a konzole. Pro různé platformy můžete nastavit různé parametry, například jak jsou data ukládána (a v případě potřeby chráněna), komprese textur, rozlišení a některá jedinečná nastavení, která jsou specifická pro konkrétní platformu (například rozlišení pro Android ).

Současná podpora platforem zahrnuje Windows (a UWP OS ), MacOS , X11 ( Linux , BSD ), Android OS , iOS , HTML5 . Je také možné exportovat na jiné platformy ručně kompilací enginu pro SDK cílové platformy. Godotovo použití několika externích knihoven tento proces usnadňuje.

Další vlastnosti

Historie

Programátoři Juan Linietsky a Ariel  Manzur začali s vývojem enginu v roce 2007 a po čase se již v některých společnostech používal jako uzavřený softwarový produkt. V únoru 2014 se vývojáři rozhodli udělat technologii open source a zveřejnili zdrojový kód enginu pod licencí MIT na GitHubu pod názvem Godot.  

15. prosince 2014 dosáhl motor verze 1.0, první stabilní verze nového produktu. Přidal další shadery, navimesh a lightmapping. [9]

4. listopadu 2015 se projekt Godot připojil k Software Freedom Conservancy. [deset]

23. února 2016 vyšla stabilní verze 2.0. Hlavní důraz při jeho vývoji byl kladen na výrazné zvýšení komfortu práce v motoru prostřednictvím pracovního prostředí. [jedenáct]

22. června 2016 byl Godot oceněn 20 000 $ od Mozilla Open Source Support (MOSS) „Mission Partners“ za přidání podpory pro WebSocket , WebAssembly a WebGL 2.0 do projektu. [12]

O názvu

Juan Lignetski na jedné z prezentací řekl, že jméno „Godot“ je přímým odkazem na hru Samuela BeckettaČekání na Godota “. Charakterizuje neutuchající touhu přidávat do motoru nové funkce, které budou jeho stav neustále přibližovat ideálnímu nástroji, ale tento proces nebude dokončen. [13]

Použití ve hrách

Některé z her vytvořených OKAM Studio

Některé hry vytvořené komunitou [14]

Poznámky

  1. https://godotengine.org/article/maintenance-release-godot-3-5-1
  2. 1 2 https://github.com/godotengine/godot
  3. Jaký je správný způsob, jak říct „Godot“? - Godotův motor - Otázky a odpovědi . godoengine.org. Získáno 21. 8. 2018. Archivováno z originálu 21. 8. 2018.
  4. Linietsky, Juan Godot 2.0: Talking with the Creator . 80.lv. _ Získáno 18. června 2016. Archivováno z originálu 13. června 2018.
  5. Systémy souborů . Godotova dokumentace . Godot. Datum přístupu: 29. ledna 2016. Archivováno z originálu 6. února 2016.
  6. Historie GDScript . Godotova dokumentace . Godot. Datum přístupu: 29. ledna 2016. Archivováno z originálu 6. února 2016.
  7. Godot Animační tutoriál . Godotova dokumentace . Datum přístupu: 29. ledna 2016. Archivováno z originálu 6. února 2016.
  8. Pluginy! . Získáno 20. srpna 2017. Archivováno z originálu 19. března 2017.
  9. Godot Engine dosahuje 1.0, vydává první stabilní verzi (15. prosince 2014). Datum přístupu: 16. prosince 2014. Archivováno z originálu 16. prosince 2014.
  10. Godot Game Engine je nejnovějším členem projektu Conservancy . Získáno 13. listopadu 2015. Archivováno z originálu 18. září 2019.
  11. Godot Engine dosáhl stabilní verze 2.0 . Získáno 20. srpna 2017. Archivováno z originálu 19. března 2017.
  12. Mozilla uděluje 385 000 $ projektům s otevřeným zdrojovým kódem v rámci programu MOSS „Mission Partners“ . Blog Mozilly . Získáno 17. října 2016. Archivováno z originálu 17. června 2020.
  13. Juan Linietsky prezentace Godota na RMLL 2015 ve francouzském Beauvais (nedostupný odkaz) (7. července 2015). Získáno 20. srpna 2017. Archivováno z originálu 5. října 2015. 
  14. Awesome Godot – kurátorský seznam bezplatných/libre her, pluginů, doplňků a skriptů pro Godota. . GitHub . Získáno 25. července 2015. Archivováno z originálu 31. ledna 2016.

Literatura

Knihy

Články

Odkazy