[lnkForumImage]
Download FREE Software.

Confronta i prezzi di migliaia di prodotti.
News Forum Italiano
 Home | Login | Registrati | Ricerca 


 

Forums >

it.comp.giochi.sviluppo

L'asino , le scimmie e le chiavi

MandarX

12/03/2010 22:40:09

Ciao a tutti

ecco il mio ultimo lavoro

è un progetto, nato alla global game jam 2010, a cui ho continuato a
lavorare quasi ogni giorno.

si può dire che è uno sparatutto a scorrimento?

forse no perche non si spara molto, ma lo scorrimento c'è!

in ogni caso lo trovate qui

http://mandarx.xoom.it...

per Windows, GNU+Linux e Mac

l'ho fatto in c++ con le SDL

attendo commenti e critiche

saluti

MandarX

6 Risposte

Gianpaolo Ingegneri

13/03/2010 11:53:34

0


> Ciao a tutti
> ecco il mio ultimo lavoro
> è un progetto, nato alla global game jam 2010, a cui ho continuato a
> lavorare quasi ogni giorno.
>
> si può dire che è uno sparatutto a scorrimento?
> forse no perche non si spara molto, ma lo scorrimento c''è!
> in ogni caso lo trovate qui
>
> http://mandarx.xoom.it...
>
> per Windows, GNU+Linux e Mac
> l''ho fatto in c++ con le SDL
> attendo commenti e critiche

Ho scaricato e provato il tuo gioco. Beh, dato che aspetti anche delle
critiche, mi sento libero di dire la verità: a me non è piaciuto per niente.
Avevo gradito molto il tuo clone di pacman che mi sembrava molto ben fatto
ed invogliava al proseguimento dei livelli, però con questo gioco secondo me
stai prendendo la direzione sbagliata.

L''introduzione era carina ma il gameplay è assolutamente inesistente.
Inoltre trovo bruttissima l''idea di nascondere la morte nei palloncini con
il punto interrogativo... non ti sembra eccessivo far perdere un''intera vita
nella probabilità di prendere un premio a caso? Capisco che lo hai fatto per
introdurre della casualità per aumentare la varietà del gioco, ma non c''è
equilibrio tra le due cose quindi serve solo ad introdurre del caos
assolutamente nocivo. Questo lo dico perchè alla fine mi sono ritrovato a
schivare tutti i punti interrogativi, ed alla fine ne becco solo uno: boom,
fine del gioco. Per quando riguarda il resto, dovresti dare un senso allo
sparo del giocatore, che allo stato attuale è solo un disegno attorno alla
sua bocca, sarebbe stato meglio se avesse proiettato in avanti qualcosa di
concreto... il fatto che sia un urlo non comporta che non possa essere uno
sparo, potevi fare l''animazione di uno smottamento d''aria o qualcosa del
genere... se fai l''impostazione di uno sparatutto a scorrimento è bene che
il personaggio sia in grado di sparare qualcosina altrimenti non ha
assolutamente senso. Il giocatore potrebbe chiederesi che diamine stia
succedendo e togliere tutto dopo i primi 10 secondi di gioco.

Veniamo al lato tecnico. E'' mai possibile che un gioco che si propone di
essere semplice con una schermata iniziale da spectrum, comporti ben 9 mega
di download e 15 mb di spazio sull''harddisk? Secondo me è un controsenso,
magari uno oggi non ci fa caso perchè ci sono le connessioni a banda larga,
ma ai tempi dei modem a 56k avresti avuto grossi problemi con gli utenti.
Arrivati a questo punto, potevi fare molto di più con i mega che hai usato,
abbandonare lo stile "classico" ed usarne uno più moderno... oppure trovare
un modo per occupare meno spazio... Ho notato che il sonoro ti occupa molto
spazio perchè ci sono molti .wav, però controversamente includi le librerie
ogg vorbis... ma perchè non comprimere tutto in punto ogg allora, così tutto
occupa 10 volte meno? Oppure le immagini, invece di salvare tutto in formato
bmp a 32bit per pixel (solo così puoi avere ottenuto 3 mega di file .dat,
altrimenti non si spiega), scali ad 8bit per pixel palettized ed in fase di
caricamento fai l''upsample a 32 bit per pixel, cioè quanti te ne servono per
la fase di disegno sullo schermo. Per quanto riguarda l''aspetto del gioco,
ho trovato carina l''idea dei fumetti, però nel gioco non sei andato molto
avanti rispetto al tuo vecchio progetto, anche se ci sono dei suoni in più
continuano a mancare degli effetti di animazioni, come esplosioni, scritte
col punteggio, punti esclamativi, eccetera, che dovrebbero esserci e che se
fai attenzione danno un aspetto decente anche ai giochi del commodore64: non
ho mai visto in un solo gioco del passato un personaggio che viene colpito e
scompare direttamente, senza fare prima un''esplosione o lasciare un
mucchietto di ceneri, una lapide, o qualcosa del genere... Un punto a favore
in vece per il cross-platform, che penso ti sia costato diverse ore di debug
e potrà far piacere ai possessori di linux e di macos.


