Godot (herní engine)

Godot Popis obrázku Godot 3.1 screenshot.png. Informace
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.

Funkce

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.

Vykreslování

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 renderer

Godotů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í:

3D vykreslování engine

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 .

Strom scény

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í .

Programovací jazyky

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:

  • Relativní snadnost učení tohoto nového jazyka,
  • Schopnost snadněji poskytovat lepší editor zdrojového kódu v uživatelském rozhraní Godot. GDScript ve skutečnosti umožňuje snadnější podporu dokončení a podporu vydání kódu během provozu hry ( živé úpravy ),
  • Další technické důvody, například jednodušší rozhraní mezi tímto jazykem a C ++, vhodnější správa uvolňování paměti , možnost nativního přidávání typů jazyků proměnných, jako jsou vektory a matice , nebo podpora vláken .
K dispozici jsou i další skriptovací jazyky

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é úrovni

C ++ 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.

Dovoz zdrojů

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:

  • BMP (.bmp), jsou podporovány pouze formáty 1,4,8,24,32 bitů na pixel (ale ne 16).
  • DirectDraw Surface  ( .dds), mimapy tohoto formátu se také načtou automaticky.
  • OpenEXR (.exr), ( vysoký dynamický rozsah ), doporučeno pro panoramatická obloha
  • Radiance HDR  (en) (.hdr), ( vysoký dynamický rozsah ), doporučeno pro panoramatická obloha
  • JPEG (.jpg, .jpeg), standard tohoto formátu, který nepodporuje průhlednost.
  • PNG (.png), přesnost omezena na 8 bitů na kanál, žádné obrázky HDR.
  • Truevision Targa ( .tga )
  • SVG (.svg), import přes nanoSVG, s omezeními na správu formátu. Doporučuje se použít převod PNG Inkscape , protože volání příkazového řádku Inkscape může převod automatizovat.
  • WebP (.webp)

Historie projektu

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.

Volba jména

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.

Podívejte se také

Reference

  1. „  https://godotengine.org/article/godot-3-3-has-arrived  “ (zpřístupněno 22. dubna 2021 )
  2. „  https://godotengine.org/article/dev-snapshot-godot-3-0-alpha-1  “ (přístup 22. září 2017 )
  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. „  funkcionalit Godota (oficiální místo)  “ (zobrazena 20. ledna 2017 )
  10. „  Godot: multiplatformní herní engine opensource  “, místo setkání pro milovníky technologie, videoher a programování ,18. února 2015( číst online , konzultováno 26. února 2017 )
  11. (en-US) „  Godot tým dodává Godot 3.0 | CG Channel  ” , na www.cgchannel.com (přístup 7. října 2018 )
  12. "  Godot 3.0 přinese realistické 3D vykreslovací a C # podporu Unity štamgasty  ", Developpez.com ,13. srpna 2017( číst online , konzultováno 7. října 2018 )
  13. „  Godot je k dispozici ve verzi 3.0, 2D a 3D multiplatformní herní engine dostane facelift a přináší mnoho vylepšení a nových funkcí  ,“ Developpez.com ,30. ledna 2018( číst online , konzultováno 7. února 2018 )
  14. „  Godot Engine Free Game Engine verze 2.0 Release - LinuxFr.org  “ , při linuxfr.org (přístup 26.února 2017 )
  15. (in) "  Scripting - 2,1 dokumentace Godot motoru  " na docs.godotengine.org (přístupný 28 února 2017 )
  16. (in) „  Často kladené otázky - dokumentace Godot Engine 2.1  “ na docs.godotengine.org (přístup 28. února 2017 )
  17. „  Úvod do motoru Godota, konference Juan Linietsky, 7. července 2015  “ , na RMLL - Web TV (přístup 28. února 2017 )
  18. „  Godot Motor je uvolněn ve verzi 3.0! - Vytvořit videohru  », Vytvořit videohru ,3. února 2018( číst online , konzultováno 6. února 2018 )
  19. Godot Engine , „  Godot Engine - Godot 3.0 je venku a je připraven na velké ligy,  “ na godotengine.org (přístup 6. února 2018 )
  20. (in) „  Funkce - Skript s plnou svobodou  “ (zpřístupněno 8. prosince 2019 )
  21. (en) „  Často kladené otázky  “ , na docs.godotengine.org
  22. (in) „  Custom in C ++ modules  “ na docs.godotengine.org (přístup dne 8. prosince 2019 )
  23. (in) „  Import obrázků  “ na docs.godotengine.org
  24. (en) „  SteamLUG Cast s04e05 - Waiting For VR  “ , na steamlug.org (přístup 4. března 2017 )
  25. 80.lv , „  Godot 2.0: Mluvení se Stvořitelem  “ na 80.lv (zpřístupněno 30. června 2018 )
  26. https://godotengine.org/article/retrospective-and-future
  27. „  Oznámení o přechodu z Godotu na licenci MIT na webu developpez.com  “ (zpřístupněno 26. února 2017 )
  28. Godot Engine , „  Godot Engine - první veřejné vydání!  » , Na godotengine.org (přístup 4. března 2017 )
  29. „  Information - All information  “ , na store.steampowered.com (přístup 4. března 2017 )
  30. (en-US) „  Mozilla Awards 385 000 $ projektům s otevřeným zdrojovým kódem jako součást programu„ Mission Partners “MOSS - Blog Mozilla  “ , na blogu Mozilla (přístup k 30. červnu 2018 )
  31. (in) „  V polovině cesty! Děkujeme za vaši neuvěřitelnou podporu! | Juan Linietsky & Godot Přispěvatelé na Patreonu  » , Patreon ,13. srpna 2017( číst online , konzultováno 30. června 2018 )
  32. 3DVF , „  Godot 3.0 Game Engine Reveals and Launches Fundraising Campaign - 3DVF.com,  “ na adrese www.3dvf.com (přístup 30. června 2018 )
  33. (in) „  Juan Linietsky & Godot Contributors are creating Godot Engine | Patreon  ” , Patreon ,22. listopadu 2017( číst online , konzultováno 30. června 2018 )
  34. Godot Engine , „  Godot Engine - historie Godota v obrazech!  » , Na godotengine.org (přístup 3. března 2017 )