domenica 28 agosto 2011

Unity vs Windows Blur

La settimana scorsa, come ogni dì, ero in chat con un mio amico di Roma, alias 'Tano, mentre lavoravo al gioco in Unity. Come al solito ci si scambiava commenti su Unity (lui è un autodidatta ma estremamente in gamba e veloce), su Gameloft e sui nostri giochi e altre "cazzate" nerd.

Tano mi ha passato una build del suo attuale gioco, realizzato sempre in unity, per sentire commenti e mostrarmi i progressi della settimana. Si tratta di una futura app per iPhone+iPad e probabilmente Android - per vederlo mi ha fatto un eseguibile per windows.
Il gioco girava bene e tutto sembrava filare liscissimo fino a quando, commentando su varie ed eventuali, è venuto fuori che dal mio pc (un Dell acquistato il dicembre scorso) il gioco gira sui 300 fps mentre dal suo (del 2004, con windows xp) intorno ai 2000 fps. Poco male, 300 è più che buono, ma ho cmq attivato la mia seconda scheda video, l'Nvidia GT 435M, quella potente, per curiosità ma le prestazioni hanno raggiunto "solo" i 400 fps quasi costanti.
Insomma un quinto del suo.
Questa cosa mi ha fatto molto incazzare.

Ho passato la build a due miei colleghi con pc vecchio e debole e pc del 2007 ma potente per scoprire che al massimo si arrivava a 600 fps.
Alla fine ho fatto diverse prove con le impostazioni della scheda video ma nessuna vistosa miglioria è esplosa davanti alla mia faccia e ho quindi dato il give-up.

La sera sono tornato a casa e ho riacceso il pc con il numero degli fps stampanti in mente. Navigando tra le mie applicazioni mi è venuto di spegnere gli effetti di trasparenza e blur della finestra di windows, perché ho sempre ritenuto quel genere di effetti pesanti, almeno dalle mie esperienze con flash. Ovvio che sono un effetto fatto a basso livello, ma ormai ho il tarlo nel cervello su certe cose...
A quel punto il vergognoso miracolo: gli fps sono passati da 400 a 1200. Inutile dire che la cosa mi ha scioccato. La mia sorpresa è forse stupida?

Ho scritto un post sul forum di Unity e ovviamente mi hanno risposto la cosa più ovvia, che sopra i 60 e più non fa poi così differenza. Questo è chiaro, ma il fatto che il solo spegnimento degli effetti delle finestre ci sia stato questo radicale cambio onestamente mi infastidisce parecchio.

venerdì 10 giugno 2011

Eroe 3D quasi completo

Devo essere sincero, pensavo di essere più veloce nel realizzare i personaggi. Siamo ormai a giugno e ne ho realizzati davvero pochi.
Con il modello 3D del protagonista ci siamo rivolti a un ragazzo indiano all'apparenza molto bravo che, però, si è dimostrato poco serio e che abbiamo mollato in corso d'opera.
Poco male, il fido Alessio si è masso da solo sul mio disegno e ne ha fatto un buon modello 3D. Nel week end ci dobbiamo vedere e confrontarci sulle ultime. Vorrei avere in mano più materiale, personaggi finiti, lo schizzo del mondo di gioco che avevo in mente, i loghi vari che stavo disegnando..
Devo essere sincero (e 2), lavorare la sera dopo il lavoro e con famiglia è un impresa ardua, in particolare quando di mezzo ci sono occasionali straordinari, malattie e ricoveri in famiglia, caldo, tempeste che demoliscono il giardino e altri casini che se stessi ad elencare probabilmente mi darei dello sfigato da solo..
Si va avanti ma a rilento. Stasera ho finito la colorazione del primo nemico diciamo "definitivo". Mi pare buono e sono abbastanza soddisfatto ma vorrei averne in mano altri 2-3 finiti completi.

Sul fronte ufficio con il progetto in Unity si procede abbastanza bene, sono riuscito a montare una serie di schermate del gioco (menù, opzioni) e ho imparato a muovermi abbastanza bene tra comandi e componenti. Adesso mi devo mettere seriamente sulla giocabilità, quindi sulla dinamico del gioco vera e propria e sulla creazione dei livelli. Al momento ci sono alcune minime interazioni e la possibilità di saltare e sparare (anche se non si "spara" nulla).
Ho alcune perplessità su come montare i livelli con i vari prefab, ma spero in 2-3 giorni di chiudere il cerchio dei dubbi.
Vorrei anche portare avanti la mini idea per la mini app fatta in casa sempre con Unity, ma mi manca proprio il tempo. Il bello è che mi sono venute in mente un'altra serie di concept che mi piacciono moltissimo e che mi sono segnato, ma purtroppo mi mangio le mani per il basso ritmo di lavoro serale.
Con Alessio abbiamo avuto anche l'idea di prendere la grafica della demo che ha realizzato, sistemarla un attimo e tirarla dentro Unity per montare un mini gioco di azione, semplice ma immediato. Poi metterla nel market e fare i milioni.
Vabbè, ci si spera sempre. ^_^

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.

sabato 21 maggio 2011

Eroe pronto

Questa sera mi sto passando una serie di immagini di Vanquish dal sito della platinum games.
Mi piace molto Vanquish (come non potrebbe..), anche se il personaggio principale, come design, mi è sempre sembrato mancare di carattere, almeno come ci si aspetta da un eroe in armatura cybernetica. Cmq, apparte tutto, sono dei bravissimi sviluppatori che stimo e apprezzerò probabilmente sempre.