MandarX

13/03/2010 12:52:04

0

Gianpaolo Ingegneri ha scritto:

innanzi tutto grazie per la risposta!

> a me non è piaciuto per niente.

mi dispiace...

> L''introduzione era carina ma il gameplay è assolutamente inesistente.
> Inoltre trovo bruttissima l''idea di nascondere la morte nei palloncini con
> il punto interrogativo... non ti sembra eccessivo far perdere un''intera vita
> nella probabilità di prendere un premio a caso?

in realtà il palloncino col punto interrogativo toglie solo mezza vita
(ammazza l''asino solo se già aveva mezza vita in meno)
altrimenti da il raglio e ripristina l''eventuale mezza vita persa.

dal livello 3 in poi c''è anche la carota che ripristinerà la mezza vita.

> Questo lo dico perchè alla fine mi sono ritrovato a
> schivare tutti i punti interrogativi, ed alla fine ne becco solo uno: boom,
> fine del gioco.

in realtà bisogna usare il raglio con intelligenza perche mentre sta
ragliando l''asino è invulnerabile alle scimmie (che muoino se le tocchi)
e ai punti interrogativi nocivi. nel caso in cui becca un palloncino col
teschio mentre raglia non morira ma perdera la mezza vita e non importa
se gia l''aveva persa prima.

> dovresti dare un senso allo
> sparo del giocatore, che allo stato attuale è solo un disegno attorno alla
> sua bocca,

come ho detto sopra il raglio in caso di collisione con le scimmie le
uccide!

se vuoi sparare nel senso della parola devi arrivare all''ultimo livello
quando combatterai contro il boss finale!!!

> Veniamo al lato tecnico. E'' mai possibile che un gioco che si propone di
> essere semplice con una schermata iniziale da spectrum, comporti ben 9 mega
> di download e 15 mb di spazio sull''harddisk?

attenzione la schermata iniziale da spectrum è un omaggio allo stesso,
non implica che il gioco sia scritto in assembler!!!! (purtroppo non so
programmare in assembler)


> Ho notato che il sonoro ti occupa molto
> spazio perchè ci sono molti .wav, però controversamente includi le librerie
> ogg vorbis... ma perchè non comprimere tutto in punto ogg allora, così tutto
> occupa 10 volte meno?

qualche libreria in effetti si poteva togliere...
come avrai notato ci sono alcuni file mp3 e altri wav
il problema è che con le SDL i file mp3 non sono suonati con precisione
come i file wav
avrai notato che la musica del gioco e quella della presentazione nonche
della sigla finale sono dei loop, e come tali devono essere ripetute
immediatamente appena terminano. Lo fa automaticamente la SDL_Mixer, ma
non bene se uso formati compressi. per questo ho deciso di lasciare i
wav, mi aspettavo maggiore compressione da parte del programma che ho
usato per fare l''installazione sotto win.

mi hanno detto che le OpenAL sono ottime, un giorno gli darò un''occhiata!

> Oppure le immagini, invece di salvare tutto in formato
> bmp a 32bit per pixel (solo così puoi avere ottenuto 3 mega di file .dat,
> altrimenti non si spiega)

sono PNG JPG e pochissime BMP
sono 130 immagini!

