PDA

View Full Version : First Playable Update Lock Venerdi' 28/4


fek
27-04-2006, 10:36
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

1) L'audio va disabilitato se non e' presente la scheda sonora e va emesso un warning in console (FIXED Ufo)

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco e va inserito un timer di due secondi (FIXED Cesare)

3) Il punteggio non si vede nella prima partita (FIXED Ufo)

4) Se uno dei due player ha già parecchie celle occupate nello schermo, e l'altro player gli manda una quantità di gemme tali da riempire tutto, non viene dato il game over, ma il gioco prosegue (FIXED cisc)

5) tasti che ogni tanto rimangono freezed

6) gemmone che con falshing gem si spezzano

Prenotatevi per questi fix, abbiamo solo due giorni. Sono tutti di classe A. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :)

Ufo13
27-04-2006, 10:37
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

1) L'audio va disabilitato se non e' presente la scheda sonora e va emesso un warning in console

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco

3) Il punteggio non si vede nella prima partita

Prenotatevi per questi fix, abbiamo solo due giorni. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :)

Prendo il fix (1)

redcloud
27-04-2006, 10:56
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

1) L'audio va disabilitato se non e' presente la scheda sonora e va emesso un warning in console

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco e va inserito un timer di due secondi

3) Il punteggio non si vede nella prima partita

4) Se uno dei due player ha già parecchie celle occupate nello schermo, e l'altro player gli manda una quantità di gemme tali da riempire tutto, non viene dato il game over, ma il gioco prosegue

5) Cambiare il titolo del thread in "First Playable Update Lock Giovedi' 27/4"

Prenotatevi per questi fix, abbiamo solo due giorni. Sono tutti di classe A. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :).

fek
27-04-2006, 11:28
Venerdi' 28. Scusate per la confusione.

Jocchan
27-04-2006, 11:28
Venerdì 28 ;)

Ufo13
27-04-2006, 11:52
Fatto, potete dirmi se funziona?

Ufo13
27-04-2006, 11:53
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

1) L'audio va disabilitato se non e' presente la scheda sonora e va emesso un warning in console

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco e va inserito un timer di due secondi

3) Il punteggio non si vede nella prima partita

4) Se uno dei due player ha già parecchie celle occupate nello schermo, e l'altro player gli manda una quantità di gemme tali da riempire tutto, non viene dato il game over, ma il gioco prosegue

Prenotatevi per questi fix, abbiamo solo due giorni. Sono tutti di classe A. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :)

non c'è anche quello delle BigGem che si spezzano?

Inizio a vedere il (3)

VICIUS
27-04-2006, 12:19
Fatto, potete dirmi se funziona?
No.
Ci guardo io che per scatenare quella eccezione mi basta avviare un player audio qualsiasi.

edit: Falso allarme. Funziona.
ciao ;)

cdimauro
27-04-2006, 12:21
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco e va inserito un timer di due secondi

Prenotatevi per questi fix, abbiamo solo due giorni. Sono tutti di classe A. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :)
Provo col 2: si tratta soltanto delle texture delle gemme, giusto (niente background, ecc.)?

L'attesa di 2 secondi dev'essere prima di iniziare la partita (ma a che serve?)?

^TiGeRShArK^
27-04-2006, 12:34
Alle 10 CEST prendo il tag per l'aggiornamento della secodna First Playable.

Ho bisogno dei seguenti task:

1) L'audio va disabilitato se non e' presente la scheda sonora e va emesso un warning in console

2) Le texture delle gemme vanno precaricate prima di iniziare il gioco e va inserito un timer di due secondi

3) Il punteggio non si vede nella prima partita

4) Se uno dei due player ha già parecchie celle occupate nello schermo, e l'altro player gli manda una quantità di gemme tali da riempire tutto, non viene dato il game over, ma il gioco prosegue

Prenotatevi per questi fix, abbiamo solo due giorni. Sono tutti di classe A. State facendo un gran lavoro, sono usciti pochissimi bug, me ne aspettavo una marea dal deploy :)
il Web Start lo useremo per questa update?
In teoria stasera se funziona quello che mi ha suggerito blue dovrei finire e potrei iniziare a provare sul server di NSN....

fek
27-04-2006, 12:36
Provo col 2: si tratta soltanto delle texture delle gemme, giusto (niente background, ecc.)?

L'attesa di 2 secondi dev'essere prima di iniziare la partita (ma a che serve?)?

Precarica tutte le texture per ora. L'attesa serve per dare un attimo di tempo per ambientarsi prima di iniziare. Jocchan, la vuoi o no?

fek
27-04-2006, 12:37
il Web Start lo useremo per questa update?
In teoria stasera se funziona quello che mi ha suggerito blue dovrei finire e potrei iniziare a provare sul server di NSN....

