Godot Engine 3, una serie di video tutorial in italiano

0

Salve ragazzi, come ho già accennato a qualcuno di voi, sto lavorando a dei video tutorial in italiano per il Godot Engine 3! Attualmente ho solo due video, spero di poter lavorare presto anche sugli altri!

Ovviamente sarei felicissimo di ascoltare i vostri feedback, ma mi rendo conto che per molti di voi questi video siano estremamente noiosi (sia per gli argomenti che per la mia inesperienza).

[UPDATE Settembre 2019]

La serie è completa, ed è valida anche per Godot v3.1.1 ovvero l’ultima release stabile.
Sarà valida anche per Godot 3.2 quando sarà rilasciato.

Vi lascio anche, per i più curiosi (?!?), una serie sparsa di motivazioni che mi hanno portato a lavorare su questi video:

  • supportare il Godot Engine, open source e libero da royalty
  • conoscere ed interagire con altre persone interessate al gamedev (ritengo che sia uno dei migliori modi per crescere)
  • dover parlare di un argomento mi obbliga a studiarlo a fondo
  • soddisfazione personale: ho sempre provato sensazioni positive nel “trasferire” qualche conoscenza ad altri. Immagino faccia parte del nostro essere “animali sociali”

a godot gli sto dietro da un paio di anni, e pur non avendolo mai usato per niente di concreto mi sono appassionato al suo sviluppo e sono tenuto aggiornato su ogni release che ne hanno sfornato. Allo stato attuale, almeno stando a quello che vedo in giro (non so se poi l’engine mantiene davvero tutto quello che promette, ripeto, non ci ho mai lavorato a fondo ma l’ho sempre “tenuto lì” per giocarci di volta in volta) Godot engine è una perla, un qualcosa che andrebbe sicuramente valutato da chiunque sia alla ricerca di un motore per il suo gioco prima di buttarsi a occhi chiusi sui soliti Unity e compagnia bella. Il fatto di essere sostanzialmente l’unico motore generalista “serio” open source è già un bel vantaggio: poter scrivere ZERO nella voce dedicata al budget per le licenze non è cosa da poco se l’intento non è puramente amatoriale (e si va quindi di unity free o unreal-vediamo-poi-cosa-succede)… inoltre sembra che a livello di interfaccia e tools lo sviluppo proceda molto bene, e di versione in versione sono stati implementate migliorie e arnesi vari, vedi il sistema di animazione (non è mecanim, ma ci siamo quasi) o l’implementazione del visual scripting (sì, dalla versione 3 si può “programmare” con le virgolette, se vi va, tramite un sistema di programmazione visuale a blocchi che ricorda i blueprints di unreal o i quadretti di puredata, nonchè i pedalini dei chitarristi)…. Altro vantaggio giustamente sottolineato nel video, è che questo affare (oltre ad essere gratis e al passo coi tempi, se non un pelo avanti) pesa 20 mega, è leggerissimo (poi ovvio, dipende da cosa gli fate fare, ma “di base” gira su qualsiasi ravatto di pc), non si deve manco installare, e utilizza un sistema di esportazione “onesto”, che genera codice nativo per ogni piattaforma (ovvero no-problemi generati da sistemi di export “finti”, embeddati tramite wrapper vari tipo html5+nwjs e webviwes varie, come fanno engine tipo construct di scirra, con tutto il bene che gli voglio) e permette (almeno in teoria) di arrivare anche su console (lasciamo perdere tutto il discorso relativo al come, questo è un discorso complicato, ma lo è anche con unity). Unica remora sensata secondo me: è un progetto bellissimo, ma piccolo. Il programmatore principale ha rifiutato un ingaggio da parte una grande compagnia, la prossima volta potrebbe accettare, continuare a seguire Godot per vie traverse per poi lasciare il progetto in mano ad altri, e alla via così verso scenari che abbiamo già visto mille volte – una community che mantiene un progetto immobile per anni facendo bugfixing e nulla più fino a che 1) il progetto muore 2) qualcuno se lo piglia per farci qualcos’altro. Alla luce di questo, come al solito, la domanda è : ha senso impiegare tempo (tanto) per dedicarsi a sviscerare un engine come questo, con tutti i vantaggi che ne conseguono, ma anche con qualche rischio intrinseco alla natura (vagamente autocontradditoria) di un software opensource CHE PERO’ è anche un framework di alto livello che si pone sulla stessa linea di mercato di altri engine commerciali e sicuramente più affermati? Ai posteri l’ardua sentenza, ma per il momento un enorme GRAZIE per questa serie di video. W GODOT!