ce n''è una in particolare che è piuttosto grossa perche ho dovuto
comprimerla al minimo. Sotto mac se la comprimevo di piu a tutto schermo
si vedeva malissimo. La portabilità ha i suoi costi.
Lo so che qualcuno potrebbe dire "ma perche non hai usato quella meno
compressa per mac e quella piu compressa per Win e Lin??"

il fatto è che uso un algoritmo crc per controllare i dati da caricare e
avrei dovuto fare versioni diverse. in effetti bastava usare la #define
e cambiare appena due righe di codice, ma come hai detto tu la banda
ormai è larga e lo scaricamento veloce! ma terrò a mente anche questo
per i progetti futuri.

> scali ad 8bit per pixel palettized ed in fase di
> caricamento fai l''upsample a 32 bit per pixel, cioè quanti te ne servono per
> la fase di disegno sullo schermo.

e questo con le SDL come si fa??? io carico le immagini con IMG_Load_RW
dopo averle estrapolate dal file dat
forse bisogna lavorare sul pixel format??

> Per quanto riguarda l''aspetto del gioco,
> ho trovato carina l''idea dei fumetti, però nel gioco non sei andato molto
> avanti rispetto al tuo vecchio progetto

non ci crederai ma ho scelto di mettere i fumetti pensando proprio ai
tuoi consigli sul menu, che mi hai dato ai tempi del pacman!!!

> continuano a mancare degli effetti di animazioni, come esplosioni, scritte
> col punteggio, punti esclamativi, eccetera, che dovrebbero esserci e che se
> fai attenzione danno un aspetto decente anche ai giochi del commodore64

lo soooooo!!!!!
il punteggio non l''ho voluto mettere di proposito perche mi sembra una
cosa inutile tranne che per regalare una vita (o un cannone come dico
io) ma considerando che il gioco puo ripartire dal livello in corso non
ho voluto regalare vite.

le animazioni di questo tipo secondo me sono molto piu stressanti da
programmare, molto piu del motore del gioco, almeno per me, ma lo so,
non guastano mai. se poi consideri che il grafico è sparito...
lui ha disegnato solo l''asino il palloncino col punto interrogativo e
col teschio, il teschio del game over e le scimmie (che ho dovuto
ritoccare perche a dire il vero non mi erano mai piaciute. lasino è
forte però!)

io ho dovuto fare il boss finale, la ragazza dell''animazione, alcuni
palloncini, la faccia dell''asino quando muore, la faccia dell''asino dal
livello 5 quando prende il carciofo, gli sprite sullo sfondo come gli
aerei e le altre scimmie che trasportano le arance, le scritte!!!

io conosco il photoshop ma non sono un bravo disegnatore!

> Un punto a favore
> in vece per il cross-platform, che penso ti sia costato diverse ore di debug
> e potrà far piacere ai possessori di linux e di macos.


beh in fondo con le SDL non è cosi difficile
occhio alla rand() però!!!

Gianpaolo Ingegneri

13/03/2010 20:27:56

0


>> Veniamo al lato tecnico. E'' mai possibile che un gioco che si propone di
>> essere semplice con una schermata iniziale da spectrum, comporti ben 9
>> mega di download e 15 mb di spazio sull''harddisk?
>
> attenzione la schermata iniziale da spectrum è un omaggio allo stesso, non
> implica che il gioco sia scritto in assembler!!!! (purtroppo non so
> programmare in assembler)

Si, però la mia prima impressione è stata quella, così te l''ho detto. Per il
resto, l''assembler non c''entra molto con le dimensioni ma con le
performance, infatti anche se lo avessi programmato in assembly ti sarebbero
rimaste tutte le risorse da caricare, che sono quelle che occupano la
maggior parte dello spazio nel tuo progetto.

