Godot

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. oktober 2022; verifikation kræver 1 redigering .
Godot motor
Type Spil motor
Forfatter Juan Liniecki [d] og Ariel Manzur [d]
Udvikler Udvikler medforfatterskab
Skrevet i C++ [2] og C [2]
Operativ system GNU/Linux , macOS , Microsoft Windows , BSD , iOS , Android , Universal Windows Platform , HTML5 , WebAssembly , Xbox og Windows Phone
Første udgave 14. januar 2014
nyeste version
beta version 4.0 beta 3 (14. oktober 2022)
Læsbare filformater BMP , DirectDraw Surface , OpenEXR , RGBE billedformat [d] , JPEG [d] , PNG , Truevision TGA , SVG , WebP , WAV , Vorbis , glTF [d] , FBX , COLLADA og Obj filudvekslingsformat
Stat Aktiv
Licens MIT-licens
Internet side godoengine.org
 Mediefiler på Wikimedia Commons

Godot Engine ( fr.  gó-doh [3] ) er en open source 2D- og 3D -spilmotor på tværs af platforme under MIT-licensen , som er udviklet af Godot Engine Community. Inden den blev offentliggjort som open source , blev motoren brugt internt af nogle virksomheder i Latinamerika . [4] Udviklingsmiljøet kører på Linux , macOS , Windows , BSD og Haiku , og kan eksportere spilprojekter til pc , konsol , mobil og webplatforme .

Oversigt

Godots mål er at være det mest integrerede og selvstændige miljø til spiludvikling . Miljøet giver udviklere mulighed for at skabe spil fra bunden uden at bruge andre værktøjer, bortset fra dem, der er nødvendige for at skabe spilindhold (grafik, musiknumre osv.). Programmeringsprocessen kræver heller ikke eksterne værktøjer (selvom hvis du skal bruge en ekstern editor, kan dette gøres relativt nemt).

Motorens overordnede arkitektur er bygget op omkring konceptet med et træ af nedarvede "scener". Hvert element i scenen ( node ) kan til enhver tid selv blive en fuldgyldig scene. Derfor kan du under udviklingen nemt ændre hele projektets arkitektur, udvide dets elementer i enhver retning og arbejde med komplekse scener på niveau med simple abstraktioner.

Alle spilressourcer, fra scripts til grafiske aktiver og spilscener, gemmes i projektmappen som almindelige filer og er ikke en del af projektets komplekse database. Ressourcer, der ikke er komplekse data, gemmes i almindelige tekstformater (f.eks. scripts og scener i modsætning til modeller og teksturer). Disse løsninger gør det meget nemmere for forskellige udviklingsteams at arbejde med versionskontrolsystemer . [5]

Scripting

Spillet er skabt ved hjælp af sit eget dynamiske script-programmeringssprog på højt niveau kaldet GDScript , hvis syntaks minder vagt om Python-sproget . Forskellen fra Python er først og fremmest den obligatoriske definition af omfanget af en variabel gennem nøgleordet var og optimering af sproget til behovene i scenesystemet og motorknuderne. Det er muligt at bruge scripting i C++/D/Rust og andre sprog gennem GDNative-systemet. Der er også en version af Godot med C# sprogunderstøttelse (Godot Engine Mono Version), men i øjeblikket er den stadig ved at blive færdiggjort og ustabil. Godot-udviklerne har udtalt, at de forsøgte at integrere flere eksterne scriptsprog (nemlig Lua , Python og Squirrel ), før de besluttede at bruge deres eget scriptsprog. Og kun dette gjorde det muligt at opnå det nødvendige niveau af optimering af motoren og integration i udviklingsmiljøet. [6]

Godot har både sin egen integrerede script-editor med kodefuldførelse, auto-indentering, syntaksfremhævning , hurtig adgang til den fulde motor- API og nogle andre funktioner, samt muligheden for at åbne script-kildekode, redigere og fejlsøge den i tredjepart IDE'er og kodeeditorer. Systemet har også en fleksibel debugger , en profiler, en brugt videohukommelsesmonitor og en ekstern sceneeditor til at styre elementer i realtid.

Fra version 3.0 understøttes også visuel programmering i Visual Scripting.

Gengivelse

Grafiksystemet til alle understøttede platforme er baseret på OpenGL ES 3.0. Gengivelse inkluderer teknologier, ordreuafhængig gennemsigtighed, normal kortlægning , spekularitet, fuldskærmsposteffekter som FXAA , bloom , DOF , HDR , gammakorrektion , afstandståge, dynamiske skygger baseret på skyggekort og andre.

For at oprette shaders bruges et forenklet shader-sprog, som er en tæt undergruppe af GLSL -sproget . Shaderen kan derefter bruges i en materiale, skærmeffekt til 2d-gengivelse. Shaderen er opdelt i top- og fragmentsektioner. Det er også muligt fuldt ud at oprette shaders i den visuelle editor.

Godot har en separat 2D -grafikmotor, der kan bruges uafhængigt af 3D . Eksempler på 2D-funktioner er GUI (Godot-arbejdsbordet er det bedste eksempel på GUI-funktioner), sprites , flisegrafik (firkantet, isometrisk og native format), parallakserulning, 2D-belysning og skygger (punkttype), partikelsystem og nogle andre funktioner. Udvikleren kan nemt kombinere og blande 2D og 3D i begge retninger (ved hjælp af Viewport Node).

