Tvůrce | Juan Linietsky ( d ) a Ariel Manzur ( d ) |
---|---|
První verze | 2007 |
Poslední verze | 3,3 (21. dubna 2021) |
Pokročilá verze |
3.0-alfa1 (26. července 2017) 3.0-beta 1 (30. listopadu 2017) 3.0-rc1 (14. ledna 2018) 3,1 alfa 1 (31. srpna 2018) 3.1 alfa 2 (2. listopadu 2018) 3.2-beta 4 (18. prosince 2019) 3.2.3 beta 1 (15. července 2020) |
Vklad | github.com/godotengine/godot |
Zajištění kvality | Kontinuální integrace |
Stav projektu | Aktivní vývoj |
Napsáno | C a C ++ |
Jazyky podpory | GDScript ( d ) , C ++ , C # , Python , Nim a D. |
Operační systém | GNU / Linux , macOS , Microsoft Windows , BSD ( d ) , iOS , Android , univerzální platforma Windows , HTML5 , WebAssembly , Xbox a Windows Phone |
životní prostředí |
Tvorba: Windows , MacOS , Linux , FreeBSD , OpenBSD , Haiku Nasazení: Windows , MacOS , Linux , BSD , Haiku , iOS , Android , BlackBerry , HTML5 |
Číst formáty | Windows bitmapa , DirectDraw Surface ( en ) , OpenEXR , formát obrazu RGBE ( en ) , JPEG File Interchange Format , Portable Network Graphics , Truevision Targa , SVG , WebP , Waveform Audio File Format , Vorbis , glTF , FBX , DAE a .OBJ |
Jazyky | Vícejazyčné (částečná francouzská podpora) |
Typ | Herní engine |
Distribuční politika | Zdarma (dar) |
Licence | Licence MIT |
Dokumentace | docs.godotengine.org |
webová stránka | godotengine.org |
Godot je multiplatformní herní engine , tedy software pro vytváření videoher, který je kompatibilní s různými operačními systémy . Zahrnuje mimo jiné 2D engine , 3D engine , fyzikální engine , správce animací a skriptovací jazyky pro programování chování. Byl od té dobyLeden 2014přístupné veřejnosti a dostupné pod licencí MIT , která z něj činí svobodný software . Kromě mnoha dobrovolných přispěvatelů, kteří se projektu účastní, pracuje na plný úvazek několik vývojářů placených měsíčními dary.
Jako nástroj pro vytváření videoher Godot pokrývá mnoho aspektů jejich tvorby. Uživatel Godot má možnost importovat obsah (obrázky, zvuk, 3D modely ), vytvářet animace, programovat chování různých prvků hry pomocí skriptovacího jazyka, předávat objekty fyzice ( síly , kolize), umístit světelné zdroje, vytvořit úroveň tvořenou dlaždicemi v editoru atd.
Godot má jak vyhrazený 3D renderer, tak 2D renderer. Tento přístup se liší od některých jiných herních enginů, jako je Unity , které stejně manipulují s 3D scénou a k vykreslení vizualizace podobné 2D používají ortogonální kameru .
2D rendererGodotův 2D vykreslovací modul používá pixel jako jednotku vzdálenosti, i když to znamená použít zvětšení k získání požadovaných rozměrů obrazu na obrazovce. Je schopen spravovat vykreslování:
Od verze 3.0 Godota používá 3D vykreslovací modul techniku realistického fyzického vykreslování . Funkce obousměrné odrazivosti zvolená pro výpočty světla respektuje všechny principy definované animačními studia Disney . Vykreslování virtuálních objektů je pak založeno na parametrizaci materiálů, které jej tvoří. Zohledňuje jejich albedo , drsnost , kovový charakter, okluzi okolí , anizotropii , transluminiscenci , hranové efekty a lom světla .
Godot spravuje platformy podporující knihovny OpenGL a OpenGL ES a je v procesu integrace Vulkanu, který by měl být k dispozici ve stabilní verzi v roce 2020 .
Obsah hry navržené na Godotu je organizován ve formě stromu scén . Scéna v Godotu označuje skupinu uzlů uspořádaných do stromu , kde mohou být uzly skřítci , tvary sloužící jako kolizní masky , světelné zdroje, zvukové zdroje, fyzické objekty, správci animací nebo jiné věci. Můžeme například vytvořit scénu „ postavy “ složenou ze sprite, fyzického objektu a tvaru kolize.
Je také možné znovu použít předem vytvořenou scénu jako uzel jiné scény. Tento systém poté umožňuje vnořit scény do sebe. Je tedy možné zkonstruovat hlavní „ úroveň “ scény, která obsahuje několik „ charakterových “ scén, jak je popsáno v předchozím příkladu, mimo jiné uzly.
Každá scéna je uložena jako textový soubor pro snadné vytváření verzí .
Godot umožňuje připojit skript k jakémukoli uzlu přítomnému ve stromu scény, aby bylo možné naprogramovat chování tohoto uzlu. K tomu jsou k dispozici různé programovací jazyky .
GDScript, Godotův skriptovací jazyk„GDScript“ skriptovací jazyk je jazyk určený speciálně pro práci s Godota. Jeho syntaxe je podobná syntaxi Pythonu . Bylo zmíněno několik důvodů, které ospravedlnily volbu vytvořit nový jazyk, namísto použití Lua , Python , Squirrel nebo Javascript s jejich tlumočníky . Jsou to tyto důvody:
Od verze 3.0 je možné psát skripty v C # , a to buď pomocí editoru Mono, nebo prostřednictvím jiného vývojového prostředí než Godot. Obec spravuje podporu dalších skriptovacích jazyků jako je Python , Rust , Nim nebo D .
K dispozici je také vizuální programovací rozhraní; je založen na grafickém jazyce specifickém pro Godota, který se nazývá VisualScript. To je zamýšleno pro snadnější přístup pro vývojáře než pro tradiční programování pomocí kódu.
Programování na nízké úrovniC ++ se mohou použít navíc k nebo namísto skriptovacích jazyků, s použitím stejného API C ++, která byla použita podle Godot editor. Vývojář má tedy možnost nahradit třídu GDScript třídou C ++, aniž by to ovlivnilo zbytek hry, což mu umožňuje podle potřeby optimalizovat některé její části. Je možné jít tak daleko, že vyvíjíme hru zcela v C ++, ale tento postup, považovaný za ztrátu času, vývojáři nedoporučují. C ++ lze také použít k vytvoření nových modulů pro Godot, aby bylo možné přidat nové funkce bez dotyku motoru.
Tyto soubory obrazu, zvuku či onak, vytvořil samostatnou software a používané ve hře se nazývají zdroje. Godot je schopen importovat mnoho typů souborů.
Podporované formáty obrázků jsou:
Juan Linietsky a Ariel Manzur začali vyvíjet herní engine od roku 2001 kvůli nedostatku univerzálních herních engine v té době (mnoho z nich se například používalo pouze k navrhování stříleček z pohledu první osoby ) a protože si mysleli, že je to důležité pro aby argentinský průmysl videoher získal zkušenosti s herními enginy. V roce 2007 však tento engine zpochybnily některé designové zvláštnosti, které se objevily u některých strojů, jako je iPhone nebo PlayStation3 . Opravdu různá správa paměti a vícejádrové mikroprocesory vyžadovaly zásadní změny ve způsobu vývoje her. Proto byli povinni oddělit se od architektury motoru, kterou měli tehdy, a začít znovu na jiné základně.
Jejich novým herním enginem se stane Godot. Měli myšlenku uvolnit to hned od začátku, ale raději si nechali nemovitost a před jejím zveřejněním počkali, až projekt dosáhne určité zralosti. V té době byli Juan a Ariel konzultanti v oblasti videoher a nabízeli Godot jako nástroj svým klientům v různých studiích. Pět až šest let poté, co byl spuštěn tento nový herní engine, se rozhodli vstoupit do studia Okam, aby při vytváření her mohli těžit ze spolupráce s dalšími profesemi videoher. To jim umožnilo soustředit se na přípravu enginu, zatímco zbytek týmu navrhoval hry, které jej používaly.
The 14. ledna 2014„Godot se účinně stal svobodným softwarem zveřejněním jeho první verze na základě oficiálních webových stránek enginu pod licencí MIT (byla to beta verze ). Tato změna licence spolu se zveřejněním kódu enginu na Githubu umožnila dalším dobrovolným přispěvatelům podílet se na vývoji enginu. Ale brzy poté musel Juan Linietsky opustit studio Okam, protože politická a ekonomická nestabilita v Argentině ztěžovala jeho fungování navzdory jeho povzbudivému začátku. Navzdory tomu ve svém volném čase pokračoval v práci na Godotu, opravoval chyby a reagoval na zpětnou vazbu uživatelů (z nichž mnozí si stěžovali na špatnou použitelnost softwaru).
Juan Linietsky naznačuje, že s vydáním verze 2.0 v únoru 2016 začali uživatelé být spokojeni s 2D částí herního enginu. Godot byl navíc v tomto okamžiku uveden na Steam (24. února 2016), což podle Ariela Manzura dalo projektu obrovskou důvěryhodnost.
Projekt má několik zdrojů financování. The22. června 2016, Mozilla oznamuje 20 000 $ na projekt Godot, aby herní engine splňoval při exportu her do HTML5 webové standardy WebSocket , WebAssembly a WebGL.. The10. srpna 2017Godot zahajuje kampaň crowdfunding na webu patreon . Tato kampaň si klade za cíl shromáždit měsíční dary, aby na jedné straně představovala plat určený určitým klíčovým přispěvatelům, aby mohli na projektu pracovat na plný úvazek (už ne jen ve svém volném čase), a na druhé straně uhradit náklady na události týkající se Godota. vlistopadu 2017, Juan Linietsky, Thomas Herzog a Rémi Verschelde jsou placeni, aby přispívali do Godota.
Název „Godot“ byl vybrán v souvislosti s hrou Čekání na Godota od Samuela Becketta .
Herní engine nebyl vždy nazýván „Godot“. Než však bylo definitivně použito, tento název se již během interního vývoje používal jako kódové označení. Poukazovalo to na to, čím by se tento projekt mohl stát, konkrétně na obecnější herní engine, který by sestával spíše ze slušného uživatelského rozhraní než ze sady vzájemně kompatibilních nástrojů. Takový projekt by vyžadoval spoustu času, než se uskuteční, pokud uspěje, proto odkaz na Waiting for Godot , jehož očekávání a nejistota jsou oblíbenými tématy.
Juan Linietsky a posteriori odůvodňuje volbu oficiálního zachování tohoto jména. Postavy hry skutečně neustále čekají na jednotlivce jménem Godot, aniž by někdo věděl, jestli jednoho dne skutečně přijde. Juan srovnává tyto postavy s uživateli Godotu, kteří neustále hledají nové funkce motoru.