Ciao,
una delle domande più frequenti che ricevo dai miei studenti è: “cosa utilizzo per produrre un videogioco? Qual’è il migliore linguaggio di programmazione? Quale ambiente di sviluppo è più veloce?….  e così via”.

wordle-unity4archviz

Spesso mi vengono poste domande del genere nei corridoi al cambio d’ora o negli ultimi 3 minuti prima del suono della campanella.

Provocatoriamente rispondo sogghignando frasi come “dipende” o “che gioco vuoi progettare?”  rispondendo a domanda con domanda. La realtà è che pochi hanno la risposta veloce immediata e facile a queste domande e poi a domande così complesse ci vuole più che pochi secondi per rispondere.

Scrivo questo articoletto per dire ai miei studenti….” vai a leggere l’articolo su wikipin.it….” e probabilmente dopo avrai le idee ancora confuse. Risposte esaustive in merito probabilmente non esistono.

Ma ho deciso di recensire una lista di middleware e mobile tools adatti allo sviluppo di app e orientati allo sviluppo di videogames.
Spiego sempre ai miei studenti che il paradigma ad oggetti ha cambiato la storia della produzione del software.
Tutti i seguenti tools utilizzano il paradigma ad oggetti come base di partenza per sviluppare e modellare software dal games al gestionale o al programma scientifico.

unity_3d_gamemaker_01

Ecco la mia classifica che però non tiene conto delle tue esigenze e dei tuoi obiettivi specifici. Contattami se vuoi avere consigli in merito o per seguire un corso di programmazione dedicato al tema.

1)  Unity    www.unity3d.com

Utilizza codice c# o suo proprietario nelle fasi di scripting degli oggetti modellati graficamente dal suo ide e design ambient avanzatissimo. Ha la suite per produrre sia 3d games che 2d games. E’ mantenuto regolarmente ed è quello utilizzato sia dalle major games industries che dagli indie developers. Con questo tools puoi fare i big money.

2) Unreal engine 4 della epic games  www.unrealengine.com

Ottimo prodotto, competitor del precedente e non solo un powerfull engine dedicato alla produzione per PC ma anche per diversi high-end  tech devices. Sfrutta molto bene le gpu delle schede grafiche per modellazione 3d veramente spinta. Forse troppo per chi vuole iniziare a programmare videogiochi 2d.

3) Corona Sdk   www.coronalabs.com

Utilizzata da più di 300.000 sviluppatori è una cross platform development toolkit adatto alla creazione di giochi 2d per mobile in tempi relativamente veloci. Utilizza librerie come Opengl, Openal, Box2D, sqlite, facebook api e il linguaggio di programmazione è un c-like di nome LUA. Se vuoi sviluppare velocemente per Iphone potrebbe essere una soluzione ma i tempi di deployement con la Apple sono sicuramente lunghi e complessi.

4)LibGDX  libgdx.badlogicgames.com

Una libreria open-source licenziata sotto apache 2.0 Libgdx è un framework di JAVA che abilita gli sviluppatori a creare giochi 2d e 3d. Il deploy finale può essere fatto verso una miriade di piattaforme attraverso l’unificazione delle API per Mobile. E’ una libreria per chi ha serie basi nella programmazione ad oggetti e la sconsiglio assolutamente ai neofiti e agli hobbisti.

5)Construct 2 www.scirra.com

Un’ottima soluzione per coloro che non hanno esperienza di programmazione avanzata ma che vogliono passare ore nel creare giochi 2d per mobile o web in semplicità e con un linguaggio di programmazione imperativo di scripting senza codice e sintassi da rispettare. Facile ma in ultima analisi complesso se si vogliono creare cose serie.
La parte tutoriale e del forum è utile e assolutamente da frequentare per avere trucchi e consigli.
Ecco i miei cinque preferiti….  ma attento al salto che fai 😉

unitytutorial

ma  la lista continua:

App Game Kit   www.appgamekit.com

WWISE              www.audiokinetic.com     utilizzato per l’audio developement dei giochi in unity

Marmalade        www.madewithmarmalade.com

Project Anarchy  www.projectanarchy.com

Fmod                 www.fmod.com

ARM         www.malideveloper.arm.com

NextPeer     www.nextpeer.com

Upsight       www.upsight.com

DeltaDNA    www.deltadna.com

HAXE     www.haxe.org

COCOONJS     www.ludei.com

 

Adesso posso immaginare che tu sia ancora più confuso. Puoi contattarmi liberamente per iscriverti alla nostra mailing list dei wikipin game developer e possiamo capire principalmente quali sono i tuoi obbiettivi per poi scegliere una strada corretta.

Buon divertimento
Marco Palladino