Visualizzazione post con etichetta unity. Mostra tutti i post
Visualizzazione post con etichetta unity. Mostra tutti i post

lunedì 26 novembre 2012

Con il Colosso si incomincia

Oggi, dall'ufficio, abbiamo pubblicato la pagina facebook del nostro gioco fatto in Unity.
É ufficiale, si incomincia con la promozione ma non voglio ancora mettere nessun link fino a quando non ci sarà qualche post più corposo e il sito sarà ufficialmente online.

Dal lato dello sviluppo continuo nella mia corsa contro il tempo per finire una prima versione asap, sono in effetti molto stanco ma abbastanza soddisfatto di quello che sta venendo fuori.
Vorrei solo avere più tempo, anche se ne è passata di acqua sotto i ponti, il problema è stato saltare da un progetto a un altro e tornare poi alla programmazione del gioco, che non mi ha permesso di essere efficace come avrei voluto. E poi, in un modo o nell'altro, ci sono sempre bug e problemi in agguato che proprio non ti aspetti.
In particolare quello della compressione della grafica, proprio oggi abbiamo provato a cambiarla forzandola da DTX a PowerVR (PVRTC) e - BUUMM - il gioco sta al momento andando più fluido. E qui devo ringraziare come sempre il mitico texture packer, che mi permette di salvare i file come voglio on-the-fly e di gestire la qualità finale della mia png - la compressione ovviamente altera anche drasticamente l'aspetto finale, ma calibrando le caratteristiche del file, riesco a salvare abbastanza bene le sfumature e il canale alpha.

Ero proprio all'oscuro delle difficoltà di decompressione di certi tipi di file per determinate GPU e mi sa che finiremo per fare del gioco versioni differenti, a seconda della piattaforma di rilascio.
..almeno l'abbiamo scoperto e mi pare ci stiamo muovendo nella direzione giusta, ma la questione della compressione della grafica è davvero una rogna che non mi fa dormire la notte.
Devo essere sincero: si può dire tutto di flash, ma almeno lì caricavi una png e rimaneva tale e quale. Qui è tutto una prova, un limare e un tirare continuo. Sarò anche inesperto, ma il tema è grande come un oceano.
Vero che con la soluzione di cambiare la compressione sembra quella giusta, ma tutto questo tempo dedicato al risolvere problemi a volte è proprio deprimente.
Ad ogni modo ho inserito tutta una serie di bonus la settimana scorsa che, seppur non completa, mi sta dando certe soddisfazioni.
Vado a nanna, a presto con altre news.


venerdì 2 dicembre 2011

E adesso anche Android

Settimana scorsa ho comprato finalmente il mio device Android, un Samsung S SCL (super Lcd) i9003.
Mi pareva un buon acquisto, avevo già perso la stessa offerta al media world uscita intanto anche al trony pare, e per 10 euro in meno ho fatto "le corse" alle 8.35 e me lo sono preso. Bello arrivare 5 minuti dopo l'apertura e vedere gente uscire con una scatola nera in mano che ti sembra proprio quella di un telefono e la strizza e il nervoso che salgono.
Poi scopri di essere solo il 16° esimo e ti rilassi, più o meno, mentre paghi.

Il device è una versione ridotta del Galaxy S, qui un confronto, ma nel manipolarlo sembra ottimo. L'ho aggiornato a Gingerbread ed ero contento. Poi sono andato nel market per scaricarmi Cordy, Angrybots e altri giochi/demo realizzate con Unity e, orrore, scopro che molte non sono disponibili per il mio device.

Mi aggrappo a google e faccio una ricerca e scopro che, apparentemente, il device ha una GPU (manco citata nelle specifiche tecniche sul sito Samsung e questo mi puzza...) vecchiotta, del 2005.
La cosa mi rode e non poco ma sono sorpreso che, toh, Shadow gun è invece installabile e pure Guerilla Bob.
Il primo tecnicamente è una bomba, se vogliamo, il secondo è comunque ottimo e quindi non capisco come mai per esempio Cordy non sia scaricabile e neppure AngryBots. Poi vedo che Sleepy Jack installabile, dagli stessi di Cordy, e non capisco ancora di più - btw: adesso non lo è più.. maybe prob di compatibilità.
Guerilla Bob si gioca bene, Shadow gun non c'è light e quindi non posso provarlo.

Vabbè, mi dico, tanto devo farci girare le mie app, non importa.
Installo la mia app e non parte. Splash screen di Unity e poi crash.
Lancio Unity, verifico che sia ok il gioco, ricompilo e installo ma ancora crash. Provo un'altra mia, esporto la demo ufficiale di Penelope che ho scaricato dal market e funziona, ma non la mia apk, quella proprio no.
Faccio una scena con un cubo, compilo e installo: nulla.
Il sudore e le bestemmie piovono.

