Godot (mängumootor)

Godot on tasuta ja avatud lähtekoodiga mängumootor, mida kasutatakse 2D- ja 3D-mängude arendamiseks. Ilves, Viljam. Biome Hazard Creation for Blastronaut Game. Bakalaureusetöö. Tartu Ülikool, 2024. Godot's on visuaalne arenduskeskkond, kus saab mängu objekte väikese vaevaga muuta. Mängumootor võimaldab arendajatel luua mänge paljudele platvormidele, sealhulgas Windows, macOS, Linux, Android, iOS ja veebibrauserid. Godot' arendamist alustas Juan Linietsky koos Ariel Manzuriga"Historia de Godot". Headsem. 15 September 2017. Available at: https://www.headsem.com/godot-engine-el-motor-de-videojuegos-open-source-mas-completo/  ning seda tutvustati 2014. aastal.Linietsky, Juan (4 March 2016). "Godot 2.0: Talking with the Creator". 80.lv. Retrieved 18 June 2016. Available at: http://80.lv/articles/godot2-interview/ 

 Omadused 
 Stseenipõhine arhitektuur 
Godot kasutab stseenipõhist arhitektuuri, kus iga projekt koosneb stseenidest. Stseenide eeliseks on nende omadus olla kergesti taaskasutatav. Stseenid koosnevad tippudest. Igal tipul on oma kindel tüüp ja funktsioon. Kokku moodustab stseen tippudest hierarhilise struktuuri "The 5 Best Game Engines for Beginners in Video Game Development". MUO. 5 February 2022. Retrieved 19 May Available at: 2023.https://www.makeuseof.com/best-free-game-engine-for-beginners/ . Lisaks on võimalik tippudele lisada skripte, et laiendata antud tipu funktsionaalsust. 
pisi|Godot 3.4 liides

 Skriptid ja programmeerimiskeeled 
Godot toetab selliseid programmeerimiskeeli nagu C++ "Godot with C++". 7 July 2020. Retrieved 17 June 2021. Available at: https://gamefromscratch.com/godot-with-c/ 
, C# ja GDScript Hill, Paul (19 May 2023). "Godot Engine arrives on Epic Games Store making it easier to download". Neowin. Retrieved 19 May 2023. Available at: https://www.neowin.net/news/godot-engine-arrives-on-epic-games-store-making-it-easier-to-download/ , mis on Godot' enda programmeerimiskeel. Kogukonna tugi on ka keeltele Rust, Nim, Haskell, Clojure, Swift ja D  "Godot languages support". GitHub. Retrieved 17 June 2021. Available at: https://github.com/Vivraan/godot-lang-support . Algselt oli ka visuaalne programmeerimine toetatud Godot' sisseehitatud keelega VisualScript, kuid selle toetamine lõpetati Godot' versiooniga 4.0 ja nüüd on võimalik visuaalselt programmeerida ainult läbi avatud lähtekoodiga kolmanda osapoole keele Orchestrator. "Godot 4.0 will discontinue VisualScript". Godot Engine. Retrieved 8 September 2022. Available at: https://godotengine.org/article/godot-4-will-discontinue-visual-scripting  

 GDScript 
pisi|Kuvatõmmis GDScripti faili muutmisest sisseehitatud koodiredaktoris Godot' versioonis 3.4
Godot'l on oma sisseehitatud programmeerimiskeel GDScript. "GDScript basics: History". Getting started. Godot Docs. Retrieved 20 July 2019. Available at: https://docs.godotengine.org/en/latest/getting_started/scripting/gdscript/index.html  GDScript on kõrgetasemeline programmeerimiskeel, mille süntaks sarnaneb Pythoni omaga. Erinevalt Pythonist on GDScript optimeeritud Godot' stseenipõhise arhitektuuri jaoks ning võimaldab määrata muutujatele rangeid tüüpe. Godot' arendajad väidavad, et enne GDScripti loomist testiti paljusid kolmanda osapoole programmeerimiskeeli nagu Lua, Python ja Squirrel, kuid jõuti järeldusele, et mängumootori jaoks kohandatud ja optimeeritud keel annab parema tulemuse."What were the motivations behind creating GDScript?". Godot Engine 4.3 documentation. Retrieved 14 January 2025. Available at: https://docs.godotengine.org/en/stable/about/faq.html#doc-faq-what-is-gdscript 

