PDA

View Full Version : [CICLO 16] Storia 3


Jocchan
15-05-2006, 15:46
Visto che capita spesso di trovare tutti i task già occupati, o di dover aspettare il completamento di altri per iniziare il proprio, facciamo un piccolo esperimento, aggiungendo una storiella di importanza secondaria fatta di task semplici semplici per abbellire un pò il gioco. Chiunque non abbia niente di più importante da fare, può prenotarsi qui. Non appena finiremo con la dinamite e gli orologi, rilasceremo una nuova versione: che dite, li vogliamo stupire? ;)


Storia 3: storia secondaria, per l’aggiunta di eyecandies e dettagli mirati ad abbellire la seconda release del gioco. Per prenotare i task, occorrerà che tutti i task delle prime due storie siano già prenotati, e chiunque potrà svolgerli, anche se ha già svolto un altro task in questo ciclo, o se è in attesa di poterlo fare.
Occorre mostrare un’animazione a ciclo continuo, ripetuta dopo un intervallo fisso di 6 secondi (configurabili), per il diamante in mano a Josh nel menu principale, fare in modo che le gemme cancellate da un baule, prima di sparire, si rimpiccioliscano sempre di più (con velocità configurabile), che vengano mostrati i frame per lo sgretolamento delle stone e la conseguente trasformazione in gemme, che venga riprodotto un suono quando le gemme vengono cancellate, e quando viene mostrata e fatta scorrere via la CrushBox.

Jocchan
16-05-2006, 11:29
Qui la storiella, in realtà, sarebbe già divisa in task :p

Task:
16.3.1:
modificare OpenALSound aggiungendo la riproduzione di effetti sonori in formato .ogg.

16.3.2: VICIUS: 1 giorno
spostare i path per il suono delle gemme che collidono, e per la canzone di sottofondo, rispettivamente ad audio/sfx/gemdrop.ogg e audio/music/theme_rock.ogg. I vecchi file in uso devono poi essere rimossi dal repository.

16.3.3:
mostrare l'animazione di gfx/common/main_diamond.png, a ciclo continuo ogni 6 secondi, alle coordinate x=527, y=301 esclusivamente nel menu principale.

16.3.4: 71104: completato
riprodurre i frame per lo sgretolamento delle stone, presenti nella stessa texture nelle tre caselle più in basso del frame con il numero 1, quando queste si trasformano in gemme.

16.3.5:
riprodurre una sola volta audio/sfx/deletion.ogg quando un baule viene cancellato.

16.3.6:
riprodurre una sola volta audio/sfx/crushbox_in.ogg quando la Crushbox viene mostrata.

16.3.7:
riprodurre una sola volta audio/sfx/crushbox_out.ogg quando la Crushbox viene fatta scorrere via.

16.3.8: VICIUS: 2 giorni
fare in modo che le gemme cancellate da un baule, prima di sparire, si rimpiccioliscano sempre di più (con velocità configurabile).

Jocchan
16-05-2006, 11:52
Per quel che riguarda il terzo task, va specificato che la struttura della png, a causa delle dimensioni dei frame, è leggermente diversa dal solito.
Invece di una struttura "classica", in cui il numero di frame, che indicherò con i numeri da 1 a 9, è in una sola colonna, ovvero:

1
2
3
4
5
6
7
8
9

Abbiamo una struttura con 3 colonne da 3:

1 4 7
2 5 8
3 6 9

Questo perchè altrimenti, dato che in verticale avremmo occupato poco più di 1024 pixel, ci saremmo ritrovati con una texture 256x2048, con uno spreco immenso di spazio, e molto probabilmente diversi problemi con le schede video che non supportano texture di questa dimensione.

P.S.: il frame "neutro", da mostrare tra un ciclo e l'altro, è il primo.

VICIUS
16-05-2006, 12:54
Mi prendo il task numero 8. Tempo stimato 2 giorni.

ciao ;)

71104
16-05-2006, 19:46
prendo il quattro, 2 giorni a partire da adesso.

jappilas
16-05-2006, 21:06
prendo il quattro, 2 giorni a partire da adesso.
oggi pomeriggio stavo giusto indagando su come farlo, se non avessi avuto difficoltà con le animazioni sarebbe già pronto... :D

Jocchan
16-05-2006, 21:08
oggi pomeriggio stavo giusto indagando su come farlo, se non avessi avuto difficoltà con le animazioni sarebbe già pronto... :D

Volendo c'è il 3, che tra l'altro dovrebbe essere più semplice ;)

jappilas
16-05-2006, 21:16
domani guardo come svolgere il 3 allora ;)

VICIUS
16-05-2006, 22:13
prendo il quattro, 2 giorni a partire da adesso.
Jocchan aveva ragione. Non aspettavi altro che aggiungere lo sgretolamento delle pietre :D

