Pagine    Articoli    Prodotti    Forum    Cerca  
Nickname

Password


Non sei registrato?
Registrati a GPI qui!

Puoi anche attivare un vecchio utente GPI e chiedere una nuova password.
I Team

Mappa Team
I nostri utenti

Mappa Utenti

   Stackout

Pubblicato da Daniele Giardini il 2012-12-03 13:04:03
Categoria: gioco
Tags: game, Unity, unity contest

Stackout è il gioco che Fabian Smith, Luigi di Guida, ed io (Daniele Giardini) abbiamo realizzato per lo Unity Contest di GPI.

 

Team

Whaggabees

Whaggabees è il team che abbiamo creato appositamente per lo Unity Contest di GPI, composto da Daniele Giardini (programmazione e ideazione), Fabian Smith (grafica e ideazione), e Luigi di Guida (musiche ed effetti sonori).

 

Ispirazione

L'ispirazione retro è il classico Breakout. Gioco che non abbiamo mai amato, a dire il vero, ma abbiamo avuto qualche idea che che ce lo ha reso interessante e diverso.

 

Link e download

Official web page

Versione giocabile su Kongregate

Stackout su IndieDB

Unity Forum Thread

 

Video

 



Sito Web:
www.holoville.com/games/games/stackout


Prime evoluzioni: Kongregate
2013-02-23 21:12:14

In ritardo, ma la prima evoluzione di Stackout è finita, ed ora si trova su Kongregate (giocabile qui - ho anche scritto un blog sull'argomento Kongregate + Unity). Abbiamo sistemato tutti i bug (spero), reso le collisioni col pad meno ingannevoli, risistemato il menu, facilitato il gameplay (anche se di poco), aggiunto un livello per ogni ambientazione, e diviso le highscore (ora ce n'è una per ogni mondo, mentre prima erano comuni a tutti). Manca ancora l'implementazione dei controlli da tastiera, che sarà fatta nei prossimi giorni.

Ora ci aspettano un paio di mesi per realizzare la release finale, che probabilmente si chiamerà Stackout Evolution o roba simile, perché nel frattempo abbiamo deciso di cambiare parecchie cose.

Innanzitutto, come ci hanno detto molti giocatori e sapevamo in parte anche noi, c'è poca varietà, e dobbiamo aggiungere una meccanica di gioco più varia. Alla fine, ogni mondo si distingue solo graficamente.

Ci siamo anche resi conto che poter scegliere il mondo in cui giocare non funziona. Molto meglio avere una sola direzione, ed "evolvere" l'ambiente man mano che si va avanti, mischiando elementi di un mondo a quelli di un altro.

Anche la grafica subirà un restyling abbastanza pesante, aggiungendo più varietà e più animazioni, cercando però di mantenere lo stile efficace e particolare che Fabian ha creato (Fabian ci sta lavorando, e per ora non abbiamo ancora raggiunto uno stile che ci convinca entrambi).

E poi, il mitico endless mode, ovviamente.


Wohoo!
2013-01-30 00:56:05

Sia ben chiaro: questa immagine non sta qui perché ora ce la vogliamo tirare. Ma mi pareva fosse giunto il nostro turno di usarla, e non ho resistito ad aggiungere una battuta, anche se stupida (ero indeciso fra “they sell them!!!” e “they make them!!!”, poi Sebastiano ha suggerito la versione attuale e meno narcotica, ehehe).
Inoltre, a volte è bello e giusto essere felici e noi ovviamente lo siamo, quindi wohoo!

Grazie

