sabato 28 maggio 2011

Android + Unity: primi commenti

Se non mi fossero capitati una serie di bugs e rallentamenti del cavolo, sarei anche felice.
Invece non lo sono, diciamo non particolarmente, per adesso.

Ho finalmente creato la mia prima app dal progetto su cui sto lavorando in ufficio. Ho seguito passo passo la guida di installazione dell'SDK di Android e poi ho proceduto con la creazione dell'app da Unity.
Intanto sono partiti un sacco di errori che nella versione "locale" non c'erano. Poco male, dovrei mettere lo #pragma strict da subito, ma appena ho inserito la riga di codice su alcuni file, diverse chiamate standart corrette non ne volevano sapere di funzionare fino a, ahimè, un riavvio del programma. Ovviamente ho perso un sacco di tempo prima di intuirlo.
...che poi, a dirla tutta, Unity mi è pure crashato diverse volte (6?) mentre un paio di volte dopo che ho alterato molteplici classi, riferimenti e nomi ho rilanciando l'app, scattava da morire, spaventandomi tanto da farmi credere di aver commesso qualche misterioso grosso errore. Solo dopo una serie di prove senza risultato, il sano riavvio ha fatto ritornare le cose apposto senza fare nulla. Un po' di amaro in bocca mi è venuto, si.

Per quanto riguarda l'esportazione, grazie all'SDK posso caricare il gioco su un emulatore.
Peccato che ci metta davvero troppo ad aprirsi e installare l'app e che sia alla fine praticamente ferma - le prestazioni sono davvero un disastro.
E, ancora peggio, la prima esportazione è andata a buon fine, poi il giorno dopo ho fatto un update dell'SDK e ho riesportato l'app e qui il dramma: unity si è freezato nella ricerca delle librerie di google.
L'ho lasciato fermo così per quasi una notte intera ma nulla, poi 2 giorni dopo, preoccupato che ci fosse qualche problema nel mio pc, ho cercato una soluzione online e sono caduto qui, scoprendo che è un problema abbastanza comune e che per risolvere i sistemi non sono proprio eleganti.
Stupido io a non cercare prima, però cmq mi ha fatto incazzare.
Per quantro riguarda la realizzazione dell'app in effetti mi sto divertendo a montarla e alcune cose sono andate molto bene. Altre lo sono un po' meno ma è obbligatorio l'uso costante della documentazione più la ricerca online di soluzioni e idee e se ne viene sempre fuori - in alcuni casi le cose sono davvero già pensate e fatte ma, ripeto, bisogna aver voglia di cercare e provare.
Sul fronte performance devo dire che raggruppare gruppi di pezzi per gestire singole chiamate al metodo Update ha dato i suoi frutti e l'app (cmq ancora di test) da 30 drawcall è passata a 16-20 con 7 livelli di parallasse (prima 2), personaggio animato che si muove, due ostacoli sempre mobili e un mega nemico (una png) che si muove con la BELLISSIMA classe iTween in loop infinito.

Per tirare le somme, il processo, almeno alle prime volte, non è proprio comodo e veloce ma forse sono stato abituato troppo bene con flash della CS5, almeno per quelle 15 prove che ho fatto.
Per contro la comunity Unity è davvero attiva e numerosa (forum e unity-answer) e mi ha permesso di salvarmi più volte da problemi e grossi grattacapi.
Un po' deludente invece il fatto che molti tutorial dal sito ufficiale siano datati e alcune volte pure non funzionino. Si riesce lo stesso, ma non mi dispiacerebbe una maggiore cura.

Il mio prossimo step è capire come montare gli elementi in gioco per popolare i livelli e far funzionare un primo prototipo di gioco dall'inizio alla fine.

Nessun commento:

Posta un commento