>> Ho notato che il sonoro ti occupa molto spazio perchè ci sono molti .wav,
>> però controversamente includi le librerie ogg vorbis... ma perchè non
>> comprimere tutto in punto ogg allora, così tutto occupa 10 volte meno?
>
> qualche libreria in effetti si poteva togliere...
> come avrai notato ci sono alcuni file mp3 e altri wav
> il problema è che con le SDL i file mp3 non sono suonati con precisione
> come i file wav
> avrai notato che la musica del gioco e quella della presentazione nonche
> della sigla finale sono dei loop, e come tali devono essere ripetute
> immediatamente appena terminano. Lo fa automaticamente la SDL_Mixer, ma
> non bene se uso formati compressi. per questo ho deciso di lasciare i wav,
> mi aspettavo maggiore compressione da parte del programma che ho usato per
> fare l''installazione sotto win.
> mi hanno detto che le OpenAL sono ottime, un giorno gli darò un''occhiata!

Eh, qua devi cercare di rivedere molte cose. Dato che il gioco è semplice,
avresti dovuto usare degli ogg per i samples ed i mod per le musiche, che
occupano una manciatina di kb. Oggi uno che ti fa i mod non lo trovi ma ci
sono molti mod di pubblico dominio e le fmod sono free se il progetto non è
commerciale.

>> Oppure le immagini, invece di salvare tutto in formato bmp a 32bit per
>> pixel (solo così puoi avere ottenuto 3 mega di file .dat, altrimenti non
>> si spiega)
>
> sono PNG JPG e pochissime BMP
> sono 130 immagini!

130 immagini sono davvero tante per quello che ho visto. Qua ti consiglierei
di pianificare un''ottimizzazione delle risorse, anche come esercizio
individuale. Se già un giochino piccolo ti costringe ad usare 130 immagini,
se avessi dovuto farne uno più grande quante ne avresti usate?

> ce n''è una in particolare che è piuttosto grossa perche ho dovuto
> comprimerla al minimo. Sotto mac se la comprimevo di piu a tutto schermo
> si vedeva malissimo. La portabilità ha i suoi costi.

Purtroppo molte librerie sono poco coerenti da questo punto di vista, ed è
per questo motivo che mi sto facendo un framework programmato da zero con la
maggior parte dei formati proprietari.

> Lo so che qualcuno potrebbe dire "ma perche non hai usato quella meno
> compressa per mac e quella piu compressa per Win e Lin??"

No, è davvero una soluzione sbagliata. Un software deve essere coerente da
una versione all''altra, meglio evitare i tappabuchi per capire dove sta il
vero problema e risolverlo.

> > scali ad 8bit per pixel palettized ed in fase di
>> caricamento fai l''upsample a 32 bit per pixel, cioè quanti te ne servono
>> per la fase di disegno sullo schermo.
>
> e questo con le SDL come si fa??? io carico le immagini con IMG_Load_RW
> dopo averle estrapolate dal file dat
> forse bisogna lavorare sul pixel format??

Altro motivo per il quale mi sto facendo un framework. Tutte le immagini
caricate da file devono essere convertite per adattarsi alla risoluzione
agganciata dalla scheda video. Nel mio framework ho implementato la
conversione tra più di 50 formati differenti per evitare questo problema,
tra qui c''è pure quello con palette. Spero che le sdl siano in grado di fare
altrettanto.

>> Per quanto riguarda l''aspetto del gioco, ho trovato carina l''idea dei
>> fumetti, però nel gioco non sei andato molto avanti rispetto al tuo
>> vecchio progetto
>
> non ci crederai ma ho scelto di mettere i fumetti pensando proprio ai tuoi
> consigli sul menu, che mi hai dato ai tempi del pacman!!!

Infatti hai fatto bene, perchè è la parte migliore. ;-) Solo non avresti
dovuto farlo vedere ogni volta che si gioca, implementando un tasto per
saltare la cutscene.

>> continuano a mancare degli effetti di animazioni, come esplosioni,
>> scritte col punteggio, punti esclamativi, eccetera, che dovrebbero
>> esserci e che se fai attenzione danno un aspetto decente anche ai giochi
>> del commodore64
>
> lo soooooo!!!!!
> il punteggio non l''ho voluto mettere di proposito perche mi sembra una
> cosa inutile tranne che per regalare una vita (o un cannone come dico io)
> ma considerando che il gioco puo ripartire dal livello in corso non ho
> voluto regalare vite.
>
> le animazioni di questo tipo secondo me sono molto piu stressanti da
> programmare, molto piu del motore del gioco, almeno per me, ma lo so, non
> guastano mai. se poi consideri che il grafico è sparito...