Udviklermiljøet har et indbygget animationssystem og kontroller til at arbejde med skeletanimation , formanimation og klippescener. Og takket være det node-baserede design af motoren, gennem animationseditoren, kan du generelt animere enhver parameter, der måtte være til stede i spillet. [7] Det er også muligt at foretage opkald til enhver af dine egne funktioner fra en animationssportast, hvilket gør det meget nemmere at animere komplekse scener.

Spilfysik

Fysikmotoren til 2D og 3D blev udviklet fra bunden, hvilket var med til at opnå det nødvendige niveau af optimering af det fysiske delsystem. Implementeret raycasting , kollisionsdetektion , stiv kropsdynamik og forbindelser mellem dem. Der er også en brugerdefineret implementering af en kinematisk karaktercontroller og en 3D-køretøjscontroller med et forenklet affjedringssystem .

Målplatforme

I slutningen af ​​udviklingen kan projektet eksporteres til forskellige målplatforme, som kan opdeles i pc, mobil, web og konsoller. Du kan indstille forskellige parametre for forskellige platforme, såsom hvordan data gemmes (og beskyttes om nødvendigt), teksturkomprimering, opløsning og nogle unikke indstillinger, der er specifikke for en bestemt platform (f.eks. opløsninger til Android ).

Nuværende platformsunderstøttelse inkluderer Windows (og UWP OS ), MacOS , X11 ( Linux , BSD ), Android OS , iOS , HTML5 . Det er også muligt at eksportere til andre platforme manuelt ved at kompilere motoren til målplatformens SDK . Godots brug af nogle få eksterne biblioteker gør denne proces lettere.

Andre funktioner

Historie

Programmørerne Juan Linietsky og Ariel  Manzur startede udviklingen af ​​motoren i 2007, og efter et stykke tid blev den allerede brugt som et lukket softwareprodukt i nogle virksomheder. I februar 2014 besluttede udviklerne at gøre teknologien til åben kildekode og postede motorens kildekode under MIT-licensenGitHub under navnet Godot.  

Den 15. december 2014 nåede motoren version 1.0, den første stabile version af det nye produkt. Det tilføjede yderligere shaders, navimesh og lightmapping. [9]

Den 4. november 2015 sluttede Godot-projektet sig til Software Freedom Conservancy. [ti]

Den 23. februar 2016 blev stabil version 2.0 frigivet. Hovedvægten i dens udvikling blev lagt på en betydelig forøgelse af bekvemmeligheden ved at arbejde i motoren gennem arbejdsmiljøet. [elleve]

Den 22. juni 2016 blev Godot tildelt $20.000 af Mozilla Open Source Support (MOSS) "Mission Partners" for at tilføje support til WebSocket , WebAssembly og WebGL 2.0 til projektet. [12]

Om navnet

Juan Lignetski sagde ved en af ​​præsentationerne, at navnet "Godot" er en direkte reference til Samuel Becketts skuespil " Waiting for Godot ". Det karakteriserer det uophørlige ønske om at tilføje nye funktioner til motoren, som konstant vil bringe sin tilstand tættere og tættere på det ideelle værktøj, men denne proces vil ikke blive afsluttet. [13]

Brug i spil

Nogle af spillene skabt af OKAM Studio

Nogle af spillene skabt af fællesskabet [14]

Noter

  1. https://godotengine.org/article/maintenance-release-godot-3-5-1
  2. 1 2 https://github.com/godotengine/godot
  3. Hvad er den rigtige måde at sige "Godot" på? - Godot Engine - Q&A . godoengine.org. Hentet 21. august 2018. Arkiveret fra originalen 21. august 2018.
  4. Linietsky, Juan Godot 2.0: At tale med skaberen . 80.lv. _ Hentet 18. juni 2016. Arkiveret fra originalen 13. juni 2018.
  5. Filsystemer . Godot dokumentation . Godot. Dato for adgang: 29. januar 2016. Arkiveret fra originalen 6. februar 2016.
  6. GDScript-historie . Godot dokumentation . Godot. Dato for adgang: 29. januar 2016. Arkiveret fra originalen 6. februar 2016.
  7. Godot Animation tutorial . Godot dokumentation . Dato for adgang: 29. januar 2016. Arkiveret fra originalen 6. februar 2016.
  8. Plugins! . Hentet 20. august 2017. Arkiveret fra originalen 19. marts 2017.
  9. Godot Engine Reaches 1.0, Releases First Stable (15. december 2014). Dato for adgang: 16. december 2014. Arkiveret fra originalen 16. december 2014.
  10. Godot Game Engine er Conservancys nyeste medlemsprojekt . Hentet 13. november 2015. Arkiveret fra originalen 18. september 2019.
  11. Godot Engine når 2,0 stabil . Hentet 20. august 2017. Arkiveret fra originalen 19. marts 2017.
  12. Mozilla uddeler $385.000 til Open Source-projekter som en del af MOSS "Mission Partners"-program . Mozilla-bloggen . Hentet 17. oktober 2016. Arkiveret fra originalen 17. juni 2020.
  13. Juan Linietsky præsentation af Godot ved RMLL 2015 i Beauvais, Frankrig (utilgængeligt link) (7. juli 2015). Hentet 20. august 2017. Arkiveret fra originalen 5. oktober 2015. 
  14. Awesome Godot - en samlet liste over gratis/fri spil, plugins, tilføjelser og scripts til Godot. . GitHub . Hentet 25. juli 2015. Arkiveret fra originalen 31. januar 2016.

Litteratur

Bøger

Artikler

Links