GDScript on pidevalt arenev keel ning iga Godot' uue versiooniga on keelde tehtud muudatusi ja täiendusi. Godot 2 versioonis lisati tüübitud massiivid "TypedArrays". Retrieved 4 June 2021. Available at: https://godotengine.org/article/gdscript-progress-report-feature-complete-40  , mis võimaldavad kasutajatel kergesti muuta tavalist massiivi tüübitud massiiviks ja vastupidi ilma, et oleks vaja palju koodi muuta . Hilisemas 4.0 versiooni uuenduses lisati ka tüübitud sõnastikud, mis võimaldavad kasutajatel deklareerida tüübitud võtmeväärtuse paarid, suurendades veelgi skriptide tüübi turvalisust."TypedDictionaries". Retrieved 7 October 2024. Available at: https://godotengine.org/article/dev-snapshot-godot-4-4-dev-2/  Staatilised tüübid võimaldavad C++ back-endil optimeerimisi täide viia, mis tähendavad oluliselt suurenenud jõudlust; on täheldatud, et staatiliselt tüübitav GDScript töötab üle 40% kiiremini."Optimizations for GDScript VM". GitHub. 2 January 2023. Retrieved 7 October 2024. Available at: https://github.com/godotengine/godot/pull/70838 "Yes, your Godot game runs faster with static types". 14 February 2024. Retrieved 7 October 2024. Available at: https://www.beep.blog/2024-02-14-gdscript-typing/ 

 2D- ja 3D-mängude arendamine 
Godot'l on eraldi 2D- ja 3D-mängumootorid. 2D-mängude arendamisel kasutatav 2D-mängumootor saab töötada iseseisvalt, ilma toetumata 3D-mängumootorile. Mõlemad mängumootorid saavad ka samaaegselt töötada, et luua mängudes kompleksseid segusid 2D-st ja 3D-st. Põhjus 2D mängumootori plussideks on 3D-mootoritele omaste keerukuste vältimine, mille tulemuseks on parem jõudlus. 3D-mängude arendamisel kasutab Godot graafika tehnoloogiad nagu OpenGL ES ja Vulkan.

 Ajalugu 
 Kinnise lähtekoodi ajastu (2001–2014) 
1999. aastal asutasid Juan Linietsky ja Ariel Manzur mänguarenduse konsultatsioonifirma CodeNix. 2001. aastal alustasid asutajad tööd mängumootori kallal, mis sellel ajal kandis koondnime ”Larvotor”, mis oli litsentsitud Argentina kolmanda osapoole ettevõtetele."Codenix | Game Development & Technology Consulting". Codenix. 25 June 2014. Archived from the original on 25 June 2014. Retrieved 31 July 2023. Available at: https://web.archive.org/web/20140625091420/http://www.codenix.com/  Linietsky, Juan [@reduzio] (20 May 2018). "Codenix was the company Ariel Manzur and I created. Engines such as Unity were not mainstream, so we licensed Godot to third party companies in Argentina" (Tweet). Retrieved 31 July 2023 – via Twitter. Available at: https://x.com/reduzio/status/998185981101658113 Wolf, Mark J. P., ed. (2015). Video Games Around the World. Cambridge, Massachusetts; London, England: The MIT Press. doi:10.7551/mitpress/9780262527163.001.0001. ISBN 9780262328487. Retrieved 10 September 2023. Available at: https://direct.mit.edu/books/book/3088/Video-Games-Around-the-World  reduz. "Godot history in images!". Retrieved 18 June 2016. Available at: http://godotengine.org/article/godot-history-images  Järgmise kümne aasta jooksul jõudis mängumootor kanda palju nimesid: Legacy, NG3D, Larvita ja lõpuks Godot. Nimi Godot viitab Samuel Becketti näidendile “Godot'd oodates”. Nimi tähistab lõpmatut soovi lisada mängumootorisse uusi funktsioone, et lihvida toode kõikehõlmavalt täiuslikuks, ehkki tegelikult ei saa toode kunagi kõikehõlmavaks. "Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France". 7 July 2015. 46 minutes in. Available at: http://video.rmll.info/videos/introduction-au-moteur-godot/  Kinnise lähtekoodi ajastul töötati ka paljude muude mängustuudiotega, seal juures ka Square Enixiga.

 Tasuta ja avatud lähtekoodi ajastu (2014 – tänapäev) 
