Dopo 10 mesi di sviluppo il rilascio di un motore di gioco gratuito , adatto per la creazione di giochi 2D e 3D. Il motore supporta un linguaggio di scripting facile da imparare per la logica di gioco, un ambiente grafico per la progettazione di giochi, un sistema di distribuzione con un clic, ampie funzionalità di animazione e simulazione dei processi fisici, un debugger integrato e un sistema di rilevamento dei colli di bottiglia nelle prestazioni. Il codice del motore di gioco, dell'ambiente di progettazione dei giochi e degli strumenti di sviluppo correlati (motore fisico, server audio, backend di rendering 2D/3D, ecc.) sotto licenza MIT.
I codici sorgente del motore sono stati nel 2014 da uno studio , dopo dieci anni di sviluppo di un prodotto proprietario di livello professionale, utilizzato per creare e pubblicare per PC, console di gioco e dispositivi mobili. Il motore supporta tutte le piattaforme fisse e mobili più popolari (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), oltre allo sviluppo di giochi per il Web. Le compilazioni binarie pronte per l'esecuzione per Linux, Windows e macOS.
In è in fase di sviluppo rendering basato sull'API grafica Vulkan, che sarà offerto nella prossima versione Godot 4.0, invece dei backend di rendering attualmente offerti tramite OpenGL ES 3.0 e OpenGL 3.3 (il supporto per OpenGL ES e OpenGL sarà mantenuto garantendo il funzionamento del vecchio backend OpenGL ES 2.0/OpenGL 2.1 sopra la nuova architettura di rendering basata su Vulkan). Il passaggio da Godot 3.2 a Godot 4.0 richiederà una revisione delle applicazioni a causa della violazione della compatibilità a livello API, ma per il ramo Godot 3.2 sarà garantito un lungo ciclo di supporto, la cui durata dipenderà dalla domanda di questo ramo da parte degli utenti. Non si esclude inoltre il porting di innovazioni che non influiscono sulla stabilità dalla versione 4.x nei rilasci intermedi 3.2.x, come il supporto per , , e piattaforma .
Le principali novità di Godot 3.2:
- Aggiunto il supporto per i visori di realtà virtuale Oculus Quest, implementato su per la piattaforma Android. Per lo sviluppo di sistemi di realtà aumentata per iOS è stato aggiunto il supporto per il framework . Per Android è in fase di sviluppo il supporto per il framework , ma non è ancora pronto e sarà incluso in uno dei rilasci intermedi 3.3.x;