Prima di tutto i grazie. Perché il contest è stata una bella esperienza in tanti sensi, ci è scappata la licenza Unity e Rain{one}, e non è roba da poco organizzare una cosa così.
Comincerei con un bel grazie al team di GPI per aver organizzato e gestito il contest, e ai giudici per l’ottimo lavoro svolto (non perché ci hanno fatto vincere - cosa di cui siamo ovviamente grati e lusingati - ma per l’impegno e perché dai commenti che ho letto li ho trovati seri e professionali). E un grazie gigante da Fabian, che probabilmente sta ancora facendo pipì sulla neve nel tentativo di scrivere “ho unità 4 pro con tutte le ombre reali whaggaheyhey”.
Poi un grazie speciale a Luca Franceschi di Extreme Retro Mash-Up e Michele Pirovano di Bulla Bolla, con cui ci siamo passati feedback - e complimenti - a vicenda.
E infine un supergrazie all’onnipresente e onnifacente Sebastiano (l’uomo che non ha bisogno di cognomi) che non solo ha fatto tanto - per tutti i partecipanti - ma organizzando il contest mi ha anche dato una scusa per rimandare la lavorazione sui CSS di GPI - ahahaha, scusate rido da solo per la malignità.

Team è bello

Più il tempo passa, e più portiamo avanti Stackout, più mi rendo conto di quanto il contest di GPI ci abbia fatto maturare. Personalmente (visto che alla fine ‘sto blog lo scrivo io - Daniele - e quindi tendo al personale, più per rispetto che per egomania), Stackout è il primo gioco che ho realizzato in team (o meglio, prima di questo avevo fatto un prototipo per un gioco spaziale - Cosmic Bungle - con Paul Harden - sì è il suo vero cognome, non è un attore porno col nome d’arte - ma essendo rimasto in fase di prototipo conta poco). E se prima scappavo da qualunque proposta di collaborazione, ora ho invece imparato che, a volte, uscire dalla caverna ti fa scoprire nuovi tesori. Ho già scritto quanto mi sia piaciuto lavorare con Fabian, e quanto rispetto il suo lavoro, ma ho anche avuto l’opportunità di conoscere e lavorare con Luigi. E ora chi lo molla più quello? Sei mio Luigi! Mio!!! Mi dovrai fare anche le musiche per la suoneria del cellulare! Wahahahaha!

A parte gli scherzi (Luigi non ti preoccupare, non sono così possessivo, torna qui!), se da un lato un team può creare il rischio di una certa piattezza (nel caso si abbiano idee diverse, e si tenda a fare contenti tutti diminuendo la potenza “eversiva” di eventuali concetti non condivisi) dall’altro, se formato e gestito bene, ogni membro aggiunge il proprio importante e personale bagaglio di esperienze e di creatività, che diventa quindi un’immensa fonte di crescita reciproca. Inoltre, nel caso di un contest come quello di GPI, è stato utilissimo vedere come anche gli altri team stessero sviluppando il proprio progetto (grande idea quella di dare importanza ai blog): quali problemi stessero incontrando, quali pedali stessero spingendo, cosa stesse stimolando la loro creatività, e via così. Grazie alla condivisione, si è insomma creato una sorta di team allargato: ogni persona era parte di un team, ed ogni team era parte dello stesso superteam. Magari sto andando fuori di testa perché ho dormito poco, però è stata una bella sensazione, ed una bella esperienza anche di apprendimento.

Il futuro, ancora

Grazie ai tanti feedback raccolti (quelli dettagliati dei giudici, di qualche tester, e di un paio di review, e quelli più concisi ma altrettanto indicativi di altri giocatori) abbiamo già fatto varie modifiche di base a Stackout, per una release di fine gennaio (o forse inizio febbraio) via webplayer. Poi, ci aspettano altri due mesi circa di lavoro per implementare tutti i feedback (almeno quelli con cui concordiamo - sia perché un po’ di egotismo ci sta sempre, sia perché in alcuni casi abbiamo avuto feedback che si contraddicevano a vicenda) e un sacco di novità. Magari pure un tentativo azzardato su Greenlight. Who knows?


Note musicali
2013-01-10 15:26:51

Questo progetto, come gli altri due ai quali ho collaborato per il contest GPI, mi ha dato la possibilità di conoscere persone nuove e davvero in gamba!...
In questo caso si tratta di Daniele Giardini e Fabian Smith, con cui mi sono molto divertito e dei quali ho ammirato la capacità di dare “un tocco ed un mood” molto particolari al modo di produrre....

IL PRIMO “CONTATTO” COL GIOCO