Lo valutiamo nel finesettimana, voglio fare un po' di testing e vedere come va prima di rilasciarlo al pubblico.

Ufo13
27-04-2006, 12:39
public void testScoreAreShowingOnStart()
{
MockEngine engine = new MockEngine();

LayerManager layerManager = gameLoop.getLayerManager();
layerManager.drawLayers(engine);

assertTrue(engine.wasTextureDrawn(Number.create16x24(0.0f, 0.0f).getDigitSprite(0).getTexture()));
}


Questo test passa.. Che strano...



P.S. ho aggiunto questo metodo in MockEngine:

public boolean wasTextureDrawn(Texture texture)
{
for(DrawInfo drawInfo : drawInfoList)
{
if (drawInfo.texture.getName() == texture.getName())
{
return true;
}
}

return false;
}

cdimauro
27-04-2006, 12:44
Precarica tutte le texture per ora. L'attesa serve per dare un attimo di tempo per ambientarsi prima di iniziare. Jocchan, la vuoi o no?
OK. Comunque col precaricamento delle texture magari non servono quei 2 secondi di attesa. ;)

fek
27-04-2006, 12:45
OK. Comunque col precaricamento delle texture magari non servono quei 2 secondi di attesa. ;)

Scarico il barile ad Andrea, decisione sua qui :D

"The secret to success is to know who to blame"

Bonfo
27-04-2006, 12:51
4) Se uno dei due player ha già parecchie celle occupate nello schermo, e l'altro player gli manda una quantità di gemme tali da riempire tutto, non viene dato il game over, ma il gioco prosegue


Questo bug dovrei averlo risolto io il sabato prima della FP...quindi dovrebbe già essere stato corretto nel repository attuale.

http://www.hwupgrade.it/forum/showpost.php?p=12114199&postcount=445

Potete darne conferma...io ci provo adesso. :D

Jocchan
27-04-2006, 12:56
Vada per il preload, e mezzo secondo di pausa prima di iniziare ;)

Scarico il barile ad Andrea, decisione sua qui :D

"The secret to success is to know who to blame"

Lolloso quanto vero.

Bonfo
27-04-2006, 13:47
Forse è una mia impressione...ma con gli ultimi refactoring ora le gemme quando cadono SOBBALZANO

:muro: :muro: :muro:

EDIT: No No...ero io...ora va tutto alla perfezione ;)

thebol
27-04-2006, 14:02
public void testScoreAreShowingOnStart()
{
MockEngine engine = new MockEngine();

LayerManager layerManager = gameLoop.getLayerManager();
layerManager.drawLayers(engine);

assertTrue(engine.wasTextureDrawn(Number.create16x24(0.0f, 0.0f).getDigitSprite(0).getTexture()));
}


Questo test passa.. Che strano...


forse passa perche non viene controllato l'ordine dei layer(da quello che ho capito da altri post, il problema che lo score finiva dietro il background, purtroppo non ho il source sotto mano)

Ufo13
27-04-2006, 14:21
forse passa perche non viene controllato l'ordine dei layer(da quello che ho capito da altri post, il problema che lo score finiva dietro il background, purtroppo non ho il source sotto mano)

Spiegazione logica, ora vediamo :)

Ufo13
27-04-2006, 14:58
Risolto il 3, committo :)

cdimauro
27-04-2006, 16:16
Fixato il "bug" #2.

Test list:
public void testWaitHalfSecondBeforeStartPlaying()
{
gameLoop.getPlayerOneInput().notifyKeyEvent(KeyEvent.ESCAPE, KeyEvent.RELEASED);
gameLoop.loop();
assertEquals(501, environment.getTimer().getTime());
gameLoop.doOneStep();
assertEquals(502, environment.getTimer().getTime());
}


public void testAllTextureLoadedBeforeStartPlaying()
{
assertEquals(43, Texture.getPoolSize());
}

Per quest'ultimo ho dovuto aggiungere il metodo getPoolSize() a TextureSize (che mi restituisce il numero di texture caricate).
Inoltre ho modificato una delle due Texture.create() così:
public static Texture create(String name)
{
if (name.indexOf(".") >= 0)
{
return create(name, "");
}
else
{
return create(name, defaultType);
}
}
per semplificarmi la vita col caricamento delle texture (date un'occhiata al metodo privato loadTextures() di GameLoop e capirete).

Per il futuro potremmo anche eliminare Texture.create(String name, String otherType) e usare soltanto Texture.create(String name) che con questa modifica si occupa di sistemare tutto. ;)

Bonfo
27-04-2006, 16:18
Questo bug dovrei averlo risolto io il sabato prima della FP...quindi dovrebbe già essere stato corretto nel repository attuale.