Posto sul forum e attendo cercando altri dati sull'hardware. Cpu è ARMv7, quindi son tranquillo, la Gpu da wikipedia pare supporti OpenGL 2.0 quindi tutto regolare, penso, anche se datata.
Ricevo la prima risposta da uno che mi dice di scaricare l'editor aggiornato 3.4.f3 (però il mio che ha l'aggiornamento automatico checkato non mi ha avvertito dannato lui) e che c'è un baco apparentemente conosciuto.
Ok, peccato che la connessione a casa sia lentissima dal week end e quindi fino alla mattina dopo nessun download ultimato.

Ma intanto mi risponde un altro che sembra saperne e mi dice che l'HW è datato e vecchio e vergognoso e che non ho speranze. Insomma, mi dice che il device è monnezza e che è follia comprare sta roba e sperare di farci girare giochi decenti: «As people would say it: What you invested in was a pimped dumbphone. It won't do much more than other dumbphones did beyond the 'work oriented support' thats cpu bound and it will for surely not bring you into the 'mobile gaming' range of 2010+».
Che poi io avevo installato la mia app su un cavolo di finto android cinese e pure partiva.. mah.
Cmq il tipo gentilmente mi risponde ancora e sembra davvero competente con un sacco di dati "alla mano", mi risponde ancore che la GPU fa cagare e che è pure OpenGL 1.0.
Uhm, ma se wikipedia dice 2.0? Glielo faccio presente, e lui insiste che è un errore e BLA-BLA-BLA-monnezza-BLA-BLA. Insomma, me la devo incartare.

Mi dice di comprare il Samsung Galaxy S originale o quello SuperLCD che, però, gli faccio notare essere il mio. Peccato aver scoperto che tra nazioni diverse possa cambiare l'HD dei device.
Glielo scrivo e lui, giustamente, si lamenta.
Cmq lo ringrazio dei numerosi dettagli e chiarimenti, e anche di avermi dato dell'idiota, perché da idiota dovevo quantomeno verificare che l'hw fosse decente.
Con molta tristezza mi ha aperto gli occhi e di conseguenze pianifico una riconsegna al negozio.
Intanto la giornata passa, ne parlo al lavoro, sono sorpresi ma i dati parlano chiaro: no apk installabile.

Poi finalmente ho l'editor unity 3.4.f3 e faccio una prova, tanto per concludere il giro.
Setto ARMv7, OpenGL 2.0 lancio il mio progetto.
Ecco l'apk..
ecco che si installa.
Ed ecco che funziona. Tuttto. Anche AngryBots.
FUNZIONA.

Fine della storia e grazie Infostrada per la connesione lenta proprio quando serviva.
Tra parentesi è pure uscito World of goo per android ma non è supportato dal mio device. Però si può scaricare la demo e anche acquistare direttamente dal sito dei 2dBoy.
Fatto, installato e va alla grande.
Leggendo dai commenti della news pare che la selezione dei device nelle app del market sbagli spesso. Ok protezione anti crash e anti-fregatura, però un po' mi fa incazzare anche perché ho perso un sacco di tempo.

giovedì 27 ottobre 2011

Big fat TexturePacker 2.4.0 update

Big fat TexturePacker 2.4.0 update
..eeeh già, un tool MAGNIFICO ora con un sacco di feature nuove e -TADAAA!- il supporto su Ubuntu.
Volevo scriverne un post, anzi dovrei considerando che l'ho ricevuto gratis perché ho un blog da sviluppatore (info in homepage di texturepacker), e a questo punto devo metterlo nella toDo list.

Si tratta di un esportatore di texture atlas davvero ben fatto e comodissimo per essere utilizzato in Unity3D, in particolare (almeno per il sottoscritto) con l'ottimo framework scritto dai ragazzi di Prime31, UIToolkit.

Il Texture packer adesso supporta anche l'esportazione da flash, comodissimo proprio ora che stavo facendo delle grafiche direttamente in flash ma che avrei esportato con Zoë.
Fatto una prova e mi pare ottimo - un Bravo a Andreas Löw, fondatore della Code'n'Web.
Il software costerebbe 24.95$ ma se ci si iscrive alla newsletter si riceve un sconto del 5%. Insomma, alla fine siamo sui 16€ che è una cifra decisamente interessante e abbordabile da chiunque.

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 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..

domenica 27 febbraio 2011

Da unity flash

Due ore fa su facebook i ragazzi di Unity hanno postato una nuova super news per Unity.
Si tratta di una nuova piattaforma di esportazione: il flash player.
La motivazione nasce dalla prossima release del player adobe che con Molehill, questo il suo nome, supporterà una nuova serie di API 3D estremamente potente.
I video di Molehill online sono davvero strepitosi, e sapere che Unity lo appoggia mi fa pensare bene, da entrambi i lati. Voglio dire, il mio pensiero è che probabilmente quelli della Adobe stanno facendo un buon lavoro, cosa che spererei in effetti, e Unity come editor, almeno per quel poco che ho visto, è molto comodo e valido.

Non esistono molti dettagli a riguardo di come funzionerà l'esportazione di Unity, staremo a vedere nei prossimi giorni se rilasceranno altre notizie.