Il primo “contatto” con Stackout è avvenuto in modo “verbale”, quando Daniele mi ha illustrato l’idea: l’ho trovata subito interessante ed ho cominciato, in attesa di ricevere le prime bozze grafiche, a pensare al modo di affrontare la realizzazione della musica e degli effetti sonori...
Come d’abitudine, ho chiesto anche dei riferimenti musicali, ossia delle tracce audio gia esistenti che potessero indicare lo stile che Daniele e Fabian immaginavano per il loro gioco: prontamente ho ricevuto un po’ di sample raccolti dal web, ma contemporaneamente l’indicazione di seguire la mia ispirazione personale e le mie sensazioni...

LE PRIME IDEE MUSICALI

Quando è arrivata la grafica, sono rimasto molto sorpreso e colpito dalle scelte stilistiche e cromatiche: ho apprezzato in particolare l’utilizzo delle tonalità quasi “pastello” dei colori e la forma degli oggetti, tali quasi da richiamare i vecchi giochi di legno per bambini...

Quando ho cominciato a produrre la musica, iniziando dal "Forest world", ho preso una strada che probabilmente ha spiazzato Fabian e Daniele, oltre che me: anziché utilizzare sonorità elettroniche e retro, con ritmo sostenuto, mi sono indirizzato verso suoni realistici ed ho scelto un "mood" ambient ed in un certo modo "rilassante" ….

Inoltre ho pensato di comporre la musica unitamente ad effetti sonori che riproducessero i suoni di una vera foresta….

I motivi di questa scelta sono stati sostanzialmente due:
1) nel sistema di gioco e nella grafica il riferimento a "Breackout" era già sufficientemente chiaro e dunque si potevano scartare i suoni "retrò", inoltre avrei potuto sfruttare i sound fx per "riequilibrare" il legame con le vecchie sonorità arcade...
2) il fatto che ciascun loop non dovesse superare i 50/60 secondi (per motivi di peso) rendeva rischioso l'utilizzo di sonorità troppo ritmante ed "invadenti" in caso di partite lunghe o di riavvii numerosi dello stesso "mondo"…

Nonostante mi aspettassi una mail "di licenziamento", ai componenti del team l'idea è piaciuta molta e sono andato avanti così…
:-)


GLI ALTRI LOOP

Dunque anche per la città ed il deserto, ho ragionato allo stesso modo, ovviamente contestualizzando il tutto a seconda dei "mondi" e apportando le relative modifiche alle sonorità….La città un po' più elettronica, mentre il deserto ancor più "meditativo"…
Per il circo invece ho deciso di "deviare" leggermente e passare ad una situazione un po' più "movimentata" , ma che richiamasse le tipiche fanfare da circo con le loro melodie riconoscibili…

I SOUND FX

Blocchi:

per i blocchi, ho pensato subito di "scartare" i suoni arcade e provare a rendere l'effetto "rapido" (necessariamente dato che l'evento dura poco ed i blocchi si rompono in sequenza e spesso), ma che fosse riconducibile al "materiale" di cui i blocchi erano fatti (foglie, terra, rocce, cemento, sabbia, etc.)….
Per fortuna la cosa ha funzionato e diciamo che in tal modo il suono rendo più "realistico" un evento che doveva essere necessariamente "stilizzato"…

Rimbalzo pallina sulle pareti:

Anche qui ho cercato un suono che fosse realistico, ma anche soft e poco fastidioso dato che l'evento si ripete molto spesso: così e venuto fuori un effetto ottenuto quello di una pallina che cade sul legno, editato in modo da essere notato solo se l'utente pone un minimo di attenzione sull'evento, risultando pressoché "assente" se il giocatore si concentra sui blocchi e sul pad…

Rimbalzo sul pad, bonus ed altri suoni dell'interfaccia:

Questo è lo spazio che ho riservato al "richiamo" retro: basta fare qualche partita per riconoscere i suoni "laser" ed elettronici molto vicini a quelli degli anni passati….
L'unico suono "realistico" l'ho riservato per la pressione dei tasti, ed in particolare ai bellissimi "interruttori" per spegnere ed accendere i suoni e la musica: la tentazione di assecondare col suono la forma degli "switch" è stata troppo forte...

