venerdì 7 giugno 2013

Il mio nuovo progetto in corso

Oggi vorrei parlarvi di un progetto che ho iniziato quasi un mese fa con un mio amico (nonchè compagno di disavventure universitarie). Io e Andrea ci siamo buttati nello sviluppo di un videogioco tutto nostro. Per iniziare, dato che principalmente ho sempre fatto giochi con Flash, abbiamo deciso di rimanere su questa piattaforma di sviluppo. In futuro, dopo questa prima prova, saremo pronti ad affrontare il noto ed ambìto Unity3D. Ma lasciate che vi parli di ciò che stiamo facendo ora...




L'idea che sta alla base del gioco è venuta ad Andrea: facciamo un clone di "Get Medieval" e lo facciamo multiplayer. Da qui in poi abbiamo limato e sfumato,anche a causa delle poche risorse disponibili di Flash che non è in grado di gestire cose complicate. Per rendervi l'idea il gioco è simile a Get Medieval, ma un po' più stile Zelda e meno Diablo e, ancora, un po' più dark e horror di Zelda. Insomma, vi sarà ben chiaro nel momento in cui lo proverete.
Per ora vi basti sapere che si tratta di muovere un eroe all'interno di vari dungeon, uccidendo nemici, trovando le giuste chiavi per aprire le porte ed avanzare e collezionando tesori di vario valore. Il tutto guidati dalla luce di una torcia che quindi limiterà il vostro campo visivo. 

Dato che al momento i lavori sono in fase moooolto preliminare (il tempo è quello che è), non mi sembra ancora  il caso di apire un sito dedicato al gioco.
Quello che mi piacerebbe fare però è tenere un diario di lavoro in modo tale da renderci conto man mano, andando a rileggerlo, di quanti progressi abbiamo fatto ma soprattutto per tenere informati voi, cari lettori, della situazione in cui ci troviamo.

Per ora posto tutto qui di seguito. Appena ho più tempo apro una pagina o un blog dedicato.

**********************************************************************************

DIARIO DI LAVORO


Il progetto inizia ufficialmente Mercoledì 8 Maggio 2013.

Abbiamo messo a schermo l'eroe e pensato a come realizzare il livello di gioco. Dopo una breve ricerca su google abbiamo trovato l'utilissimo TaT_Tile_Map_Editor, un editor di mappe tile scritto in Java che permette di creare file XML contententi la mappa di gioco.
Fatto ciò, abbiamo creato un semplice parser del file XML contentente la mappa e messo a schermo il nostro primo livello.
A questo punto le cose sono diventate parecchio complicate: l'eroe si muoveva su una mappa tile che doveva essere scrollata a schermo sotto di esso. Il problema? Le maledette collisioni con i muri.
Siamo letteralmente impazziti per creare un sistema efficiente che facesse il tutto ma alla fine abbiamo mollato. Il fatto è che per quanto ci sforzassimo di rendere le collisioni il più preciso possibile, non riuscivamo ad ottimizzare il tutto perchè girasse senza rallentamenti.
Questo era il primo risultato:




Il problema principale sono le prestazioni. Così siamo passati ad una versione in cui la mappa non era fatta di tile ma semplicemente era costituita da un'immagine a video. In questo modo le collisioni erano molto più semplici e leggere da implementare, in quanto non si doveva più andare a guardare tile per tile ma bastava un semplice test sulla collisione tra l'eroe e l'immagine del muro
Risultato:


Tuttavia è sorto un nuovo problema: lo scrolling. Dato che la mappa deve scrollare, devono scrollare di conseguenza tutti gli oggetti su di essa (nemici, tesori ecc..). Quindi per ogni fotogramma avremmo dovuto muovere ogni singolo oggetto a schermo. Decisamente un degrado enorme in termini di prestazioni.
Siccome la singola mappa di un livello tutto sommato non è enorme, si è deciso di non effettuare lo scrolling ma di muoversi liberamente sulla mappa che rimane fissa. Molto meglio.

24 Maggio 2013

Nuova svolta: si torna alla mappa tile, questa volta però con collisioni più leggere e senza scrolling.
- Aggiunto il parser dei livelli completo di porte e oggetti
- Aggiunti punti vita e score
- Aggiunta la possbilità di sparare dei colpi e verifica collisioni

29 Maggio 2013

- Aggiunta la presenza e lo spawn dei nemici

3 Giugno 2013 

- Aggiunta la presenza di tre tipi di chiavi e il loro posizionamento tramite parsing xml
- Aggiunta la presenza di tre tipi di porte e il loro posizionamento tramite parsing xml
- Aggiunta la presenza di oggetti che aumentano lo score se raccolti

4 Giugno 2013

- Nuova grafica per l'eroe
- Nuova grafica per la barra


5 Giugno 2013

Ottimizzazione del codice e aggiunta del campo visivo per migliorare le prestazioni.
I nemici vengono posizionati su mappa e poi rimangono immobili. Se entrano nel campo visivo allora li muovo, altrimenti li lascio come sono.
7 Giugno 2013

Scelto ufficialmente il nome. Il gioco si chiamerà Darkest Dungeon

13 Giugno 2013

- Sistemate le collisioni dell'eroe con le porte. Se è chiusa si ferma, se è apribile la apre.
- Aggiunta barra del mana che scala ogni volta che si spara

19 Giugno 2013

- Sistemate le collisioni dei nemici con i muri (ora collidono abbastanza bene)
- Creata immagine schermata principale


20 Giugno 2013

- Creato menù principale con scelta tra play, how to play e credits e relative pagine
- Creata pagina di scelta dei livelli
**********************************************************************

Nessun commento:

Posta un commento