Learning Friday #2: Unity 3D Game Development

K2BlogLearning Friday #2: Unity 3D Game Development

Ritorna l’appuntamento con il nostro Learning Friday.

Venerdì 8 marzo il nostro Daniele Del Monte ci ha svelato i segreti dello sviluppo di videogiochi tramite Unity. Il game development è certamente un processo che affascina. Tutto parte dal trovare un’idea da sviluppare tecnicamente, per arrivare alla parte più divertente: il gioco!

In questo articolo vi parleremo delle prime tre funzionalità di Unity

Gli argomenti trattati da Daniele sono 7:

  1. Utilizzi di un Game Engine
  2. Linguaggi di programmazione
  3. Ide Unity
  4. Set up di un progetto
  5. Fisica base nei videogames
  6. Assets store dei rispettivi Engine
  7. Figure di sviluppo

1.Utilizzi di un Game Engine

Il Game Engine si utilizza per creare videogiochi e per il rendering in 3D.

Per quest’ultimo i Game Engine si sono evoluti per creare versioni tridimensionali sempre più realistiche, diventando framework che permettono di creare video in modo  semplice e intuitivo grazie, anche, alla presenza di molti plug in. Come ci si potrebbe aspettare, esistono molti programmi per sviluppare videogiochi. Un esempio è Unreal Engine 4  acclamato nell’ultimo periodo, poichè graficamente molto avanzato. Grazie a questo Game Engine sono stati sviluppati celebri videogiochi come Kingdom Hearts 3 e Fortnite

Unreal Engine 4 ha, però, una pecca: è pesante. Per questo rende difficile lo sviluppo per il mobile, a differenza di Unity.

Unity 3D è un Engine conosciuto sul mercato per vari motivi:

  • è molto semplice da usare: almeno per quanto riguarda il 2D, rende lo sviluppo abbastanza intuitivo, per questo c’è stata una grandissima richiesta da parte del pubblico;
  • è completo: permette infatti di sviluppare in 2D e in 3D, ed è anzi molto usato nel 2D, a discapito del nome;
  • è versatile: si può usare anche per il rendering;
  • è custom: (o custom-oriented?): è altamente personalizzabile, dalle finestre alla creazione di plug in.

In realtà Unity diventa molto più difficile da utilizzare ad alti livelli: bisogna davvero conoscerne i segreti per arrivare ad un’ottima grafica 3D. L’intervento di Daniele ha chiarito molti aspetti tecnici e non solo.

Alcuni esempi di videogiochi sviluppati con Unity sono Cuphead, Monument Valley, Ori And The Blind Forest. Molti di questi giochi hanno un reparto grafico spettacolare difatti si sono aggiudicati diversi premi.

2) Linguaggi di programmazione

Unreal Engine 4 utilizza come linguaggi C++ e Blueprint. I blueprints di Unreal 4 sono una vera rivoluzione nella programmazione.

Ė un linguaggio visivo che viene diviso in blocchi, che si usano al posto dell’utilizzo delle funzioni. È molto custom: permette di creare eventi e funzioni. Ha tutti i vantaggi di un linguaggio di programmazione ma, come plus, permette di evitare gli errori di sintassi, di punto e virgola ecc.

Il problema è che i Blueprints sono molto limitati, infatti sul multigiocatore non sono stati implementati molto (si possono creare solo interazioni basilari). Per le interazioni viene dunque utilizzato il C++, mentre per la gestione dei dati si utilizza normalmente Blueprint.

Il linguaggio di programmazione di Unity oggi è invece C#. L’enorme successo di C# ha soppiantato altri due linguaggi presenti nelle versioni precedenti come JavaScript e Boo.

3) Ide Unity 3D

L’IDE (Integrated development environment) di Unity 3D è molto versatile e intuitivo: ottima caratteristica per un Game Engine.

L’interfaccia è divisa in diverse sezioni:
  • La Toolbar in alto che permette di far iniziare il gioco dall’editor, di poterlo interrompere, di passare da un frame al successivo, di soffermarsi su un frame particolare ecc.;
  • La Hierarchy è la parte focale di Unity in cui troviamo tutti gli oggetti inseriti nella scena;
  • L’Inspector permette di vedere tutti i dettagli di tutti i componenti che ci sono in un oggetto, di gestirlo e dargli valore, ad esempio aggiungendo degli script;
  • Il Project è la parte in cui troviamo immagazzinate le cartelle con tutte le informazioni, gli oggetti, le texture, i suoni, le animazioni ecc.

Queste sono le prime tre funzionalità spiegate dal nostro Daniele, per scoprire le altre che sono state svelate, vi aspettiamo al prossimo appuntamento con il racconto della seconda parte di questo Learning Friday.