Loop del menù:

Questo credo sia stato "il colpo di grazia" alle nostre aspettative: anziché sfruttare il menù per inserire una musica più "ritmata" ho accentuato ancora di più l'atmosfera rilassante, introducendo anche un piccolo elemento "nostalgico" con il richiamo al "vecchio" suono del pad originale di Breakout…


A questo punto non mi resta che ringraziare Daniele e Fabian che mi hanno dato la possibilità di lavorare a questo progetto ed aggiungere che il gioco è comunque ancora un "work in progress" e dunque anche il suono sarà ricontrollato, nonché ci saranno numerose aggiunte e "sorprese"…

Nel frattempo ogni vostro commento è più che gradito!

Luigi


Semi-post-mortem
2013-01-07 14:56:18

Beh, un bel semi-post-mortem ora ci sta tutto. "Semi" perché lo sviluppo di Stackout continuerà verso più ampi orizzonti, ma la prima fase è conclusa e una bella analisi ci vuole.

Le fasi dello sviluppo (un riepilogo)

Siamo partiti, ovviamente, da vari prototipi, che ci hanno aiutato a cassare la prima iterazione di Stackout (con il bouncer al centro e una sorta di attrazione gravitazionale - vedere il primo blog sull'argomento), e a definire cosa effettivamente funzionava nel gameplay.

Fabian ha poi cominciato a creare le varie versioni grafiche, su cui abbiamo discusso a non finire. Con coin-op intorno. Senza. Mattoncini sospesi per aria. Prospettiva reale. Vista dall'alto. Etc. Mentre io approfondivo la fisica del rimbalzo ed il contorno. Qui sotto potete vedere l'evoluzione grafica di Stackout.

Stackout evolution

Fatto ciò, abbiamo affinato il prototipo e cominciato a renderlo più reale, e una volta che abbiamo avuto in mano qualcosa di completo (almeno per l'aspetto visivo e di gameplay) abbiamo mandato il tutto a Luigi, per discutere delle musiche e dei suoni.

Luigi ha avuto carta quasi completamente bianca. E subito le musiche sono state qualcosa di completamente diverso da ciò che ci aspettavamo. Sia Fabian che io pensavamo a qualcosa di dinamico e veloce, e Luigi invece ci ha lanciato una colonna sonora soft, profonda, e rilassante. Che complementa il gameplay grandiosamente. Se posso, direi che Luigi è un genio.

Implementate le musiche ed i suoni, abbiamo continuato a lavorare su un singolo livello per completare tutto il codice e il contorno di menu etc. E' stato rischioso, e siamo arrivati a due giorni dalla fine del contest con tutto l'engine completo, ma ancora un solo livello giocabile! E qui è scattato il rush finale per completare il tutto. Beta inviata a vari amici la mattina dell'ultimo giorno, per limare i bug mentre si completavano i livelli, e a meno di 3 minuti dalla fine del contest versione ufficiale uploadata. Whew! A dire il vero, la versione "ufficiale" l'abbiamo uploadata un paio d'orette prima. Ma poi Luigi si è accorto che avevo dimenticato di inserire qualche suono (proprio quando stavo finalmente per mangiarmi una bella pizza col prosciutto), e quindi è scattata un'ultima corsetta finale.

Ecco qua una composizione con tutti i livelli della versione da contest, la 1.0.002:

Stackout levels

Cosa funziona e cosa no

A parte un bug (che non cito sperando che resti nascosto, e che dovrei aver risolto con la versione 1.0.003 - che non uploaderò per un paio di giorni, per correttezza), abbiamo ricevuto un sacco di feedback. A tutti è piaciuta la grafica, le musiche, ed i suoni. Qualcuno ha suggerito magagne che siamo riusciti ad implementare all'ultimo momento (come chiarire che i pallini in alto sono le vite, o mostrare la barra del multiplier, invece che tenerlo nascosto).

Fra le cose evidenziate da sistemare, queste sono le principali:
- far esplodere la pallina quando la si perde, visto che per ora tutto accade in modo troppo "silenzioso"
- migliorare l'apparizione dei bonus, che si vedono poco
- non "bloccare" le animazioni quando si perde una pallina e finisce un livello, ma lasciarle scorrere 

Dove andare da qui

Ho appuntamento via Skype mercoledì con Fabian, per discutere il futuro di Stackout dopo essersi riposati un po'. Di certo, alcune cose che vogliamo implementare sono:
- una modalità "endless", con mattoncini che scorrono verso il basso ogni volta che si distrugge una riga
- più mondi e livelli, ovviamente
- un numero maggiore di bonus, sia positivi che negativi
- delle highscore relative ad ogni mondo, invece che comuni per tutti
- poter accedere alle highscore dal menu principale, ed anche memorizzare i propri punteggi migliori in locale
- un sacco di altra roba in base ai feedback ricevuti, che Fabian per ora sta tenendo nascosta fino a mercoledì, eheheh

E infine, un'ode ai programmi utilizzati per lo sviluppo

Prima di tutto, ovviamente, Unity. Che anche se ha cercato di ostacolarmi con un bug terribile (che rendeva Stackout ingiocabile dentro all'editor, a causa di un bug nella editor GUI causato dalla prospettiva distorta della telecamera) è fantastico e soprattutto molto flessibile.

Come al solito, 2D Toolkit ha poi il posto di maggior rilievo. In genere lo uso per fare giochi in 2D, ma qui ha funzionato perfettamente per la UI (anche grazie a varie utility che ho messo nelle mie HOUnityLibs).

Una cosa nuova che ho usato invece, e che si è dimostrata fantastica (anche se ancora giovane e con qualche funzionalità mancante) è Scoreoid. E' un sistema per gestire le highscores semplice e immediato, senza bisogno di un server, e soprattuto aggratis!

Poi ho ovviamente adoperato il mio HOTween per tutte le animazioni, e EasySave 2 - altro plugin super semplice e veloce da implementare - per salvare al volo le preferenze del giocatore.

Ovviamente c'è anche altra roba usata al di fuori di Unity sia da Fabian che da Luigi che da me (tipo Photoshop etc), ma lascio che la lista finisca qui.

Grazie per la lettura, e per aver giocato (o se non ci avete ancora giocato: giocateci! :D). Vi lascio con un video del gameplay v1.0.002.


Voilà
2013-01-05 22:06:56

Che dire, sono morto e ho una fame boia, perché non ho ancora avuto il tempo di mangiare. Quindi per ora, solo voilà: Stackout è finito! :)

Domani qualche nota in più. C'è tutto: 4 mondi, ognuno con una musica diversa fatta dal grande Luigi, e una grafica semplice e differente fatta dal grande Fabian. Ci sono i bonus. Le highscore online. La giocabilità un po' bastarda e non facile dei classici. Ci sono anche sicuramente cose che si potrebbero e dovrebbero aggiungere, ma per ora siamo felici e soddisfatti.

A voi giocare ora. Le versioni Win e Mac da scaricare le trovate qui ;)

Stackout Voilà


Il rush finale, e la prima versione giocabile
2013-01-05 13:05:38

Whew, gli ultimi giorni sono stati un delirio - un po' come per tutti i partecipanti, direi. Ma finalmente, Stackout è finito! E' ancora in beta a passerò il pomeriggio a debuggare e ottimizzare, ma se vi va qui trovate la beta giocabile con tutti i livelli, scaricabile per Windows e Mac (non ho ancora provato a fare un webplayer, ma alla fine andrò anche per quella strada): Stackout beta.

Mi scuso per il blog breve, ma per adesso stacco qui! Devo assolutamente farmi una doccia e poi chiudere il rush finale. Appena Stackout sarà chiuso, aggiungerò un bel post-mortem.


Goodbye Prototype, Hello World
2012-12-31 02:46:14

Finalmente, sono un paio di giorni che non nomino più le varie build con il suffisso "prototype": siamo ufficialmente in alpha e per il primo gennaio vorremmo entrare in beta.

Luigi ha realizzato la musica per il primo scenario (i verdi pascoli) e quasi tutti gli effetti sonori, avendo quasi carta bianca, e sono tutti molto belli e in parte "diversi" da ciò che ci si sarebbe potuto aspettare, il che conferisce più originalità al tutto, e aiuta ad approcciarsi al gioco in modo più strategico che arcade. Per gli effetti sonori, specialmente il suono dei rimbalzi contribuisce a dare alla pallina una consistenza che finora ci era sfuggita. Grande Luigi!

Fabian, dal canto suo, ha completato quasi tutta la grafica, e creato i mattoncini e le decorazioni per tutti i primi 4 scenari, verdi pascoli, città, deserto, e ovviamente circo, riuscendo a mantenere vivi i suoi colori estremamente vividi ma con un non so che di pastelloso.

Ecco quindi un primo mini-video del gameplay ufficiale di Stackout. I punteggi ancora non sono implementati (così come la transizione tra un livello e l'altro), ma per il resto c'è quasi tutto. Fortuna che domani è capodanno e la mia donna è in un'altra nazione, quindi per non cadere in depressione ne approfitterò per programmare programmare ubriacarmi programmare :D


Primo scenario: i verdi pascoli
2012-12-24 11:13:54

Piccolo aggiornamento pre-natalizio. Abbiamo finalmente il primo scenario completo, fatto di verdi pascoli e montagne collinose (o colline montagnose, se preferite). Piccoli dettagli: quando si distrugge un mattoncino che contiene un albero, uno stormo di uccelli vola via lamentandosi, e cose così.

Gli altri scenari che vogliamo realizzare, per ora, sono:
- deserto
- città
- antartide
- e ovviamente circo

Abbiamo anche ingrandito tutti i mattoncini, perché altrimenti riuscire ad eliminarli tutti diventava un'operazione lunga e noiosa (un po' come il Breakout originale, che come ho scritto in precedenza non mi ha mai attirato particolarmente, appunto per il fattore noia). Ora un livello si può finire relativamente in fretta, e il punteggio è anche basato sul totale di rimbalzi sul pad occorsi, il che rende la giocabilità meno frenetica e più "mirata".


Piccoli rimbalzi crescono
2012-12-20 12:50:00

Sì, è proprio vero, i rimbalzi sono super-fondamentali per quel che riguarda Breakout, e quindi Stackout. Quindi, eccomi ancora a descrivere un po' più tecnicamente il lavoro fatto sulla pallina.

Se avete letto i blog precedenti, saprete già che l'angolo di rimbalzo viene calcolato quasi normalmente (perché stia usando un "quasi" lo spiego un po' più sotto) nel caso di un impatto con mura o mattoncini, mentre nel caso di impatto col pad del giocatore, viene calcolato a seconda del punto di impatto - inteso come distanza dal centro del pad - ignorando completamente l'angolazione di arrivo, e permettendo al giocatore di mirare la pallina.