Ma infatti è per questo che ti dico di farle, perchè sono la parte più
rognosa nella programmazione di un videogioco ed è utile come esercizio
individuale. Personalmente ne so qualcosa, guarda questo video, è di un
video gioco che ho programmato tutto da solo diversi anni fa:

http://www.youtube.com/watch?v=b...

> lui ha disegnato solo l''asino il palloncino col punto interrogativo e col
> teschio, il teschio del game over e le scimmie (che ho dovuto ritoccare
> perche a dire il vero non mi erano mai piaciute. lasino è forte però!)
>
> io ho dovuto fare il boss finale, la ragazza dell''animazione, alcuni
> palloncini, la faccia dell''asino quando muore, la faccia dell''asino dal
> livello 5 quando prende il carciofo, gli sprite sullo sfondo come gli
> aerei e le altre scimmie che trasportano le arance, le scritte!!!
>
> io conosco il photoshop ma non sono un bravo disegnatore!

C''è molta grafica in giro che puoi utilizzare gratuitamente. In passato
volevo fare un clone di super smash bros in 2D, e mi sono scaricato una
marea di personaggi del mugen per fare l''engine.

> > Un punto a favore
>> in vece per il cross-platform, che penso ti sia costato diverse ore di
>> debug e potrà far piacere ai possessori di linux e di macos.
>
>
> beh in fondo con le SDL non è cosi difficile
> occhio alla rand() però!!!

Purtroppo la compatibilità porta anche a dei sacrifici, quando le librerie
sono limitate come in questo caso. Programmare da capo tutto quello che
serve per un progetto completo, è massacrante, io con il mio framework penso
di avere superato le 100000 righe di codice ed ancora ho tantissimo da fare.
E questo penso che riguardi un po'' tutti gli sviluppatori con poche risorse,
senza un framework intelligente è impossibile fare più di tanto ed è brutto
restare ancorati a progetti fatti da altri.


MandarX

14/03/2010 00:09:33

0

Gianpaolo Ingegneri ha scritto:
> Dato che il gioco è semplice,
> avresti dovuto usare degli ogg per i samples ed i mod per le musiche, che
> occupano una manciatina di kb. Oggi uno che ti fa i mod non lo trovi ma ci
> sono molti mod di pubblico dominio e le fmod sono free se il progetto non è
> commerciale.

non sono d'accordo. se le SDL sono piu performanti con i wav continuerò
ad usare i wav. mi hanno detto che con gli ogg vanno bene ma non ho
avuto modo di testarle, proverò in futuro.
in ogni caso lavorare alle musiche per il gioco è stato un aspetto molto
divertente e sono le musiche che volevo non dei mod qualsiasi.

> 130 immagini sono davvero tante per quello che ho visto.

dipende da che livello sei arrivato!

>> non ci crederai ma ho scelto di mettere i fumetti pensando proprio ai tuoi
>> consigli sul menu, che mi hai dato ai tempi del pacman!!!
>
> Infatti hai fatto bene, perchè è la parte migliore. ;-) Solo non avresti
> dovuto farlo vedere ogni volta che si gioca, implementando un tasto per
> saltare la cutscene.

prova a premere enter per velocizzare o esc per chiudere l'intermezzo

> senza un framework intelligente è impossibile fare più di tanto ed è brutto
> restare ancorati a progetti fatti da altri.

questo è vero. a me le SDL piacciono ma ovviamente hanno i loro limiti
che probabilmente si compensano con OpenGL almeno per quanto riguarda la
grafica.

La cosa che mi interessa è che la versione 1.3 dovrebbe supportare
ufficialmente anche l'iPhone, ma non ho capito quando saranno pronte.

MandarX

Gianpaolo Ingegneri

14/03/2010 20:22:32

0

Se devi scegliere un titolo inglese, perchè non lo chiami DonKey Kong? Così
hai l'asino, le scimmie e le chiavi! Attento però che la nintendo potrebbe
farti causa ahahahah


MandarX

14/03/2010 20:45:17

0

Gianpaolo Ingegneri ha scritto:
> Se devi scegliere un titolo inglese, perchè non lo chiami DonKey Kong?


ma lol!!!