Godot 3D, in arrivo la versione 4 del Game Engine open-source

A scanso di imprevisti, quest’anno vedremo il rilascio della versione 4.0 di Godot 3D, un game engine libero con licenza MIT e che per funzionalità si pone come alternativa ai più famosi Unity e Unreal. Se il nome di questo software vi sembra familiare è normale: ieri ne abbiamo parlato raccontandovi di mouseVRheadset, un impianto per la realtà virtuale basato su Raspberry Pi e Arduino dedicato… Ai Topi!

Diversamente da altri progetti (come Ogre 3D), Godot 3D non è solo un renderer, ossia un programma o una libreria che mira solo alla visualizzazione di elementi grafici. Godot 3D è un ambiente per la creazione di giochi 2D e 3D, che fornisce un editor delle scene, un editor di testo, un gestore delle risorse e tantissimi nodi per coprire ogni aspetto di un videogioco moderno, come la riproduzione di suoni e musica, l’individuazione delle collisioni, il networking, le GUI e le animazioni.

Godot 3D una volta lanciato. Come vedete, l’organizzazione della scena e molti altri dettagli sono gestiti attraverso la GUI

Godot 3D è scritto in C++ per tutte le parti più orientate alle prestazioni, mentre il linguaggio principale utilizzato per lo sviluppo dei giochi è GDScript, un dialetto di Python integrato all’interno del motore. Se, tuttavia, c’è bisogno di spremere quei secondi in più, Godot incorpora il runtime Mono per offrire anche C# come linguaggio. Se poi vi trovaste nella necessità si spingere la CPU oltre e guadagnare qualche centesimo di secondo, esiste la possibilità di integrare routine scritte in C o C++.

Human Diaspora, un esempio di gioco 3D realizzato con Godot 3D.

Mentre la versione stabile 3.5.2 risolve alcuni bug, c’è grande attesa per la prossima major release, la 4.0 appunto, che utilizzerà Vulkan come base per il sistema di rendering, relegando OpenGL ES solo per i sistemi più vecchi e la pubblicazione su Web. Si tratta di una migrazione importante, iniziata nel 2019, che ha richiesto molto lavoro e che giustifica il salto a una nuova major version. I vantaggi di questo passaggio sono tutti quelli legati all’uso di questa API, ossia prestazioni molto più spinte, consumi energetici più bassi e una maggiore uniformità nelle velocità di rendering tra schede di produttori diversi.

Su quest’ultimo facciamo un po’ di chiarezza: un programma scritto con OpenGL utilizza queste API per pilotare la scheda grafica e la velocità di rendering è dipendente dal driver OpenGL utilizzato: a parità di scheda, driver diversi hanno prestazioni diverse. Vulkan è più vicino all’hardware e permette al programmatore di avere maggior controllo su come la GPU viene utilizzata.

Un video riassuntivo dei giochi creati in Godot nel 2022

Anche se non siete interessati alla creazione di un gioco, Godot 3D può essere uno strumento utile: immaginate di dover fare il simulatore di un braccio robotico o di dover visualizzare dati altimetrici. Oppure, di mostrare su una GUI il modellino di un aereo inclinato con i dati di roll, pitch e yaw che arrivano dall’unità GNSS/IMU. Considerate che tutta la sua interfaccia grafica è realizzata utilizzando i widget interni al motore.

Il binario da scaricare è leggerissimo (63 Mb per la versione con Mono integrato), ma le possibilità offerte da questo programma sono davvero straordinarie. Dategli una possibilità se pensate di creare programmi multimediali in futuro.

Appassionato di GNU/Linux dal 2000, tento disperatamente di tenermi distante dalla programmazione web e di sviluppare in C/C++ e Python i software che mi vengono commissionati.

Tags: , , ,