Giocando a Stackout, ci siamo però resi conto che mirare non era semplice, perché usando un semplice algoritmo lineare "distanza dal centro uguale angolazione del rimbalzo", i rimbalzi tendevano ad andare verso i lati. Così, ho applicato una sorta di easing esponenziale all'algoritmo del rimbalzo, in modo che l'angolazione tenda ad allontanarsi dal centro in modo più morbido. Scritto così, mi rendo conto che possa non essere chiaro, così qui accanto avete un'immagine per spiegare il tutto (la penna sarà anche più forte della spada, ma un'immagine vale mille parole - e scusate la battuta stupida).

Per il "quasi" usato sul resto dei rimbalzi invece, mi spiego. Per evitare che un impatto generi un'angolazione troppo verticale o troppo orizzontale, quando calcolo il rimbalzo vedo di applicare un minimo di angolazione (che ovviamente varia a seconda dell'inclinazione). Così, non capiterà mai che la pallina cominci a rimbalzare quasi orizzontalmente - o verticalmente - ed impeghi secoli a tornare verso il basso.

L'engine fisica

La fisica, per quel che riguarda la gravità dei mattoncini, è quella di Unity. Per il resto invece, visto che serviva maggiore controllo sui rimbalzi, ho creato una mia piccola engine 2D, che usa l'Update di Unity (invece che il FixedUpdate), e calcola il rimbalzo successivo in modo precognitivo (in pratica, invece che controllare se qualcosa è stato colpito dopo aver spostato la pallina, verifica se qualcosa verrà colpito prima di spostarla, e continua a verificare con le nuove angolazioni di rimbalzo finché il deltaTime iniziale non viene ridotto a zero). Ci sono due modi per testare un sistema del genere: A) abbassare il framerate velocizzando la pallina, e testare il tutto per vedere se qualche collisione viene ignorata, o B) ipervelocizzare la pallina, e poi verificare le collisioni. Il sistema A è il più fuzionale, ma il B è il più divertente. Ecco quindi un video che mostra che anche con l'ipervelocità tutto funziona perfettamente ;)