ciao ;)

thebol
17-05-2006, 07:51
prendo il 16.3.3.

tempo 4 giorni(sto largo, tanto non blocco nessuno :) ).

fek
17-05-2006, 09:02
prendo il 16.3.3.

tempo 4 giorni(sto largo, tanto non blocco nessuno :) ).

Per favore, non state larghi con i tempi, dateli corretti. Un'altra cosa, prima di assegnare questi task devono essere assegnati TUTTI i task delle altre due storie. Quindi volate sulla Storia 2 prima.

thebol
17-05-2006, 09:20
Per favore, non state larghi con i tempi, dateli corretti. Un'altra cosa, prima di assegnare questi task devono essere assegnati TUTTI i task delle altre due storie. Quindi volate sulla Storia 2 prima.

capisco, ma visto che è un task standalone l'ho preso apposta stando largo, visto che posso immaginare quanto tempo ci metterò, ma non quanto mi ci potrò mettere.

Se no mi sarei buttato sul 1.3 :P

Jocchan
17-05-2006, 10:39
Le storie 1 e 2 hanno priorità, questa esiste solo per "occupare il tempo" quando non ci sono task liberi, o quando si deve aspettare il completamento di un altro per iniziare il proprio ;)
P.S.: il terzo comunque era "prenotato" da Jappilas, mi pare :)

thebol
17-05-2006, 10:42
Le storie 1 e 2 hanno priorità, questa esiste solo per "occupare il tempo" quando non ci sono task liberi, o quando si deve aspettare il completamento di un altro per iniziare il proprio ;)
P.S.: il terzo comunque era "prenotato" da Jappilas, mi pare :)


duh non avevo visto :(.

Ovviamente ha priorità lui :)

71104
17-05-2006, 12:32
test list 16.3.4:

- rimuovere in UpdateStoneAction il codice per la sostituzione di una stone con una gemma (rimuovere relativi test)
- aggiungere una classe TurnStonesIntoGemsAction
- testare che la nuova action venga chiamata da Grid
- testare che la nuova action continui ad incrementare il current frame delle stones ogni 0.1 secondi
- testare che la nuova action non sostituisca stones con current frame < 7
- testare che la nuova action sostituisca stones con current frame == 7

VICIUS
17-05-2006, 12:35
duh non avevo visto :(.

Ovviamente ha priorità lui :)
Se non mi da conferma entro questa sera te lo assegno.

ciao ;)

jappilas
17-05-2006, 12:46
duh non avevo visto :(.

Ovviamente ha priorità lui :)
ovviamente, non ho nessuna priorità: dicevo che stavo valutando come farlo (eventualmente), e studiando il funzionamento delle animazioni, in modo che nel caso miglire ve lo avrei fatto trovare pronto ieri sera
ma poi non mi sono fatto sentire, o prenotato "ufficialmente", perchè ho trovato alcune cose che non mi sono chiare ;)

quindi anzi, per me sarebbe anche meglio che lo svolgesse qualcun altro, perchè mi darebbe delle dritte su come svolgere il 3 ;)

71104
17-05-2006, 12:58
ho un problema: nelle png i frames delle stones sono in tutto 8 (da 0 a 7), ma se faccio un setCurrentFrame(7) mi crasha O_o'
e se alla stessa istruzione ci metto 6 tutto regolare... o_O'

Bonfo
17-05-2006, 13:12
ho un problema: nelle png i frames delle stones sono in tutto 8 (da 0 a 7), ma se faccio un setCurrentFrame(7) mi crasha O_o'
e se alla stessa istruzione ci metto 6 tutto regolare... o_O'


Sei sicuro di averli "addati" tutti e 8 e non solo 7 ???

VICIUS
17-05-2006, 13:20
Allora in questo momento il codice in Sprite è occupato per il 50% dalla gestione della pulsazione. Non potendo riutilizzare questo "effetto" per rimpicciolire le gemme non mi resta che aggiungere altri metodi, variabili e if nella draw di Sprite. Facendo una stima ad occhio il codice per gestire lo sprite diventerebbe il 20% del codice di Sprite e questo mi puzza.

La soluzione sarebbe creare una interfaccia Transformation che andrà implementata da varie classi che implementano gli effetti speciali e permettere a Sprite di gestire queste classi che trasformano il suo aspetto sullo schermo. Che ne dite è YAGNI?

ciao ;)

VICIUS
17-05-2006, 13:22
ovviamente, non ho nessuna priorità: dicevo che stavo valutando come farlo (eventualmente), e studiando il funzionamento delle animazioni, in modo che nel caso miglire ve lo avrei fatto trovare pronto ieri sera
ma poi non mi sono fatto sentire, o prenotato "ufficialmente", perchè ho trovato alcune cose che non mi sono chiare ;)