http://www.hwupgrade.it/forum/showpost.php?p=12114199&postcount=445

Potete darne conferma...io ci provo adesso. :D

è tutto il pomeriggio che provo a creare questa situazione....ma da solo faccio una fatica esagerata e nonci resco mai!!!!
Qualcuno controlli perchè il bug dovrebbe essere risolto...ma nessuno mi ha mai dato conferma.

Altra cosa....ogni tanto mi rimangono freezed i controlli...ovvero se premo giù il gioco si comporta come se il tasto fosse ancora premeuto anche se non lo è.

La tastiera è vecchiotta...quindi potrebbe essere anche un problema mio...ma se qualcuno si mettesse a giocare fino ad addormentarsi sarebbe bello ;)

Ora scappo. CIAO

cisc
27-04-2006, 16:44
prima ho avuto anche io uno scherzo della tastiera, m'ero messo a far ruotare le gemme così....e poi le gemme si so messe a cadere ruotando :mbe: :confused:

VICIUS
27-04-2006, 16:50
Altra cosa....ogni tanto mi rimangono freezed i controlli...ovvero se premo giù il gioco si comporta come se il tasto fosse ancora premeuto anche se non lo è.

La tastiera è vecchiotta...quindi potrebbe essere anche un problema mio...ma se qualcuno si mettesse a giocare fino ad addormentarsi sarebbe bello ;)

Ora scappo. CIAO
È successo pure a me. Escluderei la tastiera. Logitech LX700 di meno di 1 anno fa.

ciao ;)

cisc
27-04-2006, 16:57
È successo pure a me. Escluderei la tastiera. Logitech LX700 di meno di 1 anno fa.

ciao ;)

si, anche io, mi sono espresso male prima, non può essere uno scherzo della tastiera......

Bonfo
27-04-2006, 19:42
si, anche io, mi sono espresso male prima, non può essere uno scherzo della tastiera......

NO BUONO :( :(

Possiamo mettere il post Sticky e aggiungere che bisogna risolvere altri 2 bug:

- tasti che ogni tanto rimangono freezed
- gemmone che con falshing gem si spezzano

Bonfo
27-04-2006, 19:59
Forse ho avuto l'intuizione nper i tasti freezed.
Durante gli stati GemFall e StoneFall in gridController non viene fatto il reactToInput...ma la KeyEvent queue mi sa che viene riempita lo stesso.
Quindi quando le gemme ripartono estraggono tutti gli eventi facendo sembrare la gemma incontrollabile.

Ora controllo giocando se la cosa ha senso.

cisc
27-04-2006, 20:00
ma a me sembra strano che sia un problema dovuto alla cancellazione causa flashing gem, voglio dire, la cancellazione e la caduta sono due operazioni separate, quindi, a prescindere da come siano state cancellate le gemme sotto, la gemmona deve scendere per bene allo stesso modo........

fek
27-04-2006, 20:01
Aggiunti bug 5) e 6). Mi confermate che 4) e' fissato?

cover
27-04-2006, 20:21
è tutto il pomeriggio che provo a creare questa situazione....ma da solo faccio una fatica esagerata e nonci resco mai!!!!
Qualcuno controlli perchè il bug dovrebbe essere risolto...ma nessuno mi ha mai dato conferma.

Altra cosa....ogni tanto mi rimangono freezed i controlli...ovvero se premo giù il gioco si comporta come se il tasto fosse ancora premeuto anche se non lo è.

La tastiera è vecchiotta...quindi potrebbe essere anche un problema mio...ma se qualcuno si mettesse a giocare fino ad addormentarsi sarebbe bello ;)

Ora scappo. CIAO


Controllo subito, mi diverto a mandare una quantità assurda all'avversario (io) :Prrr:

cover
27-04-2006, 20:37
Ok, confermo, l'insetto è schiacciato....

cover
27-04-2006, 20:43
Http://img169.imageshack.us/img169/4162/x8hm.jpg

è stata distrutta una big gem, cadendo si è bloccata una riga prima, il turno dopo è caduta completamente. Penso che potrebbe essere collegato a quello che si "stacca", solo che in questo caso non è scesa del tutto...

Bonfo
27-04-2006, 20:45
Http://img169.imageshack.us/img169/4162/x8hm.jpg

è stata distrutta una big gem, cadendo si è bloccata una riga prima, il turno dopo è caduta completamente. Penso che potrebbe essere collegato a quello che si "stacca", solo che in questo caso non è scesa del tutto...

Log grazie ;)

Almeno sappiamo come le gemme hannoprodotto quel risultato

cover
27-04-2006, 20:55
Argh...ora devo riuscire riprodurlo....vabbè, dovrebbe essere "facile" :Prrr:

