Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-03-2008, 22:43   #1
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
NormalGravity in GameConfig

Per sistemare il problema delle gemme che cadono troppo velocemente (nato dall'eliminazione di qualche costante qui e là nel codice) bisogna dividere per due il valore di normalGravity.
Peccato che il suo valore sia 1, e che GameConfig utilizzi valori interi.

Che si fa? Lo si converte in float? Se sì, rischiamo qualche imprecisione per l'approssimazione dei valori decimali (in passato ho avuto brutte sorprese al riguardo )?

La cosa va sistemata, e la gravità è un punto piuttosto delicato (è stata fonte di un sacco di bug).
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2008, 08:10   #2
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
GravityMultiplier = 8
StrongestGravityMultiplier = 20
NormalGravity = 1

prova a giocare con il GravityMultiplier
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2008, 08:13   #3
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Possiamo rinominarli in maniera piu` sensata? Direi che i nomi potrebbe deciderli Joc dopo che qualcuno gli ha spiegato che fanno
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2008, 13:38   #4
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Più che altro, quando viene usato GravityMultiplier? StrongestGravity è abbastanza autoesplicativo invece
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2008, 16:47   #5
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Cambiando GravityMultiplier non cambia niente.
In compenso, provate a raddoppiare (ovviamente senza commit) la gravità ed a farvi una partitella... lo spettacolo è assicurato
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2008, 17:23   #6
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
A dire il vero qui c'e' un mistero.

Il GravityMultiplier funziona cosi':

StrongerGravity= normalGravity * gravityMultiplier;

e il StrongestGravityMultiplier cosi'

StrongestGravity= normalGravity * strongestGravityMultiplier;


quindi attenzione, non si mappano uno a uno. Ora e' cosi' perche' la NormalGravity e' 1.
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 13:11   #7
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Aggiunto come bug, va risolto assolutamente.

Qualcuno mi aggiorna sull'esatto significato di questi valori di GameConfig?

Codice:
NormalRepeatDelay = 200
FastRepeatDelay = 100
FrameRate = 20
UpdateRate = 10
Soprattutto UpdateRate mi interessa: cosa succede esattamente quando lo si cambia? Ci sono dei vincoli particolari per cambiarlo? Una sua modifica (ad es. da 10 a 15) impatterebbe solo sulla logica di Grid o su tutto quanto? Qual è la sua unità di misura?
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 14-03-2008 alle 13:13.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 15:29   #8
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da Jocchan Guarda i messaggi
Aggiunto come bug, va risolto assolutamente.

Qualcuno mi aggiorna sull'esatto significato di questi valori di GameConfig?

Codice:
NormalRepeatDelay = 200
FastRepeatDelay = 100
FrameRate = 20
UpdateRate = 10
Soprattutto UpdateRate mi interessa: cosa succede esattamente quando lo si cambia? Ci sono dei vincoli particolari per cambiarlo? Una sua modifica (ad es. da 10 a 15) impatterebbe solo sulla logica di Grid o su tutto quanto? Qual è la sua unità di misura?
updateRate è ogni quanti ms viene eseguito questo ciclo dentro PlayField
Codice:
            updatePlayField(timestamp);
            lastUpdateTimeStamp += updateRate;
            score.setValue(getGridController().getGrid().getScoreCalculator().getScore());
            updateWarningBox();
            updateCrushBox();
            updateCounterBox();
frameRate è ogni quanti ms viene eseguito questo loop nel loop che contiene i 2 playField. E ogni quanto viene aggiornato lo schermo.

Codice:
        if (timeStamp - lastRender >= environment.getConfig().getInteger("FrameRate"))
        {
            lastRender = timeStamp;

            environment.getEngine().clearDisplay();
            layerManager.drawLayers(environment.getEngine());
            environment.getEngine().updateDisplay();
        }
gli altri ci devo guardare meglio, sembra che gestiscano il delay necessario fra 1 tasto pigiato 2 volte e 1 tasto tenuto pigiato, ma nn capisco la differenza fra i 2
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 15:57   #9
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
e forse può essere pericoloso cambiarlo perchè molti test settavano dei valori fissati per quei valori anzichè prenderli dal config..
Io quelli che ho visto li ho fixati, ma non ho idea se ancora se ne trovano altri a spasso per il codice con i valori scolpiti..
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 16:10   #10
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi
e forse può essere pericoloso cambiarlo perchè molti test settavano dei valori fissati per quei valori anzichè prenderli dal config..
Io quelli che ho visto li ho fixati, ma non ho idea se ancora se ne trovano altri a spasso per il codice con i valori scolpiti..
ne ho tolti molti anche io, facendo dei getter in environmentTest

cmq se vanno cambiati joc, dillo a noi che vediamo se alcuni test vengono rotti, e vediamo di sistermarli(renderli indipendenti dal config)
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 17:27   #11
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da Jocchan Guarda i messaggi
Aggiunto come bug, va risolto assolutamente.

ehm...quello del calcolo della gravita' era un requisito del costumer
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 18:25   #12
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Come rischi più che ai test rotti (se ci sono valori hardcoded non ci vuole niente a cambiarli una volta individuati i test che falliscono ) mi riferivo a eventuali conseguenze più insidiose e meno visibili: perdita di sincronia con il resto del codice dopo qualche loop o persino la possibilità che qualche evento/pressione venga ignorato (ho dato una spulciata e mi sembra di no, ma preferirei esserne certo).
Mi riferivo più a questioni di logica del programma, insomma

Quote:
Originariamente inviato da Bonfo Guarda i messaggi
ehm...quello del calcolo della gravita' era un requisito del costumer
Che intendi?
E' segnato come bug perchè non si può settare la gravità ai valori desiderati, mentre prima era possibile
Al momento il valore è troppo elevato come gravità "di base", quindi va sistemato per forza in qualche modo.

I refactoring che hanno portato a questo problema erano molto massicci?
Se c'erano delle costanti sparse qui e là per il codice (come mi è sembrato di capire), cosa cambierebbe se le rimettessimo e magari le rendessimo settabili in GameConfig? Chi se n'era occupato in origine?
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.

Ultima modifica di Jocchan : 14-03-2008 alle 18:52.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 20:01   #13
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da Jocchan Guarda i messaggi
Come rischi più che ai test rotti (se ci sono valori hardcoded non ci vuole niente a cambiarli una volta individuati i test che falliscono ) mi riferivo a eventuali conseguenze più insidiose e meno visibili: perdita di sincronia con il resto del codice dopo qualche loop o persino la possibilità che qualche evento/pressione venga ignorato (ho dato una spulciata e mi sembra di no, ma preferirei esserne certo).
Mi riferivo più a questioni di logica del programma, insomma


Che intendi?
E' segnato come bug perchè non si può settare la gravità ai valori desiderati, mentre prima era possibile
Al momento il valore è troppo elevato come gravità "di base", quindi va sistemato per forza in qualche modo.

I refactoring che hanno portato a questo problema erano molto massicci?
Se c'erano delle costanti sparse qui e là per il codice (come mi è sembrato di capire), cosa cambierebbe se le rimettessimo e magari le rendessimo settabili in GameConfig? Chi se n'era occupato in origine?
nn ho ben capito perchè servissero 3 valori per la gravità.

Ne possono bastare 2?

Se si, si elimina un valore e si tiene gravityNormal e gravityStrenght e basta, l'altro si toglie si vede dove ci sono dei problemi, si risolvono e poi siamo puliti.
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 21:31   #14
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Codice:
    public void setStrongestGravity()
    {
        actualGravity = normalGravity * strongestGravityMultiplier;
    }

    public void setStrongerGravity()
    {
        actualGravity = normalGravity * gravityMultiplier;
    }


    public void setNormalGravity()
    {
        actualGravity = normalGravity;
    }
normaleGravity è la gravità normale per una gemsPair intera

strongerGravity e la gravità di una gemsPair quando si preme il tasto giu

strongestGravity e la gravita delle gemme che nn sono gemsPair che cadono verso il basso
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 21:36   #15
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
il diviso 2 perso come costante si può recuperare mettendo l'updateRate a 20!!!!!!(aka raddoppiandolo). Il gioco nn dovrebbe risentirne per i test, faccio qualche prova

edit:
i test nn si lamentano. cio nn vuol dire che un test che prima aveva senso, ora nn ce l'abbia più...però per me si può rischiare

Ultima modifica di thebol : 14-03-2008 alle 21:38.
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2008, 21:55   #16
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
ho trovato un problema per questa soluzione.

Ho provato a mettere updateRate a 100, e viene coinvolto anche il pulsare della pivot, che accelera compulsivamente.

Stranamente non viene coinvolto il riflesso. Penso che il problema sia nella Grid.updateDroppableAnimations, che viene chiamata nel ciclo controllato dall'updateRate.

Eh da vedere come (e se) risolvere la cosa

edit: penso di essermi sbagliato, il problema sembra nn essersi(forse avevo smanettato qualcos'altro nella config)

Ultima modifica di thebol : 14-03-2008 alle 21:57.
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2008, 00:33   #17
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da thebol Guarda i messaggi
ho trovato un problema per questa soluzione.

Ho provato a mettere updateRate a 100, e viene coinvolto anche il pulsare della pivot, che accelera compulsivamente.

Stranamente non viene coinvolto il riflesso. Penso che il problema sia nella Grid.updateDroppableAnimations, che viene chiamata nel ciclo controllato dall'updateRate.

Eh da vedere come (e se) risolvere la cosa

edit: penso di essermi sbagliato, il problema sembra nn essersi(forse avevo smanettato qualcos'altro nella config)

l'importante è che non hai committato mentre commitavo io
..altrimenti sai dove andava a finire la torre degli asinelli...vero? !?!?!?
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2008, 09:04   #18
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi

l'importante è che non hai committato mentre commitavo io
..altrimenti sai dove andava a finire la torre degli asinelli...vero? !?!?!?
nn ho ancora committato nulla
thebol è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2008, 09:07   #19
Jocchan
Senior Member
 
L'Avatar di Jocchan
 
Iscritto dal: Jul 2005
Città: Silent Hill
Messaggi: 1471
Quote:
Originariamente inviato da thebol Guarda i messaggi
strongestGravity e la gravita delle gemme che nn sono gemsPair che cadono verso il basso
Sì, viene usata sia per le gemme "orfane" della pair che per le stone.

Quote:
Originariamente inviato da thebol Guarda i messaggi
il diviso 2 perso come costante si può recuperare mettendo l'updateRate a 20!!!!!!(aka raddoppiandolo). Il gioco nn dovrebbe risentirne per i test, faccio qualche prova

edit:
i test nn si lamentano. cio nn vuol dire che un test che prima aveva senso, ora nn ce l'abbia più...però per me si può rischiare
Ieri qualche prova l'avevo fatta anche io... sembrava andare tutto bene, ma preferivo esserne sicuro. Ecco perchè ho chiesto
Anche perchè alla fine non avrei proprio messo 20, ma un 15 (ed ho chiesto quale unità di misura stessimo usando ed eventualmente quali sincronie perderemmo perchè non è un sottomultiplo di 100, quindi se tutto il resto funziona in centesimi di secondo forse qualche problema può sorgere dopo un pò).

Quote:
Originariamente inviato da ^TiGeRShArK^ Guarda i messaggi

l'importante è che non hai committato mentre commitavo io
..altrimenti sai dove andava a finire la torre degli asinelli...vero? !?!?!?
Lo sai che me l'ero scordato che pure Thebol sta qui a Bologna?
Qualche volta una birretta mi sa che è obbligatoria (già ne avevo parlato con Bonfo)
__________________
DIAMOND CRUSH - Aut viam inveniam, aut faciam.
Jocchan è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2008, 09:41   #20
thebol
Senior Member
 
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
Quote:
Originariamente inviato da Jocchan Guarda i messaggi
Ieri qualche prova l'avevo fatta anche io... sembrava andare tutto bene, ma preferivo esserne sicuro. Ecco perchè ho chiesto
Anche perchè alla fine non avrei proprio messo 20, ma un 15 (ed ho chiesto quale unità di misura stessimo usando ed eventualmente quali sincronie perderemmo perchè non è un sottomultiplo di 100, quindi se tutto il resto funziona in centesimi di secondo forse qualche problema può sorgere dopo un pò).
fra frameRate e updateRate, a occhio penso di no. Per me si può provare.
Certo se metti l'updateRate ogni ms, e il frameRate ogni 100ms, il gioco scatterà, vistosamente, però è fisiologico. Sincronia di gioco nn si dovrebbe perdere, al max da vedere può fare schifo.

Cmq nn sono centesimi ma millesimi di secondo.

Quote:
Lo sai che me l'ero scordato che pure Thebol sta qui a Bologna?
Qualche volta una birretta mi sa che è obbligatoria (già ne avevo parlato con Bonfo)





ps.xkcd > all

Ultima modifica di thebol : 15-03-2008 alle 09:43.
thebol è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
SteelSeries Aerox 3 Wireless Gen 2: nuov...
"Quasi sociopatico": Sam Altma...
Star Wars Eclipse in difficoltà: ...
Gestione del team e romance organiche: l...
Intel lancia Core Ultra X9 378H: hardwar...
Tomodachi Life non supporterà Handheld M...
Identificati i boss di REvil e GandCrab:...
Google Chrome 148 introduce il caricamen...
Tomb Raider: Legacy of Atlantis, l'uscit...
Casa Bianca: proposto un budget ridotto ...
Telecamere Arlo in offerta su Amazon: Es...
Maine primo stato USA a vietare i data c...
DDL PMI, stop alle false recensioni: le ...
Classifiche JustWatch marzo: Una battagl...
iPhone Fold a rischio ritardo: problemi ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v