Eppur si muove
2012-12-15 18:35:22

Ed ecco qua un primo video del cosiddetto "prototipo C". C'è la fisica e la logica del rimbalzo, parte della grafica, e il concetto base dei mattoncini accatastati. 

 Ora bisogna solo aggiungere un'altra enormità di cose, ad esempio:
- Migliorare la logica del rimbalzo, così che la pallina segua l'algoritmo "distanza dal centro del pad = angolazione del rimbalzo" in modo esponenziale invece che lineare (per rendere la mira più agevole), e decidere se il rimbalzo dal pad seguirà la prospettiva distorta dell'area di gioco, o se sarà invece de-distorto.
- Aggiungere la fantastica musica e gli stupendi suoni che ancora sono nascosti nella mente di Luigi (visto che non siamo stati ancora in grado di dargli qualcosa di definitivo).
- Implementare tutti i nuovi mattoncini di Fabian, che saranno non solo cubi, ma ci permetteranno di ricreare delle vere e proprie ambientazioni (città, montagna, etc)
- Aggiungere i bonus, i punteggi, e la tanto cara mortalità
- Vedere se, alla fine, riusciremo anche ad aggiungere un sistema a livelli procedurali infinito


Circus-retro: evoluzione di uno stile
2012-12-10 00:20:27