Quello che non mi piace è il freeze di tastiera, a volta partono e cadono da sole a velocità max, non capendo più nulla -.-

VICIUS
27-04-2006, 20:57
Mi ero quasi dimenticato. La JVM su linux crasha sistematicamente ogni volta che si esce dal gioco.
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x9989acf4, pid=18773, tid=2576755632
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode)
# Problematic frame:
# C 0x9989acf4
#
# An error report file with more information is saved as hs_err_pid18773.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
succedeva anche prima della first playable.

Ho messo un breakpoint in quit(). Il gioco funziona senza problemi, esce da quit, poi esce da main e si infila in una funzione exit() di Thread.java quando esce da questa funzione la vm crasha e viene creato il classico file hs_err_....

ciao ;)

cover
27-04-2006, 21:06
Uhm...più tosto di quanto pensavo, a quanto pare non succede ogni volta che una biggem cade distruggendo quella sotto, ma sotto determinate condizioni (che devo ancora trovare ^^)
Però ho scoperto (forse) a cos'è dovuto il fatto che "si blocca" la velocità a quella massima...o almeno, mi è capitato (guardando le due griglie insieme) di vedere che succede quando viene creata la pair mentre cadono stone all'avversario...bisogna controllare, però prima è capitato sempre in quel momento...

BlueDragon
27-04-2006, 23:09
Volete un sistema sicuro per far incantare la tastiera?
Facile, basta che mentre stai premendo un tasto, clicchi su un'altra finestra e poi lasci il tasto. L'evento di release viene catturato quindi dall'altra finestra e per Diamonds il tasto rimane pressed finché non lo ripremi e rilasci di nuovo stando sulla finestra di Diamonds.

cover
28-04-2006, 00:24
Se passi a un'altra finestra ok...ma se resti sempre in diamonds non è molto normale ^^

Bonfo
28-04-2006, 00:25
Volete un sistema sicuro per far incantare la tastiera?
Facile, basta che mentre stai premendo un tasto, clicchi su un'altra finestra e poi lasci il tasto. L'evento di release viene catturato quindi dall'altra finestra e per Diamonds il tasto rimane pressed finché non lo ripremi e rilasci di nuovo stando sulla finestra di Diamonds.

CASPITA....questo è verissimo.
Direi che è un bel Bug.

La cosa problematica però e che quello che è stato segnalato fino adesso è avvenuto usando sola la finestra del gioco...senza alcun click "all'esterno".

fek
28-04-2006, 10:10
Questo della tastiera e' un bug di lwgl o nostro? Abbiamo tempo fino a stasera per scoprirlo.

Jocchan
28-04-2006, 10:55
Non è possibile catturare il "lost focus" e imporre il rilascio di tutti i tasti quando la finestra è in secondo piano?

Inoltre, ma qui non vorrei dire una scemenza, se è vero che l'accelerazione di gravità per le stone fa accelerare anche la coppia, ci conviene fare in modo che questa diventi un attributo dei singoli droppables, invece che della griglia.

fek
28-04-2006, 11:01
Catturare o meno il focus dipende dalla libreria che usiamo. Ci sara' un modo per metterla in exclusive spero.

Per la seconda parte, direi che non abbiamo tempo per la FP.

Jocchan
28-04-2006, 12:06
Mancano solo 5 e 6, giusto?
Dai bug report sono emersi altri bacherozzi non inclusi nell'elenco?

Ufo13
28-04-2006, 12:14
Fino adesso non ho trovato il modo per catturare il lost focus..

VICIUS
28-04-2006, 12:45
Mancano solo 5 e 6, giusto?
Dai bug report sono emersi altri bacherozzi non inclusi nell'elenco?
Manca questo http://www.hwupgrade.it/forum/showpost.php?p=12161072&postcount=36 anche se non è importante. Il gioco funziona ma riempie la cartella del gioco di file di report da mancadare a quelli di java.

ciao ;)

Ufo13
28-04-2006, 12:57
Hmm, non trovo più i test sulla ripetizione dei tasti :P

fek
28-04-2006, 13:11
Manca questo http://www.hwupgrade.it/forum/showpost.php?p=12161072&postcount=36 anche se non è importante. Il gioco funziona ma riempie la cartella del gioco di file di report da mancadare a quelli di java.

ciao ;)

Known Issue:
- The VM crashes on linux after quitting the game

Work Around:
- Install Windows, Setup, Next Next Next...

Sono troppo Corporate in questi giorni :D

VICIUS
28-04-2006, 13:39
Sono troppo Corporate in questi giorni :D
Sara colpa delle statue sudate di Balmer che ti hanno messo in ufficio :D

ciao ;)

Bonfo
28-04-2006, 14:19
Non è possibile catturare il "lost focus" e imporre il rilascio di tutti i tasti quando la finestra è in secondo piano?