pinellos Il programmatore principale ha rifiutato un ingaggio da parte una grande compagnia, la prossima volta potrebbe accettare, continuare a seguire Godot per vie traverse per poi lasciare il progetto in mano ad altri, e alla via così verso scenari che abbiamo già visto mille volte – una community che mantiene un progetto immobile per anni facendo bugfixing e nulla più fino a che 1) il progetto muore 2) qualcuno se lo piglia per farci qualcos’altro.

Allora, se Reduz abbandona Godot… Godot ha un posto pagato libero. Al momento, su Patreon, Godot incassa 00 al mese ($5600 se togliamo un “costo standard di servizio del 30%), il goal di Reduz si attesta 3000$ (2100$ al mese); ok, anche messo che con 2100$ al mese non ti paghi uno sviluppatore del calibro di Reduz… e comunque una garanzia che “non basta” un semplice abbandono da parte sua per far fallire Godot.

Il “vero” stato di salute dei progetti OpenSource si segue meglio qui:

https://github.com/godotengine/godot/commits/master

Non ti dice semplicemente chi fa cosa…ma anche come e quando lo ha fatto: questo sistema pubblico permette anche ad aspiranti volontari che si avvicinano a godot di “vedere la logica” delle modifiche che vengono fatte: chiunque vuole imparare a mettere mano nel codice, non deve far altro che installarsi git ed i compilatori richiesti.
Al contrario di Unreal, che se modifichi qualcosa devi per forza passare “per la volontà di Epic”, qualsiasi modifica che fai dell’engine di Godot è tua e ti appartiene; licenza MIT non ti obbliga a condividere i sorgenti (come per GNU): avvicinarsi all’engine di Godot è molto più organico e naturale… quello che ci fai e tuo e ti appartiene….