2014. aastal plaanis Linietsky Argentinast ära kolida ja avaldas Godot' lähtekoodi GitHubis MIT litsentsi all."The MIT License”. Open source initiative. Retrieved 14 January 2025. Available at: https://opensource.org/license/mit  2015. aastal liitus Godot Software Freedom Conservancyga (SFC).  liamdawe (14 February 2014). "Godot Game Engine Is Now Open Source". Available at: https://www.gamingonlinux.com/2014/02/godot-game-engine-is-now-open-source/  2016. aastal sai Godot 20 000 USA dollari suuruse Mozilla avatud lähtekoodi ”Mission Partners” auhinna, mida kasutati Godot'le WebSockets, WebAssembly ja Web GL 2.0 toe lisamiseks.  "Godot Game Engine is Conservancy's Newest Member Project". Retrieved 13 November 2015. Available at: https://sfconservancy.org/news/2015/nov/04/godot-joins/  

Godot 3.0 värskendus hõlmas paljude kasutajate soovitud funktsioonide lisamist, mis nõudsid suurt mängumootori ümbertegemist. See oli kinnise lähtekoodiga ajastul äriliste piirangute tõttu võimatu. 2017. aastal sai Godot Microsoftilt 24 000 dollari suuruse annetuse, et rakendada Godot's C# skriptimiskeelena. "Mozilla Awards $385,000 to Open Source Projects as part of MOSS "Mission Partners" Program". The Mozilla Blog. Retrieved 17 October 2016. Available at: https://blog.mozilla.org/blog/2016/06/22/mozilla-awards-385000-to-open-source-projects-as-part-of-moss-mission-partners-program/  Pärast seda avati Patreon, mis võimaldas Linietskyl ja Verscheldel täiskohaga projekti kallal töötada elatudes inimeste annetustest. 2018. aastal anti välja Godot 3.0 versioon. 

2019. aastal moodustati kaks meeskonda. Linietsky meeskond keskendus Vulkani harule (hiljem avaldati haru Godot 4.0 versioonina) ja Verschelde meeskond keskendus 3.x versioonide edasiste uuendustega. Linietsky sõnul oli probleemiks see, et 3.x haru ehitati üles vanemate arhitektuuri põhimõtetel, näiteks ühetuumalised protsessorid. 4.0 versiooni mõte oli põhiarhitektuur ümber töötada kasutades kaasaegseid võtteid ja arhitektuuri.  "Godot Engine - Introducing C# in Godot". Godot Engine. Retrieved 7 March 2020. Available at: https://godotengine.org/article/introducing-csharp-godot  2020. aastal sai Godot 250 000 dollari suuruse Epic Gamesi auhinna, mida kasutati kahe aasta jooksul Linietskyle ja George Marquesile palga maksmiseks, vabastades see läbi annetusraha muudeks otstarveteks  "2022: A Retrospective". Godot Engine. Available at: https://godotengine.org/article/2022-retrospective/  Crecente, Brian (18 March 2023). "Godot Engine now available on Epic Games Store". Epic Games Store. Retrieved 9 September 2023 Available at: https://store.epicgames.com/en-US/news/godot-engine-now-available-on-epic-games-store . Godot sai samal ja ka järgmisel aastal toetusi ka Meta Platformsi Reality Labilt. Linietsky, Juan (8 June 2020). "Godot Engine - Donation changes". Godot Engine. Retrieved 25 September 2020. Available at: https://godotengine.org/article/donation-changes "Godot Engine - Godot Engine receiving support funded by Facebook Reality Labs". Godot Engine. 11 December 2020. Available at: https://godotengine.org/article/godot-engine-receiving-support-funded-facebook-reality-labs "Godot Engine - Godot Engine receiving a new grant from Meta's Reality Labs". Godot Engine. 22 December 2021. Available at: https://godotengine.org/article/godot-engine-receiving-new-grant-meta-reality-labs  
2022 aasta alguses ilmus Godot 4.0 haru alfaversioon "Godot Engine received a fresh grant from Facebook / Meta for XR work". GamingOnLinux. 22 December 2021. Retrieved 15 July 2022. Available at: https://godotengine.org/article/godot-engine-receiving-new-grant-meta-reality-labs . Sama aasta augustis asutasid Linietsky ja mitmed teised Godot' meeskonna liikmed W4 Gamesi, et pakkuda mootoril põhinevaid kommertsteenuseid, sealhulgas konsooli porte, mida ei saa avatud lähtekoodiga koodibaasi lisada Dawe, Liam (9 August 2022). "W4 Games formed to help developers using Godot Engine". GamingOnLinux. Retrieved 8 September 2023. Available at:  https://www.gamingonlinux.com/2022/08/w4-games-formed-to-help-developers-using-godot-engine/  Sawers, Paul (19 August 2022). "How W4 plans to monetize the Godot game engine using Red Hat's open source playbook". Techcrunch.com. Retrieved 7 September 2023. Put simply, Godot can't be a community-driven open source project and support consoles at the same time. But there are ways around this, which is why W4 hopes to make money by offering a porting service to help developers convert their existing games into a console-compatible format. Available at:  https://techcrunch.com/2022/08/19/how-w4-plans-to-commercialize-the-godot-game-engine-by-following-red-hats-playbook/ . Novembris teatas Godot kavatsusest minna üle SFC-lt oma loodud Godot Foundationile "Announcing Godot's Graduation from SFC!". Software Freedom Conservancy. 1 November 2022. Available at: https://sfconservancy.org/news/2022/nov/01/godot-graduates/  "Godot's Graduation: Godot moves to a new Foundation". Godot Engine. 1 November 2022. Available at: https://godotengine.org/article/godots-graduation-godot-moves-to-a-new-foundation Dawe, Liam (2 November 2022). "Godot Engine now has its own dedicated Foundation for funding". Retrieved 9 September 2023. Available at: https://www.gamingonlinux.com/2022/11/godot-engine-now-has-its-own-dedicated-foundation-for-funding/  Larabel, Michael. "The Godot Game Engine Now Has Its Own Foundation". Retrieved 9 September 2023. Available at: https://www.phoronix.com/news/Godot-Foundation .