Inoltre, ma qui non vorrei dire una scemenza, se è vero che l'accelerazione di gravità per le stone fa accelerare anche la coppia, ci conviene fare in modo che questa diventi un attributo dei singoli droppables, invece che della griglia.

Non penso sia quello il problema...ovvero è capitato anche che rimanesse bloccata la rotazione della gemsPair, ovvero girava com euna trottola, e non dipende dalla gravità di grid.
in ogni caso sono 2 Grid separate...quindi il problema non dovrebbe manco esistere ;)

fek
28-04-2006, 15:27
Mi date un aggiornamento su 5) e 6)?

Chiudiamo stasera alle 22 CEST.

Bonfo
28-04-2006, 16:43
Cattive notizie...

...più che aggiornare sullo stato degli altri, vi passo questo bug segnalatoci

http://www.hwupgrade.it/forum/showpost.php?p=12163623&postcount=30


Altra cosa....sul forum, dopo la FP, c'è un po' di confusione.
Ogni topic parla di 4 o 5 cose diverse sovrapponendosi.

Moderatori...è possibile fare un po' d'ordine ?? :D :D

fek
28-04-2006, 17:18
Si', abbiamo bisogno di un po' d'ordine dopo la confusione della FP. E' colpa mia che non ho chiarito bene i ruoli di ogni topic.

Il bug di Manp dev'essere vagliato da Joc, ma sicuramente non ce ne occupiamo per questo update della FP.

Jocchan
28-04-2006, 18:16
Si', abbiamo bisogno di un po' d'ordine dopo la confusione della FP. E' colpa mia che non ho chiarito bene i ruoli di ogni topic.

Il bug di Manp dev'essere vagliato da Joc, ma sicuramente non ce ne occupiamo per questo update della FP.

Il bug di Manp va fixato assolutamente, ma non facciamo in tempo a farlo oggi.
Come siamo messi con i bug 5 e 6?

cisc
28-04-2006, 18:37
sto vedendo per il 6, ma ancora sono in alto mare, abbiamo poche informazioni, se qualcuno ha qualche idea.....

Bonfo
28-04-2006, 18:42
Ecco il bug delle BigGem...

http://img135.imageshack.us/img135/7899/biggemfallbug9ux.th.jpg (http://img135.imageshack.us/my.php?image=biggemfallbug9ux.jpg)

..ma ora ho anche il log ;)

Bonfo
28-04-2006, 19:11
Ecco altri 2 problemini

1) Eccezione quando minimizzo la finestra del gioco:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_INT_DIVIDE_BY_ZERO (0xc0000094) at pc=0x691e1c06, pid=3312, tid=2324
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode)
# Problematic frame:
# C [atioglxx.dll+0x1e1c06]
#


2) Ogni tanto mi è capitato qualcosa di strano con le stone e il gameOver.
Ovvero è capitato che le stone riempissero la prima riga e poi venisse un bellissimo game over con le stone appesse...cioè che avevano spazio per poter cadere.

Non sono ancora riuscito a riprodurlo e a farne uno screenshoot

Per me è un problema di questa riga di codice (fatta da me :cry: )

if(heights[4]==14)
{
return gameOverState;
}


Quell'heights memorizza le altezze terminato l'inserimento delle stones, ripeto, solo l'INSERIMENTO.

fek
28-04-2006, 19:32
if(heights[4]==14)
{
return gameOverState;
}


Lo sai che questa riga di codice con un numero magico 14 e heights con un 4 dentro non mi sta comunicando assolutamente nulla vero? ;)

Riscrivila subito!

Bonfo
28-04-2006, 19:39
Sono conla giacca addosso...sto proprio uscendo :cry:

A stanotte :D