Questo articolo è dedicato a Fabian Smith, grafico, designer e co-ideatore di Stackout (no, Fabian non è morto, non fraintendete il "dedicato"), ma comincia con me - Daniele Giardini - perché devo fare un appunto. Per quel che riguarda Stackout, io mi occupo principalmente del codice. Però, sono anche un grafico e illustratore, e questo significa che lavorare ad un progetto in cui non collaboro alla parte grafica è dura. Molto dura. In più di un decennio lavorativo, non ricordo neanche una singola volta in cui sono rimasto soddisfatto del lavoro di un altro grafico. Insomma, sono uno scassacazzi, se mi perdonate il russo. Ed ecco, il punto è proprio questo. Finalmente, sono soddisfatto. Fabian Smith sta facendo un lavoro magnifico, creativo, pieno di verve. Mi piace. Mi piace un casino. Quest'ultimo mockup, il cui stile mi piace chiamare circus-retro, è geniale.

Una delle caratteristiche di Fabian è l'uso dei colori. Usa e abbina colori che normalmente sarebbero intoccabili, e riesce a tirarne fuori un insieme coerente e armonioso. Oltre a ciò, sa affrontare la modellazione 3D con stile, cosa stranamente rara in un ambiente in cui si cerca di raggiungere vette più o meno elevate di realismo, e ci si dimentica di quanto sia importante la personalità.

Inizialmente, siamo partiti dall'idea di avere il campo di gioco visto dall'alto, con una leggera inclinazione. E di mostrare il tutto come se fosse all'interno di un vero coin-op. Qualche prova, e il coin-op è stato scartato. Era brutto, occupava troppo spazio, e affogava la grafica.

Nello step successivo, Fabian ha quindi tirato fuori una nuova prospettiva, isometrica ma distorta (con un horizontal skew insomma - probabilmente scriverò un blog a parte su come realizzare una cosa del genere in Unity, e dei bug che causa e che spero il team di Unity risolva in fretta). Affascinante, e per fortuna dopo un primo prototipo ci siamo resi conto che era anche giocabile. Però, il tutto mancava ancora di personalità.