2023. aastal avaldati Godot 4.0 versioon. Samal aastal ilmus Godot' mängumootor ka Epic Gamesi ja Steami virtuaalsesse poodidesse.  "Godot Arrives in the Epic Games Store". Godot Engine. 17 March 2023. Available at: https://godotengine.org/article/godot-arrives-in-the-epic-games-store/  Kuigi muidu on Steami ja Epic Gamesi versioon tavaversiooniga identne, siis veebipoe versioonidel puudub .Net/C# tugi "Download Godot". Godot Engine. 14 January 2025.  Available at: https://godotengine.org/download/linux/#:~:text=Digital%20store%20versions%20do%20not%20include%20.NET/C%23%20support. . Sama aasta septembris teatas Unity Technologies enda mängumootori litsentsi muudatustest, "käitusaja tasude" lisamisest, mis võtavad kasutajatelt Unity mängude installimise eest tasu. Selle tulemusena annetas Re-Logic Godot'le 100 000 dollarit ja teatas, et toetab edaspidi Godot' 1000-dollariste annetustega igakuiselt, et toetada avatud lähtekoodiga mängumootorite arendust  "Terraria developer Re-Logic is giving $100,000 to two open-source game engines amid Unity debacle". Engadget. 20 September 2023. Available at: https://www.engadget.com/terraria-developer-re-logic-is-giving-100000-to-two-open-source-game-engines-amid-unity-debacle-054307544.html . 

 Godot' relevantsus 
Godot on üha populaarsem valik indie-mänguarendajatele. Ka Eestis on tehtud mitmeid mänge Godot' mängumootoriga. Populaarsemad neist on Blastronauts Lepik, Marek. Sihtleht mängule Blastronaut. Bakalaureusetöö. Tartu Ülikool, 2024. ja Buckshot Roulette. Levine, Gloria (30 May 2024). "Buckshot Roulette Developer on Making Games Solo, Feedback & Success". 80 Level. Archived from the original on 13 December 2024. Retrieved 7 December 2024. Available at: https://80.lv/articles/buckshot-roulette-developer-on-making-the-game-solo-feedback-success/  

 Kogukond 
Godot'l on aktiivne kogukond, kes panustab mängumootori arendamisse ning jagab teadmisi ja ressursse. Lisaks ametlikule dokumentatsioonile ja õppematerjalidele on olemas foorumid, Discordi serverid ja mitmesugused õppevideod YouTube'is. Kogukond pakub olulist tuge, aidates uutel kasutajatel mängumootoriga kiiresti tuttavaks saada. Kogukond tegeleb ka mängumootorile laienduste tegemisega nagu Lainefunktsiooni kokkulangemise laiendusMännil, Markus. Lainefunktsiooni kokkulangemise algoritmi laiendus mängumootorile Godot. Bakalaureusetöö. Tartu Ülikool, 2024.  jm.

 Viited 

Kategooria:Videomängud
Kategooria:Tarkvaraarendus