quindi anzi, per me sarebbe anche meglio che lo svolgesse qualcun altro, perchè mi darebbe delle dritte su come svolgere il 3 ;)
Perché non contatti thebol e fate il task in pair?

ciao ;)

thebol
17-05-2006, 13:24
Perché non contatti thebol e fate il task in pair?

ciao ;)

per me è ok.

L'unico problema e che posso lavorarci solo la sera :/

jappilas
17-05-2006, 13:27
Perché non contatti thebol e fate il task in pair?

ciao ;)
ehm, mi ci sto perdendo un tantino... non ci si è messo alberto ? :|

cmq per un pair no problem, tranne che in questo periodo il mio pc "dovrebbe" stare spento alla sera per cause di forza maggiore (è rumoroso e si trova in soggiorno :D) e la mia presenza online un po' randomica :p

71104
17-05-2006, 13:41
Sei sicuro di averli "addati" tutti e 8 e non solo 7 ??? il problema adesso non mi si verifica più, probabilmente era dovuto a qualche problema nella mia copia locale di Diamonds che sta scazzando di brutto O.o'
sto rifacendo il checkout, prima di farlo ho fatto un commit parziale del mio task quasi completato (spero che abbia committato tutto, sennò ho rotto la build).

71104
17-05-2006, 13:42
ehm, mi ci sto perdendo un tantino... non ci si è messo alberto ? :| no ^^
io sto facendo il 4

71104
17-05-2006, 13:53
ora devo uscire e perciò non posso finire il task (lo completerò stasera quando torno). ho committato la versione parziale (ho dovuto farlo perché la mia copia locale stava per smettere di funzionare... ^^'), ma c'era un test che mi dava problemi e l'ho lasciato commentato. il problema è semplice: il test inseriva 4 stones, poi le trasformava in gemme, e poi verificava che si fosse creata la big gem (una cosa del genere), ma non funziona più perché per trasformare delle stones in gemme prima deve esserci l'animazione; per la trasformazione è stato usato insertAndUpdate su ciascuna pietra, che deve essere sostituito con qualcosa che oltre ad inserire la pietra faccia anche scorrere subito tutta l'animazione. il test è
TestStoneUpdate.testStoneIncrementAndBigGemOnInsertGemsPair
(ma sto nome chevvordì...? O_o'), ora non ho tempo di correggerlo, se può farlo chi l'ha scritto... ^_^'

grazie, ciao a tutti.

thebol
17-05-2006, 13:58
ora devo uscire e perciò non posso finire il task (lo completerò stasera quando torno). ho committato la versione parziale (ho dovuto farlo perché la mia copia locale stava per smettere di funzionare... ^^'), ma c'era un test che mi dava problemi e l'ho lasciato commentato. il problema è semplice: il test inseriva 4 stones, poi le trasformava in gemme, e poi verificava che si fosse creata la big gem (una cosa del genere), ma non funziona più perché per trasformare delle stones in gemme prima deve esserci l'animazione; per la trasformazione è stato usato insertAndUpdate su ciascuna pietra, che deve essere sostituito con qualcosa che oltre ad inserire la pietra faccia anche scorrere subito tutta l'animazione. il test è
TestStoneUpdate.testStoneIncrementAndBigGemOnInsertGemsPair
(ma sto nome chevvordì...? O_o'), ora non ho tempo di correggerlo, se può farlo chi l'ha scritto... ^_^'

grazie, ciao a tutti.

se come immagino è gestito con un timer, basta aggiungere l'increment del tempo dell'animazione.

purtroppo non ho accesso al svn :(

fek
17-05-2006, 14:09
Allora, era chiarissimo nella descrizione della Storia che NESSUN task andava preso prima che fossero assegnati tutti gli altri. Non solo sono stati presi, ma sono partiti anche i task e addirittura conclusi.

Dunque, esperimento fallito. Non metteremo piu' Storie come questa. Ora, per cortesia, non occupatevi di questa Storia fino a che tutti gli altri task sono stati assegnati.

Bonfo
17-05-2006, 15:21
Allora, era chiarissimo nella descrizione della Storia che NESSUN task andava preso prima che fossero assegnati tutti gli altri. Non solo sono stati presi, ma sono partiti anche i task e addirittura conclusi.

Dunque, esperimento fallito. Non metteremo piu' Storie come questa. Ora, per cortesia, non occupatevi di questa Storia fino a che tutti gli altri task sono stati assegnati.

Aspetta Fek....71104 si è già prenotato per un task nelle altre storie.
Sta aspettando che termino quelli precedenti per proseguire...sembrava che in queste condizioni i task della storia accessoria potessero essere esguiti...

...ci tengo alle mie ditine :ave: :D