Al contrario, sono decisamente contento del MIO personaggio principale: è finalmente finito e un esterno lo sta modellando. Credo che per il week end dovremmo vedere qualcosa che, spero, funzioni come lo fa su carta.
Da un amico artista/modellatore davvero bravo ho ricevuto un «Ottimo» anche se era aggiunto a un «Già visto, nulla di nuovo..». In effetti non voleva esserlo anche se, a ripensarci, sarebbe interessante che lo fosse seppur non sia sicuro di avere la facoltà di uscire da certi canoni.
In realtà negli indie mi pare manchi una simile direzione (classica invece nel mainstream). Di solito si prendono strade meno stereotipate (anche per mancanza di budjet e capacità) ma nel mio caso io volevo fare un eroe esattamente come l'ho disegnato e come l'ho visto su milioni di fumetti e riviste che ho amato. Insomma, credo di aver fatto centro. Si adatta bene al tipo di gioco e credo faccia abbastanza colpo, almeno tra i più "nerd" come me, che poi è il pubblico su cui puntiamo.

Ah, si, dovremmo esserci con il nome sia per il team, che per il gioco. Insomma, il progetto sta prendendo forma e fa davvero bene al mio morale e alla stanchezza accumulata con i disegni notturni.
Adesso sono sul design dei nemici - le pagine dei vari giochi della platinum fanno proprio una voglia a fare Bene.
Per la sett prossima devo finerne almeno un paio e vorrei creare una linea guida sullo stile dei vari "mostri".

sabato 30 aprile 2011

Unity android preso

Oggi scade lo sconto del 20% sulle esportazioni per device (android e iOs) di unity3D e quindi ho deciso di investire un'altra fetta dei miei risparmi su quello per android.
Sono stato invogliato dallo sconto e dal fatto che ho bisogno di motivazione per spronarmi al massimo su questa interessante piattaforma, e un investimento monetario di sicuro lo è. L'idea di continuare in ufficio a lavorare su cose che non mi piacciono onestamente mi infastidisce sempre di più (saranno le ore di straordinario e una serie di progetti fatti male e in fretta) e poi c'è il fattore crescita e l'andamento della tecnologia che va verso quella direzione.
Ho scelto android ma effettivamente NON possiedo un device che lo supporti, per il momento, ma non ho nessuna voglia di passare ai Mac. E poi il mio iPod Touch è tristemente troppo datato.

In queste ore sto buttando giu un'idea, diciamo pure del razzo, per fare una mini app. L'obbiettivo é realizzare qualcosa di veloce che utilizzi strutturre dati manipolate da menù, niente giochi, fare esperienza con lo scripting, farla testare al mio collega che posside un samsung con android e buttarla nel market.
Da lí procedere con qualcosa di più complesso e interessante e possibilmente riutilizzare il lavoro fatto a casa con il mio amico per farne uno come dico io, anche se magari breve.
Mi piacerebbe uno spin-off, almeno per adesso. Le idee non mancano, sono le ore di sonno che tendono a finire..

giovedì 14 aprile 2011

Da uno, due

Sto postando poco ultimamente perché sono oberato di lavoro.
Prima in ufficio sono stato punito con gli "effetti speciali" di questo, ma poi ho avuto un breve via libera con lo studio di Unity, comunque a saltelli per altre piccole fastidiose cosette.
Breve per via di una versione di Qix/Gal Panic da fare in flash su cui sono immerso a piene mani.
Ho sempre adorato qix ma la dinamica che ci sta dietro mi sta facendo un po' impazzire, e ovviamente la consegna è vicinissima ormai.

Il progettone a casa, invece, è tendenzialmente esploso, ma solo per risorgere in due versioni. Una più ridotta e veloce, l'altra più complessa e distinta.
Le ambientazioni saranno diverse come anche lo stile, se va tutto bene :).
Sto disegnando chara a go-go, alcuni proprio brutti ma nei momenti di ispirazione sono molto contenuto del risultato.
Sono anche molto contento del motore di gioco, che funziona sempre meglio e gestisce un sacco di cose. Ogni giovedì scatta il meating sul punto della situazione, ci stiamo muovendo lentamente ma bene.
Per la settimana prossima devo finire il protagonista del gioco light, e poi procedo con i nemici. Forse introdurremo anche un eroe femminile.. se riesco a disegnarlo - sono abbastanza impedito con l'anatomia delle donne.

Tutte queste cosucce mi mettono di buon umore, anche se onestamente non mi dispiacerebbe riuscire anche ad andare avanti con lo studio a casa delle altre tecnologie che stavo guardando, come pure lo sviluppo dei miei giochi "personali", ma purtroppo devo anche dormire e quando non si è ispirati i risultati tardano ad arrivare.
Non sempre si può fare tutto, ma mi dico sempre che l'importante è fare bene quello che sto facendo e credo di essere sulla strada giusta con i miei sketch.

mercoledì 2 marzo 2011

Monster squad

Mentre i file rtf di design crescono, mi sono messo a disegnare concept di mostri e nemici.
Ne farò una sfilza, per poi fare una scrematura in base a stile e coerenza.
Lo spettro di tipologia per il momento è ampio e copre un sacco di "speci". Finchè non sono convinto farò solo pose di azione, magari pure a colori. Così mi esalto di più e sono più libero nei concept.
Ho delineato anche un ambiente di gioco che mi convince all'80%.

Sono partito con un pelo di fatica, ma è così spassoso che non riesco a smettere.