…se poi vuoi persino contribuire 😉
(tutto questo per dire che è estremamente facile per Godot “attrarre” sviluppatori.

alexwbc certo, conosco l’ecosistema del software opensource e non sto dicendo che Godot non sia un progetto in buona, anzi ottima salute, solo che la sua natura di “engine tuttofare totale” è più consona, per forza di cose, a motori di stampo commerciale, dove, per l’appunto, ogni modifica e ogni variazione passano per un nodo centrale che “comanda” il progetto de-facto. E’ una piccola contraddizione ideologica, in cui peraltro incappa il software opensource e su cui si discute dai tempi di Mandrake… e su cui in fondo non sono mai stato troppo “radicale” (ubuntu è un ottimo esempio di come una natura “open” può replicare alla grande la strutturazione “istituzionale” nientedimeno che di un intero OS). Insomma io in Godot ci credo, sono curiorissimo di vedere come proseguiranno nello sviluppo e di quale margine di crescita effettiva ci sia (imho: tanto) anche alla luce della declinazione sempre più “aperta” che i produttori di GPU hanno nella gestione dei driver e delle tecnologie software dei loro prodotti. Ad oggi, se mi dovessi imbarcare nella progettazione di un gioco di media complessità (qualcosa che non sia un istant-game per cellulari, per dire, perchè per quello userei software specifici) di certo passerei un bel po’ di tempo a valutare Godot. Ciao!

Penso che dipenda dal tipo di progetto, troppo spesso è capitato che artisti, avendo, i soldi si comprano* una licenza di Photoshop per disegnare webcomic con gli stickman.
Uno dei fattori più corrosivi che spinge indie ad adottare l’Unreal Engine per fare i propri platforme 2D… è il fatto di “sentirsi vicini” a sviluppatori della scena AAA.

Con Godot puoi fare tutto legando ad un nodo principale per l’intero progetto, o frammentare il progetto in tanti piccoli container che si generano/riapparentano tra di loro… oppure tutte e due le cose assieme.

*crack™

Ragazzi leggo tardi i vostri messaggi e avete scritto tutti cose molto interessanti!

Tra l’altro non pensavo ci fossero così tanti utenti interessati a Godot su Gameloop… sarebbe quasi da aprirci un thread ufficiale, alla faccia di UE4 e Unity che non ce l’hanno su questo forum 😛

Anche, se c’e’ la gente, si potrebbe organizzare di seguire una buona serie di tutorials assieme, visto che ormai ci stiamo rodando e github e’ caldo 😃

Veramente utile per chi è alle prime armi con questo interessantissimo engine! Ti prego, continua!! 😃

Sono felicissimo di sentire che questi video siano utili @Alby90! Grazie!
Tranquillo, proprio ora sono in una cameretta infuocata, a registrare nuovi contenuti 😅 ☀

Assolutamente daccordo con @pinellos. Godot ha una community in continua crescita, e molte aziende lo hanno già adottato (non soltanto case sviluppatrici di videogame). In 2 anni la community su github è cresciuta tantissimo e seguendo il progetto giorno per giorno (praticamente commit per commit) posso assicurare che nel caso di un’abbandono da parte di Reduz, il progetto non si fermerebbe affatto. Godot sta diventando qualcosa che somiglia molto a Blender! a questo progetto servono solo 2 cose essenziali… documentazione completa, il visual scripting pesantemente migliorato (allo stato attuale confermo che è inutile e difficile da utilizzare).

Stiamo discutendo sull’implementazione di un sistema ad eventi simile a Construct 3, GDevelop. Su github si parla abbastanza di questa cosa, e uno dei sviluppatori di GDevelop ha già realizzato un prototipo che non è affatto male. Ho suggerito alla community di sviluppare questo addon separatamente e testarlo soprattutto per lo sviluppo di giochi 2D. Una volta che questo addon diventa maturo si implementa ufficialmente in Godot.

Chi di voi ha mai utilizzato Construct 2/3? in pratica la logica del vostro gioco viene gestita in una schermata separata tramite eventi. Questo sistema ha riscosso un discreto successo perchè oltre a semplificare lo sviluppo di un gioco rispetta le regole di base di qualsiasi linguaggio di programmazione (variabili, istruzioni condizionali, cicli etc.). Sarà possibile realizzare la “base” del vostro gioco e poi successivamente scrivere il codice necessario per implementare caratteristiche aggiuntive.

L’idea è proprio questa. Godot Game Engine allo stato attuale non è proprio per tutti. Semplificare il suo utilizzo, unito ad un sistema di asset systems migliorato e completo lo porterebbe al successo immediato.

Unity lo usano in molti è vero, ma senza asset store perderebbe il 90% degli utenti (e non dite che sono bugiardo). Mi ricordo ancora quando Unity era su github con licenza open source 🙂 un’engine proprietario che utilizzava una casa sviluppatrice, reso open per 1/2 anni circa, infine acquisito dall’azienda attuale e reso un prodotto commerciale fuorviante 😉

Godot promette molto bene, lo sviluppo cresce giorno dopo giorno (vi assicuro che l’invio dei commit su Github è paragonabile ad una mitragliatrice pesante).

Mi rendo perfettamente conto che il professionista che da anni utilizza un’engine/framework per lavorare, prima di cambiare gli attrezzi da lavoro ci pensa 10, 100 volte. Questo è assolutamente normale (e giusto), ma aspettate che venga rilasciato Godot 3.5 (leggete la roadmap ufficiale per capire). Una volta raggiunta questa fase di sviluppo, sfido chiunque a preferire Unity (che per fare giochi 2D fa dannatamente schifo, è pesante, è ottimizzato con le natiche, e si porta dietro tante di quelle dipendenze che vi servirà un transpallet per distribuire il vostro gioco).

Mi piacerebbe creare un gruppo di utilizzatori/appassionati di Godot Game Engine al fine di creare una piccola community per questo engine, ed eventualmente mettere su un piccolo team di sviluppo.

Un saluto a tutti 😉

XenonLab io uso construct da molto tempo, ho sempre trovato il suo sistema di gestione della logica molto ben fatto, in pratica si tratta di scrivere del codice per blocchi, il vantaggio/svantaggio sta nel fatto che sei sempre “assistito” nella compilazione dei form o nell’enunciazione di un algoritmo (l’idea era quella di creare un ambiente del tipo “io scrivo, tu mi guardi”, non mi ricordo come si chiama in programmazione), e questo da un lato permette di eliminare alla base tantissimi errori di typing che fanno venir matti per mesi anche i più scafati, ma dall’altro – in strutture più complesse – fa rimpiangere tantissimo un “normale” linguaggio di scripting (specie per chi è abituato così). Nella sostanza, però, ho sempre trovato il sistema di sheet di Construct molto più pratico ed efficace di quei cosi “coi cavetti” che stanno implementando anche in Godot. Si parlava da tempo sul forum di Scirra di una specie di plugin per Unity per implementare il sistema si sheet di consruct in Unity, ma non credo se ne sia mai fatto nulla. Ciao! Ah, date un’occhiata al mio progetto: http://www.pinellos.com

@XenonLab sono molto contento che sei passato su Gameloop 😃 anche noi come Godot, siamo una nicchia che sta crescendo velocemente 😛

Cavolo scrivi tantissimo comunque, non ce la faccio a rispondere a tutto 😅
Construct non l’ho mai usato, e non sapevo di GDevelop! Mi vado ad informare proprio ora che son curioso 😃

@pinellos Quando leggo commenti come i tuoi si riaccende la mia speranza nel trovare gente che usa il cervello e sa valutare le cose in base al lato pratico 🙂

Prova GDevelop è open source, in sviluppo ed è identico a Construct 2/3. Sta crescendo molto e ti assicuro che la versione stabile sarà la scelta ideale se ami Construct.

Il visual scripting di Godot, ispirato a blueprint di unreal engine, fa schifo, non lo sua nessuno (e vorrei vedere) e come hai fatto notare tu non serve a nulla, perchè non aiuta un cappero e tende soltanto a confonderti le idee creando una logica spaghetti inutile e senza senso.

Uno dei sviluppatori di GDevelop come ho già scritto sopra ha creato un’addon sperimentale che implementa la logica degli eventi in stile construct 2/GDEvelop all’interno di Godot. Questa cosa è stata accolta con gioia da molti utenti che hanno sottolineato l’inutilità di visual script.

Per me implementeranno il nuovo addon perchè Godot è fantastico ma come spesso accade si tralascia l’aspetto più importante in certi progetti… la semplicità! attualmente Godot non è sufficientemente documentato, devi tirare giù troppo codice anche per realizzare un concept basilare del tuo gioco, e non è molto ottimizzato. Ma possiede una grande community in espansione e non dubito che in futuro migliorerà moltissimo.

IMPORTANTE: Godot 3.0 è stato rilasciato in 2 versioni, Quella classica con GDScript e quella che utilizza C# + Mono library. L’implementazione di C# è una cappellata paurosa, poi il rilascio di una versione a parte ha dato il colpo di grazia. Per me hanno fatto il passo più lungo della gamba ascoltando il parere di ragazzini che volevano C# (linguaggio che guarda caso viene utilizzato su Unity). Scelta molto discutibile, e da quello che leggo non sono l’unico a pensarla cosi.

Un saluto a tutti.

CAVOLO avevo provato GDevelop all’epoca, mi era passato di mente… rivisto ora, il progetto è veramente una figata! Il mio discorso comunque è semplicissimo: PRIMA fatti un’idea del gioco che vuoi realizzare, e POI pensa al motore con cui lo puoi fare nel modo più pratico/veloce/efficace. Non va molto d’accordo con quelli che “Eccoti il motore definitivo per tutto vai con Dios”, serve magari usare un attimo il cervello prima di iniziare, ma poi è tutto più semplice. Ciao!

Esatto! mentre molti tendono a osannare motori di gioco che a parere mio sono belli e utili come una corda al collo 🙂 tutto dipende da cosa e come lo vuoi fare! per fare giochi 2D retro-style da compilare su tutte le piattaforme GDevelop è proprio bello e fatto bene, anche se GDevelop 5 è ancora in sviluppo ma già utilizzabile.

Approfitto per fare un piccolo update 😃
Ho da poco pubblicato il quinto video della serie sulle TileMap (link).

Più o meno sono a metà dei video che ho in mente di fare. I prossimi argomenti trattati saranno (più o meno in ordine):

  1. Collisioni
  2. Lancio della pokeball
  3. Animated sprite
  4. NPC e semplice interazione
  5. Musica di background e suoni

Da una parte però non vedo l’ora di finire questa serie, per avere più tempo per studiarmi nuovi argomenti 😄
Oltretutto, poi vorrei provare a fare un format leggermente diverso, per il quale ho già qualche idea in cantiere 🙂

Su una nota più egoistica, posso dire di essere soddisfatto principalmente per due motivi:

  1. sto rispettando (in buona approssimazione) il ritmo che mi ero prefissato., 2 video al mese
  2. ho raggiunto i 50 iscritti 😃 e giustamente non sono una c…o, ma va bene così 😃 piuttosto sono contento che i video arrivino alle persone giuste, spesso amanti del software open source, ma comunque ragazzi appassionati di gamedev

davcri Guardati giusto ieri sera… 😉

Prossimo video in rendering… 😃

Con Blender mi sto trovando molto bene, ormai se so cosa devo fare ci metto mezza giornata per registrare e montare un video come questo. Ricordo che per i primi video potevano volerci anche più di 2 giorni interi 😮

image teaser.png

Usi Blender! Come ti trovi ad usarlo come video editor?

theGiallo alla grande, sopratutto grazie al plugin Power Sequencer che fornisce shortcut e funzionalità specifiche per il video editing https://github.com/GDquest/Blender-power-sequencer.
Tra l’altro ho anche contribuito alla documentazione ed il testing iniziale di questo plugin!

Per i primi video ho usato KDEnlive che è comunque un ottimo tool. Devo dire che dal 2018 i video editor open source sono finalmente validi ed affidabili!

theGiallo Io usai il sequencer di Blender un po’ di tempo fa per fare un trailer per l’nCine, ma non avevo usato il plugin, che forse non esisteva ancora. Devo provarlo però, visto che @davcri ne parla tanto bene! 😉

Comments are closed.