cisc
28-04-2006, 20:06
ragazzi, non sono in grado di fixare il bug per stasera, mi dispiace.. :( .ho committato un paio di refactoring, compreso una modifica al codice postato da Bonfo.....

fek
28-04-2006, 21:27
Ok, fra un'ora chiudiamo e fra domani e dopodomani Jocchan testa la build e ci da' l'ok per il rilascio.

Jocchan
28-04-2006, 22:20
1.0a chiusa, quindi?
Qual è la lista definitiva degli update dalla 1.0?

Bonfo
28-04-2006, 23:08
Mi hanno detto che il bug dei tasti freezed non capitava mai nella FP rilasciata...o meglio, non si è mai presentato.

Quindi molto probabilmente è causa di uno dei nostri refactoring. :doh:

fek
28-04-2006, 23:10
Mi hanno detto che il bug dei tasti freezed non capitava mai nella FP rilasciata...o meglio, non si è mai presentato.

Quindi molto probabilmente è causa di uno dei nostri refactoring. :doh:

Questa e' una cosa molto brutta. Preferirei non rilasciare in queste condizioni. Joc?

Bonfo
28-04-2006, 23:53
Ecco un altro regalino per quelli a cui piace andare a caccia di insetti...
... o meglio prima bisogna capire qual'è l'insetto e bisogna chiederlo a Jocchan :D

Mi è caduta una GemsPair (CHEST_ROSSO, FLASHING_GEM).Nell'immagine si vede come la falshingGem non abbia "reagito" a contatto delle sole stones.
Ora però quando la flashingGem va a contatto con le gemme, ad esempio, rosse, tutti i droppable rossi, quindi anche stones, vengono eliminati.

Qual'è dei due i bug???

BlueDragon
29-04-2006, 00:26
Wow, bel colpo Bonfo :)
Confermo che quando la flashing gem tocca solo stones, si comporta differentemente da quando è associata ad una compagna pair.
Senza pair ignora le stones, con la pair, considera le stones toccate per la scelta del colore da distruggere.

VICIUS
29-04-2006, 00:44
Ecco un altro regalino per quelli a cui piace andare a caccia di insetti...
... o meglio prima bisogna capire qual'è l'insetto e bisogna chiederlo a Jocchan :D

Mi è caduta una GemsPair (CHEST_ROSSO, FLASHING_GEM).Nell'immagine si vede come la falshingGem non abbia "reagito" a contatto delle sole stones.
Ora però quando la flashingGem va a contatto con le gemme, ad esempio, rosse, tutti i droppable rossi, quindi anche stones, vengono eliminati.

Qual'è dei due i bug???
In questo caso il comportamento è corretto. La flashing gem puo cancellare solo le gemme. Se viene a contatto con delle stone non deve reagire ed aspettare di essere toccata da qualche gemma. Se quando tocca una gemma rossa cancella anche le stone rosse allora il bug è questo.

ciao ;)

Jocchan
29-04-2006, 01:30
Questa e' una cosa molto brutta. Preferirei non rilasciare in queste condizioni. Joc?

Sono d'accordo, è un bug troppo pesante per introdurlo. A questo punto, rimandiamo la 1.0a e lo risolviamo prima di rilasciarla.

Per quel che riguarda la flashing e le stone, anche se non era stato richiesto esplicitamente era quello a cui volevo, almeno inizialmente, arrivare.
Non è una contraddizione, perchè le stone continuano ad essere cancellate esclusivamente "di riflesso", e mai direttamente, e ci consente sia di poter conservare le flashing, per sfruttarle strategicamente in seguito, che di eliminare stone in caso di pericolo. Quindi, nel bilanciamento attuale, direi che ci sta tutto.
Se, continuando a testare, dovessimo trovare la cosa "strana" o poco naturale, allora cambieremo questo comportamento, ma per ora continuerei tranquillamente così.

EDIT: Come non detto, parlando con BD mi ha spiegato che la situazione è leggermente diversa. Poniamo che la coppia abbia una flashing e una gemma gialla, e si faccia poggiare la flashing su una stone rossa.
Se la gialla continua a cadere per i fatti suoi, allora la flashing deve stare sulla rossa, in attesa di essere innescata da un'altra gemma o baule.
Se la gialla resta unita alla flashing, questa deve eliminare tutte le gemme e le stone gialle, ma non le stone rosse, che non c'entrano nulla.
Da quanto mi dice BD ora (ed è strano, visto che ho fatto diverse prove per accertarmi che funzionasse), attualmente la flashing elimina la stone rossa (e le gemme di colore rosso). Questo comportamento è errato.

Non so se il bug sia stato introdotto in seguito, ma visti questi due dettagli sono sempre più convinto che, nonostante i fix importanti che abbiamo fatto, non ci convenga rilasciare adesso la 1.0a, dato che potremmo aver introdotto persino più seccature di prima.

thebol
29-04-2006, 10:19
Da quanto mi dice BD ora (ed è strano, visto che ho fatto diverse prove per accertarmi che funzionasse), attualmente la flashing elimina la stone rossa (e le gemme di colore rosso). Questo comportamento è errato.


io all'epoca avevo capito che il comportamento doveva essere questo!(nn ricordo se quest'esatto task l'ho fatto io ma puo essere).

cmq ci do un occhiata.

...
....
mi correggo, il comportamento nel metodo è giusto, se è una stone non la cancello...

provo a vedere che nn sia inizializzato male il type

cover
29-04-2006, 14:40
Questa e' una cosa molto brutta. Preferirei non rilasciare in queste condizioni. Joc?

