Godot (motore grafico)

Da Wikipedia, l'enciclopedia libera.
Godot
Logo
Godot logo.svg
Sviluppatore godot community
Ultima versione 2.1.4 (27 agosto 2017)
Sistema operativo Windows/OS X/Linux/FreeBSD/OpenBSD/Haiku (non in lista)
Linguaggio C++
Genere Motore grafico
Licenza MIT
(licenza libera)
Sito web

Godot è uno strumento per la creazione di videogiochi 3D e 2D, gratuito, open-source e multi-piattaforma, sviluppato dalla sua community e provvisto di licenza MIT.[1]

Descrizione[modifica | modifica wikitesto]

Godot è un ambiente di sviluppo composto da un editor con interfaccia grafica contenente diversi strumenti per la realizzazione di videogiochi.

L'obiettivo[modifica | modifica wikitesto]

L'obiettivo principale di Godot è la semplificazione del processo di progettazione di qualsiasi videogioco. Mettendo da parte i classici modelli di progettazione, lo strumento crea un ambiente di sviluppo che consente di realizzare progetti nella maniera più naturale possibile partendo dagli elementi che saranno visibili all'utente finale. Questo modo di progettare videogiochi è stato pensato per favorire ed incoraggiare sia i singoli sviluppatori che i piccoli team di sviluppo ed è il fattore che rende Godot fondamentalmente diverso dagli altri motori grafici. Grazie al sistema di scene e nodi organizzati gerarchicamente in alberi è possibile progettare videogiochi partendo dalla schematizzazione del gioco su di un semplice foglio di carta.

Caratteristiche e funzionalità[modifica | modifica wikitesto]

L'ambiente di sviluppo Godot è composto da un'interfaccia grafica che raggruppa diversi strumenti per la realizzazione di videogiochi. Ogni strumento disponibile nell'editor è stato scelto e pensato per lavorare insieme a tutti gli altri. Tali strumenti non offrono solamente la possibilità di importare contenuti ma anche di crearli e modificarli direttamente all'interno di Godot favorendo la cooperazione tra tutte le persone che lavorano al progetto. Un sistema di modifiche persistenti, con salvataggi in tempo reale, consente di non perdere i dati in caso di chiusura del gioco. La possibilità di vedere in tempo reale su dispositivi smartphone il progetto nel corso della sua realizzazione permette di limitare e correggere errori che sono soliti verificarsi durante lo sviluppo di un videogioco.

Sviluppo di giochi 2D[modifica | modifica wikitesto]

Con Godot è possibile realizzare qualsiasi videogioco in 2D, dai più semplici ai più complessi, in maniera semplice e veloce. Questo è possibile grazie a:

- Un motore grafico 2D integrato.

- un motore per la fisica 2D integrato.

- uso di coordinate bidimensionali per lavorare direttamente su ogni pixel.

- gestione delle collisioni tra i singoli oggetti o tra i gruppi di oggetti con l'uso di controlli della cinematica.

- possibilità di realizzare giochi che sono in grado di adattarsi alle diverse risoluzioni per i dispositivi sui quali si vuole eseguire il progetto finale.

Sviluppo di giochi 3D[modifica | modifica wikitesto]

Godot rende possibile lo sviluppo di progetti 3D grazie a una serie di strumenti e funzionalità:

- possibilità di importare dati dai programmi di modellazione e grafica 3D più utilizzati, in particolare da 3DS Max, Maya e Blender;

- utilizzo di luci e mappature delle ombre automatizzate.

- compressione delle texture dei modelli importati con l'utilizzo di un sistema di compressione di tipo VRAM (Video RAM) che, anche se non risulta efficiente in termini di dimensioni quanto quelle in file di tipo PNG o JPG, permette comunque di aumentare enormemente le prestazioni in fase di esecuzione del progetto andando a ridurre in particolare l'uso della memoria della GPU.

- utilizzo di un sistema di multi-mesh che permette di creare e disegnare decine di migliaia di oggetti con la minima riduzione possibile di prestazioni, il quale risulta utile per la creazione di rappresentazioni di oggetti piccoli ma numerosi come nel caso di rappresentazioni virtuali di erba, particelle e sciami.

- possibilità di miscelare giochi 2D con degli sfondi 3D o con sistemi di luci ed ombre sempre 3D senza nessuna limitazione per quanto riguarda il numero di luci ed oggetti.

- utilizzo di OPENGL.ES 2.0.

Animazioni[modifica | modifica wikitesto]

L'editor delle animazioni all'interno di Godot è estremamente potente e flessibile: oltre a dare un aiuto nella creazione di animazioni basate sull'uso di frames, esso permette di utilizzare la tecnica di animazione chiamata Skeletal animation. Ogni elemento di una scena creata con Godot può essere animato mediante la possibilità di essere inserito all'interno di una linea temporale con l'utilizzo di una pratica interfaccia visiva. Questa caratteristica può essere utilizzata per realizzare animazioni sia 2D che 3D da implementare in qualsiasi progetto.

Multi-piattaforma[modifica | modifica wikitesto]

Una delle caratteristiche principali di Godot è costituita dalla possibilità di essere eseguito su una moltitudine di sistemi operativi:

Dispositivi fissi:

  • Windows
  • OS X
  • Linux
  • FreeBSD
  • OpenBSD
  • Haiku

I progetti realizzati con Godot possono essere esportati attraverso un semplice click per essere eseguiti su molte piattaforme:

Dispositivi fissi:

  • Windows
  • OS X
  • Linux
  • BSD
  • Haiku