- l'interfaccia del visualizzatore degli editor di shader. nuovi nodi per la creazione di shader più avanzati. Per gli shader implementati con script classici è stato aggiunto il supporto per costanti, array e modificatori «varying». Molti shader specifici per il backend OpenGL ES 3.0 sono stati portati per OpenGL ES 2;
- Il supporto per il rendering fisicamente corretto dei materiali (PBR) è sincronizzato con le capacità dei nuovi motori di rendering PBR, come Blender Eevee e Substance Designer, per garantire un aspetto simile della scena in Godot e nei pacchetti di modellazione 3D utilizzati;
- È stata effettuata un'ottimizzazione delle varie impostazioni di rendering per migliorare le prestazioni e aumentare la qualità delle immagini. Molte funzionalità di GLES3 sono state trasferite nel backend GLES3, inclusa la supporto del metodo di antialiasing MSAA (Multisample anti-aliasing) e vari effetti di post-elaborazione (bagliori, sfocatura DOF e BCS);
- È stato aggiunto il supporto completo per l'importazione di scene 3D e modelli nel formato glTF 2.0 (GL Transmission Format) e è stato aggiunto un supporto iniziale per il formato FBX, che consente l'importazione di scene animate da Blender, ma è ancora incompatibile con Maya e 3ds Max. È stato aggiunto il supporto per le skin degli scheletri durante l'importazione delle scene tramite glTF 2.0 e FBX, consentendo di utilizzare uno scheletro in più mesh.
Il lavoro per migliorare e stabilizzare il supporto per glTF 2.0 è stato svolto in collaborazione con la comunità degli sviluppatori del pacchetto Blender, in cui il supporto migliorato per glTF 2.0 sarà offerto nella versione 2.83; - Le capacità di rete del motore sono state ampliate con il supporto dei protocolli WebRTC e WebSocket, nonché con la possibilità di utilizzare UDP in modalità multicast. per l'uso di hash crittografici e la gestione dei certificati. È stata aggiunta un'interfaccia grafica per il profiling dell'attività di rete. È iniziato il lavoro per creare un porting di Godot per
WebAssembly/HTML5, che consentirà di avviare l'editor nel browser tramite il Web; - Ristrutturato per la piattaforma Android e il sistema di esportazione. Ora per la creazione dei pacchetti per Android sono disponibili due sistemi di esportazione separati: uno con il motore precompilato e l'altro che consente di generare build personalizzate basate su varianti del motore personalizzate. La configurazione delle proprie build può essere eseguita a livello di plugin per Android, senza la necessità di modifiche manuali al modello sorgente;
- È stato aggiunto al editor il supporto per la selezione di funzionalità specifiche, ad esempio, è possibile rimuovere i pulsanti per richiamare l'editor 3D, l'editor degli script, la libreria delle risorse, i nodi, i pannelli, le proprietà e altri elementi non necessari per lo sviluppatore (nascondere gli elementi superflui semplifica notevolmente l'interfaccia);
- Aggiunta la supporto iniziale per l'integrazione con i sistemi di gestione del codice sorgente e implementato un plug-in per il supporto di Git
nell'editor; - Fornita la possibilità di sovrascrivere la telecamera per un gioco in esecuzione attraverso la finestra nell'editor, consentendo la valutazione di diverse modalità nel gioco (visione libera, ispezione dei nodi, ecc.);
- Proposta l'implementazione del server LSP (Language Server Protocol) per il linguaggio GDScript, che consente di inviare informazioni sulla semantica di GDScript e le regole di completamento automatico del codice a editor esterni, come il plug-in di VS Code e Atom;
- Numerosi miglioramenti apportati all'editor di script GDScript integrato: aggiunta la possibilità di impostare segnalibri nelle posizioni del codice, implementata la barra minimappa (per una rapida panoramica dell'intero codice), migliorato il completamento automatico dell'input, le funzionalità della modalità di progettazione visiva degli script;
- Aggiunto una modalità di creazione di giochi pseudo-3D, che consente di utilizzare l'effetto di profondità nei giochi bidimensionali attraverso la definizione di diversi strati che formano una prospettiva fittizia;

- Nell'editor 2D supporto per gli atlas delle texture;
- Nel GUI, modernizzato il processo di posizionamento degli ancoraggi e dei confini delle aree;
- Per i dati testuali, è stata aggiunta la possibilità di monitorare in tempo reale la modifica dei parametri degli effetti, garantito il supporto per i tag BBCode e la possibilità di definire effetti personalizzati;
- generatore di flussi audio, che consente di creare onde sonore basate su singoli fotogrammi e analizzatore spettrale;
- Con l'aiuto della libreria realizzata la possibilità di suddividere mesh concave in parti convexe precise e semplificate. Questa possibilità semplifica notevolmente la generazione delle forme di collisione per mesh 3D esistenti;

- Realizzata la possibilità di sviluppare la logica di gioco nel linguaggio C# utilizzando Mono per le piattaforme Android e WebAssembly (precedentemente C# era supportato per Linux, Windows e macOS). Basato su Mono 6.6, supportato C# 8.0. Per C# è stato anche implementato il supporto iniziale per la compilazione anticipata (AOT, ahead-of-time), che è stata aggiunta alla base di codice, ma non è ancora stata attivata (per WebAssembly viene ancora utilizzato l'interprete). Per la modifica del codice C#, è stata realizzata la possibilità di collegarsi a editor esterni, come MonoDevelop, Visual Studio for Mac e Jetbrains Rider;
- Significativamente ampliato e migliorato . Pubblicata la traduzione parziale in italiano ( guida introduttiva all'inizio).
Fonte: opennet.ru