Anche nel mio piccolo sarei per rilasciare in seguito, soprattutto per il problema della tastiera... quando iniziano a cadere a velocità massima è "ingiocabile" :(

cisc
29-04-2006, 17:27
per quanto riguarda il bug 6, penso sia dovuto a delle incongruenze nelle coordinate, in particolare questo codice non mi convince:


private float getRowHeight(final int row)

{

return row * getYStep();

}





public boolean checkAgainstRowHeight(int row, float height)

{

return getRowHeight(row) - height >= 0;

}


è stato tolto il "+ bounds.top()" da bonfo per correggere il bug 16, ma penso che la causa del bug 16 doveva essere trovata altrove, come valore d height nel chiamare checkAgainstRowHeight viene usato getSprite().getY() che include il valore di bounds.top(), quindi ritengo sia scorretto non considerarlo in questi metodi, cosa ne pensate!?

Bonfo
29-04-2006, 20:08
2) Ogni tanto mi è capitato qualcosa di strano con le stone e il gameOver.
Ovvero è capitato che le stone riempissero la prima riga e poi venisse un bellissimo game over con le stone appesse...cioè che avevano spazio per poter cadere.

Non sono ancora riuscito a riprodurlo e a farne uno screenshoot

Per me è un problema di questa riga di codice (fatta da me :cry: )

if(heights[4]==14)
{
return gameOverState;
}


Quell'heights memorizza le altezze terminato l'inserimento delle stones, ripeto, solo l'INSERIMENTO.

Ecco...niente screenshoot.
Ma ora ho un test che fallisce :sofico: :sofico:

Confermatemi la correttezza del test:

public void testStonesFallWhenPassingToGameOverState()
{
controller.setIncomingStones(13*8+5);
controller.update(environment.getTimer());

while(!(grid.isGemAt(0,4) && grid.getGemAt(0,4).isNotFalling()))
{
controller.update(environment.getTimer());
}
controller.update(environment.getTimer());

assertTrue("The game must pass to GameOver", controller.isGameOver());
}


Il problema è dove è messo il controllo in StoneFallState.
Probabilmente questo test "sovrascrive" quest'altro test: testPassToGameOverState

Ora volo fuori...stanotte controllo sia che il nuovo test copra quello vecchio e poi, ovviamente, lo faccio passare :D :D

Jocchan
29-04-2006, 21:45
Mi aggiornate sulla situazione attuale, per favore?

cisc
29-04-2006, 21:49
allora, ho ripristinato in locale la modifica che risolveva il vecchio bug 16, e ne sto cercando le cause altrove...penso che questo sia anche una causa del bug 6, vedremo..non penso di riuscire a fare un test che lo evidenzi entro stasera... :(

fek
30-04-2006, 11:22
BD ha chiuso due grossi bug. Sono un po' nervoso a rilasciare domani con un solo giorno di testing.

Abbiamo tre soluzioni:

1) Rilasciare comunque domattina e testare oggi

2) Rilasciare martedi' mattina e testare per due giorni

3) Non rilasciare


La 1) mi innervosisce un po', la 2) e' contro il principio secondo il quale in questo progetto non voglio far slittare una singola data per alcun motivo. Il 3) sprecherebbe il gran lavoro che avete fatto in questa settimana.

Al momento sono piu' propenso verso 1) perche' non annunciamo questa release e non dovrebbe creare grossi danni, ma rilasciare qualcosa al pubblico del quale non sono certo al 100% non mi piace molto. Ditemi voi.

Bonfo
30-04-2006, 11:39
Ecco...niente screenshoot.
Ma ora ho un test che fallisce :sofico: :sofico:

Confermatemi la correttezza del test:

public void testStonesFallWhenPassingToGameOverState()
{
controller.setIncomingStones(13*8+5);
controller.update(environment.getTimer());

while(!(grid.isGemAt(0,4) && grid.getGemAt(0,4).isNotFalling()))
{
controller.update(environment.getTimer());
}
controller.update(environment.getTimer());

assertTrue("The game must pass to GameOver", controller.isGameOver());
}


Il problema è dove è messo il controllo in StoneFallState.
Probabilmente questo test "sovrascrive" quest'altro test: testPassToGameOverState

Ora volo fuori...stanotte controllo sia che il nuovo test copra quello vecchio e poi, ovviamente, lo faccio passare :D :D

Ieri ho notte ho risolto questo test.
Avevo pure postato sul forum..ma si vede che già dormivo e non ho fatto "invia risposta" :fagiano:

Siccome il nuovo test comprende il vecchio l'ho sostituito.
La soluzione: è stato sufficente togliere il controllo sul GameOver dall'if relativo all'inserimento delle Stone.

Vado farmi 2 giorni di vacanza :D ...quindi non posso fare testing :(

Secondo me si potrebbe rilasciare domani...siamo in sviluppo quindi gli utenti lo sanno che i bug ci sono.
In ogni caso dobbaimo arrivare alla alpha....quella dovremmo rilasciarla,no?!... :stordita: Semmai recuperiamo ;)