Dispositivi mobili:

  • iOs
  • Android
  • BlackBerry OS

Web:

  • HTML5

Console:

  • Playstation 3
  • Playstation Vita

Linguaggio di programmazione[modifica | modifica wikitesto]

Fin dall'inizio Godot è stato progettato e sviluppato con l'intento di dare la possibilità di utilizzare più di un singolo linguaggio di scripting.

Durante le sue prime fasi di sviluppo, il primo linguaggio utilizzato al suo interno è stato il LUA tuttavia la creazione di un legame tra il linguaggio e un sistema che si vedeva orientato verso gli oggetti aveva occupato un'enorme quantità di codice appesantendo tutta la piattaforma. Per tale motivo alla fine furono fatti esperimenti con un altro linguaggio di programmazione, il Python, che si rivelò anch'esso di difficile implementazione. Il terzo ed ultimo linguaggio di scripting che venne usato fu lo Squirrel. Una volta abbandonato anche quest'ultimo divenne chiara la necessità di un linguaggio di scripting personalizzato che si adattasse in maniera ottimale all'architettura di Godot. Fu quindi realizzato il GDscript. Con il passare del tempo, il suo utilizzo si è rivelato un enorme vantaggio e uno dei principali punti di forza di Godot.

Il GDscript è un linguaggio di scripting tipizzato dinamicamente e progettato per essere facile da imparare; prende buona parte della sintassi dal Python.

Nonostante il GDscript sia il principale linguaggio di Godot, vi è la possibilità di implementare codici in C++ per ottimizzare e implementare le parti di un progetto.

Storia[modifica | modifica wikitesto]

Godot fu sviluppato e utilizzato dalla OKAM all'inizio del 2001[2], anche se lo sviluppo di un'architettura flessibile in risposta ai nuovi hardware fu iniziata solo nel 2007[3] grazie al lavoro di Juan "reduz" Lienietsky e Ariel "punto" Manzur. Anche se Godot fu pensato sin dalla sua nascita come software open-source, la prima versione del codice sorgente di Godot venne rilasciata per il pubblico solo nel febbraio del 2014, sotto licenza MIT.

Il 15 dicembre del 2014, fu rilasciata la prima versione stabile del programma, la versione 1.0, contenente i primi miglioramenti e le prime implementazioni in fatto di mappature delle luci e utilizzo di multi-mesh.[2]

Il 21 maggio 2015, con il rilascio della versione 1.1 oltre al rilascio di un nuovo tema grafico per l'ambiente chiamato dark theme, vennero fatti miglioramenti per quanto riguarda l'editor di codice integrato e l'implementazione del supporto per la creazione di progetti eseguibili su più schermi; furono inoltre corretti molti piccoli errori presenti nella precedente versione, soprattutto sugli aspetti dello sviluppo di progetti in 2D.[3]

Il 23 febbraio 2016 fu rilasciata la versione 2.0 che, oltre a sfoggiare un nuovo tema più pulito ed elegante realizzato da Andreas Esaù con un numero molto minore di icone, disponeva di miglioramenti per quanto riguarda il sistema delle scene e gli editor di scene associati.[4]

Il 9 agosto 2016 fu rilasciata la versione 2.1 con migliorie per quanto riguarda gli aspetti dell'usabilità e delle interfacce visuali dell'editor.[5]

Anche se lo sviluppo del progetto rimane guidato dai creatori, nel 2015 grazie alla forte community che è cresciuta intorno al progetto e che lavora per migliorarlo, Godot è diventato un progetto indipendente membro dell'associazione no-profit Software Freedom Conservancy.

Il nome[modifica | modifica wikitesto]

Il nome Godot prende ispirazione dal famoso dramma di Samuel Beckett "Waiting for Godot". La scelta finale del nome è stata presa solo dopo che le principali menti dietro al progetto ebbero modo di giocare all'omonimo videogioco, sempre durante le fasi di sviluppo, scegliendo questo nome per rappresentare il loro desiderio senza fine di aggiungere nuove funzionalità al motore per cercare di ottenere un prodotto completo senza mai arrivarci. Tuttavia Godot non ha sempre avuto questo nome. Dall'inizio del suo sviluppo, in ordine cronologico, il progetto ha avuto i seguenti nomi:

Larvotor

Legacy

NG3D

Larvita

Larvita2

Larvita3

Godot

Giochi sviluppati con Godot[modifica | modifica wikitesto]

[6]Alcuni giochi sviluppati direttamente dalla OKAM Studio's games sono:

  • Mr.Bean Around the World
  • The Interactive Adventures of Mendonça & Pizza Boy
  • Black Velvet Bandit
  • Realms of the Void
  • Project Carnival
  • Anthill
  • Running Nose

Note[modifica | modifica wikitesto]

  1. ^ https://www.openhub.net/p/godotengine
  2. ^ Godot Engine, Godot Engine - Godot Engine reaches 1.0, first stable release, su godotengine.org. URL consultato l'11 settembre 2016.
  3. ^ Godot Engine, Godot Engine - Godot 1.1 is out!, su godotengine.org. URL consultato l'11 settembre 2016.
  4. ^ Godot Engine, Godot Engine - Godot Engine reaches 2.0 stable, su godotengine.org. URL consultato l'11 settembre 2016.
  5. ^ Godot Engine, Godot Engine - Godot reaches 2.1 stable!, su godotengine.org. URL consultato l'11 settembre 2016.
  6. ^ Projects – Okam Studio, su okamgames.com. URL consultato il 10 settembre 2016.

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]