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.
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]
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.
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.
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í .
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.
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]
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]
Některé z her vytvořených OKAM Studio
Některé hry vytvořené komunitou [14]
![]() | |
---|---|
Foto, video a zvuk | |
Tematické stránky |
Herní motory | |||||||
---|---|---|---|---|---|---|---|
Grafický | Volný, uvolnit GLScene Horde3D Irrlicht OGRE OpenSceneGraph Proprietární Outerra | ||||||
Fyzický | Volný, uvolnit Box2D Kulka Chipmunk newton ÓDA. Tokamak Proprietární DMM Havok fyzika PhysX | ||||||
obecný účel |
| ||||||
Specializované |
| ||||||
Seznam herních enginů |