thebol
30-04-2006, 11:47
Da quanto mi dice BD ora (ed è strano, visto che ho fatto diverse prove per accertarmi che funzionasse), attualmente la flashing elimina la stone rossa (e le gemme di colore rosso). Questo comportamento è errato.



non riesco a riprodurre questo questo bug(ne con test ne giocando), l'ha gia risolto qualcuno?


ecco il test

public void testStoneNotCrushingOnFlashAndNotBlockOtherGemCrush()
{
insertAndUpdate(createStone(DIAMOND), 13, 0);
insertAndUpdate(createFlashingGem(), 12, 0);
insertAndUpdate(createGem(RUBY), 11, 0);

insertAndUpdate(createGem(RUBY), 13, 2);
insertAndUpdate(createGem(DIAMOND), 13, 6);


grid.updateCrushes();

assertEquals("Grid must contain 2 elements", 2, grid.getNumberOfDroppables());
}

BlueDragon
30-04-2006, 13:55
non riesco a riprodurre questo questo bug(ne con test ne giocando), l'ha gia risolto qualcuno?


ecco il test

public void testStoneNotCrushingOnFlashAndNotBlockOtherGemCrush()
{
insertAndUpdate(createStone(DIAMOND), 13, 0);
insertAndUpdate(createFlashingGem(), 12, 0);
insertAndUpdate(createGem(RUBY), 11, 0);

insertAndUpdate(createGem(RUBY), 13, 2);
insertAndUpdate(createGem(DIAMOND), 13, 6);


grid.updateCrushes();

assertEquals("Grid must contain 2 elements", 2, grid.getNumberOfDroppables());
}
Se ci sono sia 2 DIAMOND che 2 RUBY in questo test, come si fa a capire quale colore la Flashing ha deciso di distruggere? :)
Comunque ho lanciato questo test e rifatto delle prove e mi sa che avevo visto male l'altro giorno :)
La flashing distrugge correttamente il colore della compagna di pair quando atterra su un letto di stones.

thebol
30-04-2006, 14:31
Se ci sono sia 2 DIAMOND che 2 RUBY in questo test, come si fa a capire quale colore la Flashing ha deciso di distruggere? :)
Comunque ho lanciato questo test e rifatto delle prove e mi sa che avevo visto male l'altro giorno :)
La flashing distrugge correttamente il colore della compagna di pair quando atterra su un letto di stones.

in effetti avevo prima fatto il test con solo la diamond stone, poi per curiosita l'avevo fatto aggiungendo una diamond gem, e alla fine ho postato quello...

fek
30-04-2006, 15:41
Secondo me si potrebbe rilasciare domani...siamo in sviluppo quindi gli utenti lo sanno che i bug ci sono.

Leggi le news di HWUPG e ti accorgi come anche sedicenti esperti non sanno che i bug nel software ci sono ;)

Ufo13
30-04-2006, 18:16
Leggi le news di HWUPG e ti accorgi come anche sedicenti esperti non sanno che i bug nel software ci sono ;)

Io propendo per la 1 a patto che non ci siano gravi bug

cisc
30-04-2006, 18:31
sono sempre più convinto che ci sia un po di confusione nelle cordinate tra il codice facente parte delle bigGem e quello delle gemme...sto cercando di capire dove sta il problema....vedremo....

Jocchan
30-04-2006, 20:28
Soluzione di compromesso: rilasciamo lunedì alle 22 CEST. Che ne dite?

fek
01-05-2006, 01:24
Rilasciamo fra tre cicli una versione con i menu, i bug fix e web start. Domani le nuove Storie e si riparte con lo sviluppo.

VICIUS
01-05-2006, 01:28
Rilasciamo fra tre cicli una versione con i menu, i bug fix e web start. Domani le nuove Storie e si riparte con lo sviluppo.
Con domani intendevi dire oggi cioè lunedì vero?

ciao ;)

Jocchan
01-05-2006, 01:28
Con domani intendevi dire oggi cioè lunedì vero?

ciao ;)

Vuol dire subito, sto postando le nuove storie ;)

fek
01-05-2006, 01:29
Con domani intendevi dire oggi cioè lunedì vero?

ciao ;)

Si' :P

VICIUS
01-05-2006, 01:32
Che dite sposto i due thread sulla first playable e quelli dei 5 bug in Archivio cosi non li perdiamo?

ciao ;)

Jocchan
01-05-2006, 01:33
Che dite sposto i due thread sulla first playable e quelli dei 5 bug in Archivio cosi non li perdiamo?

ciao ;)

Ottima idea :)
Notte ;)