Nuovo step, ed è comparso un effetto "carta" e dei colori più decisi e più Fabian-eschi. Intrigante, quasi perfetto per il nostro progetto, però ci siamo ritrovati a discutere sui bordi dell'area di gioco e a come non fossero davvero in sintonia con il resto. Lunghe discussioni che non portavano a nulla che ci soddisfacesse.

Poi: è arrivato il mockup che avete visto sopra. I bordi ora fanno parte del gioco, e lo stile rimanda - più o meno inconsapevolmente, e con originalità - a classica grafica da circo del passato. Circus-retro! Magnifico. Niente più discussioni. Solo tanta soddisfazione.

Ed ora, ecco a voi una GIF animata con tutte le evoluzioni di Fabian per Stackout.


La logica del rimbalzo
2012-12-05 21:41:42

Uno degli elementi più importanti del classico Breakout è, ovviamente, il modo in cui la pallina rimbalza sul pad (o bouncer) del giocatore.

Quando tocca uno degli altri elementi del gioco, la pallina rimbalza in modo "classico" (friction ed eventuali considerazioni sulla velocità di rotazione a parte), ma tutto cambia quando viene toccato il pad, nel qual caso l'angolo dipende esclusivamente dal punto in cui il pad viene toccato. E' parte fondamentale del gameplay, e rende tutto più divertente, permettendo al giocatore di mirare con più o meno precisione ai vari mattoncini ancora vivi.

Quindi, nel secondo prototipo di Stackout, sono subito passato a programmare la logica del rimbalzo. Implentando due opzioni: A) classico, come sopra, B) invece che dipendere dal punto di contatto del pad, il rimbalzo varia a seconda della velocità e della direzione del pad al momento dell'impatto. A dire il vero, la modalità B l'ho implementata solo perché da piccolo ero convinto che funzionasse così, il che mi rendo conto che non mette in buona luce la mia intelligenza, ma tant'è.

Alla fine, ha vinto la modalità A. Semplicemente perché permette di mirare meglio, ed è più facile da controllare. Abbiamo anche pensato di implementare un pad con una superficie curva, che avrebbe reso meglio l'idea (così altri bambini non si sarebbero sentiti stupidi come me), ma probabilmente resteremo su un'impostazione piatta.


Il primo prototipo (o come rendersi conto che le idee sono più intriganti della pratica)
2012-12-04 17:44:25

Anche se da piccolo ho giocato il clone di Breakout, Arkanoid, il genere non mi ha mai attirato, e se siamo arrivati a questa idea è stato tramite un percorso vario. Inizialmente, volevamo fare un gioco che mischiasse e omaggiasse vari classici retro. Avevamo anche pensato a un remake di Spy Hunter, visto che sarebbe stato super-divertente da fare. Però, a fronte delle varie ipotesi che proponevo, mi tornavano sempre in testa Breakout e Tetris, e come si potessero combinare felicemente. Così, siamo finiti a fare Stackout.

Il concetto iniziale era avere un Breakout con un pad circolare, al centro dello schermo, e i mattoncini attorno. Il rimbalzo della pallina sarebbe stato regolare/lineare dopo aver toccato il pad del giocatore, mentre dopo il primo rimbalzo "esterno" avrebbe cominciato ad essere attirata verso il centro. In pratica, il pad circolare si sarebbe comportato come un pianeta, che attirava la pallina grazie al suo centro di gravità. Intrigante, sulla carta. Ma ho fatto un prototipo al volo e il gameplay faceva schifo.

Per fortuna, Fabian aveva avuto anche un'altra idea molto interessante. Avere i mattoncini su più piani, accatastati uno sopra l'altro. Ho modificato il prototipo precedente per avere un pad "classico", e voilà, siamo a Stackout.

P.S. e ovviamente, ci saranno sia livelli separati, che un unico livello infinito, con mattoncini che cadono e si aggiungono a quelli già esistenti (alla Tetris, ma non troppo).


Campagne crowfunding

Just One Line
Siamo presenti su

     
Copyright ©2016 - Manifesto - Privacy - Termini di Servizio - Community - Collaboratori - Contattaci