Progetto Pre-Revolt 2 "Ball's maze"

In questa zona vengono raccolte le discussioni che riguardano lo sviluppo di nuovi progetti per ARM e per Re-Volt

Moderatore: Michelangelo

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » mer 24 nov 2010, 15:07

Io sarei più per la seconda, però sottoforma di proprietà con il get e set...
Comunque per me andava bene anche come stavamo facendo finora, solo che con tutti quegli (sta frase mi sembra un po' stramba, soprattutto il "quegli") out che per ora non servono vado in confusione.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » sab 27 nov 2010, 15:13

Mini che fine hai fatto?
Ho dato un' occhiata al file LevelIO.cs aggiornato e direi che ne sta uscendo un bel casino, è un bel po' disordinato...
Tra l' altro ho notato che ci hai messo una nuova classe chiamata LevelData (se non ricordo male), ma direi che forse era meglio prima, senza la classe LevelData.
Comunque io sarei per riscrivere da capo la classe LevelIO utilizzando comunque quello che avevi ideato finora, solo facendolo più ordinato.

Vediamo di riorganizzarci un po'.

Procediamo per gradi, man mano che andiamo avanti aggiungiamo le cose.
Per ora un file per un livello dovrebbe contenere solo:

- Lunghezza di un lato della scatola base (senza la larghezza, non serve, la scatola sarà sempre quadrata... se poi decidiamo di farla rettangolare apporteremo le modifiche).
- Posizioni delle buche.

Questo è quello che deve contenere un file per ora, non andiamo di fretta mettendoci già il resto, facciamo solo confusione e disordine.

Nei parametri del metodo LoadLevel:
- Una string che contiene il percorso del file da caricare.
- La larghezza dei lati deve essere un parametro out di tipo uint.
- Le posizioni delle buche penso che sia meglio se sono già come out di tipo list di CollisionSphere.

La classe CollisionSphere (l' ho già creata) richiede solo due parametri: un vector3 che rappresenta la posizione della sfera di collisione ed un float che rappresenta il raggio della sfera, settare il raggio a 0.1f dovrebbe andare bene.

Cerchiamo di stare ordinati, anche a costo di perdere più tempo a riorganizzare il codice, altrimenti si finisce che non ci si capisce più niente.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Avatar utente
minibond
Messaggi: 1725
Iscritto il: lun 30 lug 2007, 15:00
Località: Roma

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da minibond » sab 27 nov 2010, 22:52

Eh lo so, questi giorni ci sono stato poco e sarà così (purtroppo) per ancora circa una settimana, che questo è il periodo del "classwork carpet bombing" (bombardamento a tappeto di compiti in classe) :lol2: :nero:

Per il file di livello... intendi solo l'output della funzione o intendi modificare la struttura del file?
Intanto in questo spazio di tempo cercherò di riordinare un po' di cose, cancellare LevelData e far restituire come out lunghezza e buche del livello;
il resto delle variabli lo tengo sottoforma di variabili interne alla funzione, così da poter aggiungere successivamente gli altri argomenti più avanzati senza stravolgere tutto.

Per la funzione di salvataggio (non credo tu ne abbia bisogno al momento), credo che la completerò quando sarà completa quella di caricamento.

Per la fisica, purtroppo sono rimasto un po' indietro, ma finito l'IO dei livelli, mi dedicherò a quella.

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » dom 28 nov 2010, 0:28

Per la fisica non fa niente, penso che dovremmo organizzarci meglio più avanti per quella.

Per i file di livello, non dico modificare la struttura, ma fargli contenere solo le informazioni necessarie per ora... aggiungendo il resto man mano che le cose saranno sviluppate.

(Comunque anche io ultimamente ho pochissimo tempo libero, proprio perchè tra due settimane ci saranno gli scrutigni ed a molti prof mancano i voti, perciò sfilza di verifiche ed interrogazioni... :-( :-x
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » dom 28 nov 2010, 11:17

Mini ho visto che hai aggiornato il file LevelIO.cs restituendo come parametri solo la larghezza e i vector3, come ti avevo chiesto.
Quindi ho provato ad utilizzarlo ed a fargli caricare il file livello.lvl che mi avevi passato, però la funzione LoadLevel restituisce valore false.
Ho provato a caricare il livello comunque, ma appena avvio il gioco comincia a salire l' utilizzo di RAM passando da 1,50 GB a 3,50 GB e senza ottenere alcun risultato... La finestra rimane bianca.
Per ora ho gestito la cosa facendo spuntare un MessageBox con scritto "Livello non caricato" ed appena si preme OK il gioco si chiude.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Avatar utente
minibond
Messaggi: 1725
Iscritto il: lun 30 lug 2007, 15:00
Località: Roma

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da minibond » dom 28 nov 2010, 19:00

Non so dove sia il problema...

ora proverò a ricontrollare i codici, ma non posso fare molto se non posso avere un debug approfondito, quindi ti chiedo se per favore puoi salvare nella dropbox il progetto aggiornato in cui il livello viene caricato...

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » lun 29 nov 2010, 17:45

Il debug non riporta niente, si apre la finestra del gioco ma rimane bianca e l' utilizzo della RAM sale fino a 3.50 GB.

Comunque ho fatto un po' di modifiche al codice togliendo la parte del caricamento del livello, perciò prima di metterlo su DropBox dovrò riscrivere la parte del caricamento del livello.

EDIT: Ti consiglio di fare un' applicazione console e visualizzare li i risultati del caricamento, in modo che se riescie a caricare qualcosa te lo scrive nella console e puoi farti un' idea di cosa c'è di sbagliato.

Ho messo le due versioni del codice su DropBox.
Ho fatto una cartella chiamata Linkinf94, all' interno ci sono due cartelle: Una contiene il codice che fa apparire l' errore "Livello non caricato" e quando si preme OK l' applicazione si chiude.
L' altra cartella invece contiene il codice che esegue il livello anche se la funziore ritorna false, ma non funziona.

Ti ricordo che devi cambiare il percorso del file livello.lvl all' interno del codice, si trova nella classe Superficie nella funzione Costruisci.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Avatar utente
minibond
Messaggi: 1725
Iscritto il: lun 30 lug 2007, 15:00
Località: Roma

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da minibond » lun 29 nov 2010, 19:42

L'errore in cui viene sfruttata moltissima memoria non è a causa del mio codice, ma (credo) di come lo abbia gestito tu.
Comunque ho corretto l'errore che provocava il fallimento della funzione, e cioè che mi ero dimenticato di riconvertire un array in una List<>.

Ho notato anche un'altra cosa: quando carico il livello e assegno a delle variabili di tipo Float dei valori tramite BitConverter, la posizione dei byte è invertita rispetto a quella che mi aspettavo, e siccome l'ho capito dopo un po' (e dopo aver anche smanettato il file di livello), sarò costretto a crearne uno nuovo.

Comunque... ho visto che carica anche i muri dal livello?

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » lun 29 nov 2010, 21:03

I muri non li ho ancora fatti.

Comunque per il problema della RAM non credo sia a causa del mio codice, quando ho visto che non funzionava ho testato il mio codice togliendo la parte del caricamento del livello ed aggiungendo manualmente dei vector3 alla list, e tutto funzionava occupando circa 100 MB di RAM, considerando che era in debug, senza essere eseguito in debug dovrebbe occupare ancora meno RAM.

Non ho capito se hai risolto il problema o no, se non riesci a risolvere oggi pomeriggio ho fatto una struttura in file di testo anzichè in binario, e funziona bene... è anche veloce a caricare anche se sono 4 buchi soli da caricare.

Se non riesci a risolvere il problema potremmo utilizzare quello che ho fatto io oggi pomeriggio.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Avatar utente
minibond
Messaggi: 1725
Iscritto il: lun 30 lug 2007, 15:00
Località: Roma

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da minibond » lun 29 nov 2010, 21:58

No, il problema principale l'ho risolto... e credo sia stato causato dal non corretto uso dell'output booleano della mia funzione (quello che indica il successo del processo)

Ora dovrei creare un nuovo livello, ma su quello mi ci devo mettere per non fare buchi "esterni" al livello... e per questo mi serve la larghezza della scatola (tanto hai detto che sono 2 misure uguali)

Se vuoi prova a vedere le nuove modifiche a "Senza avviso errore".

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » lun 29 nov 2010, 22:56

In "senza avviso errore" però manca tutta quanta la superficie :confuso:

Comunque la misura della scatola è 40 ogni lato.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » mer 1 dic 2010, 22:40

Mini io molte cose le sto facendo caricandole da un file di testo... Ora mi sto occupando dei muri.

EDIT: (Dopo i muri non dovrebbe mancare altro, si dovrebbe poter passare a quella che credo sia la fase più "ostile": La pallina, poi una prima beta credo si possa considerare fatta. Dopodichè manca l' editor di livelli e dovremmo aver finito una prima versione, anche se prima di rilasciare una prima versione penso sia utile riscrivere il codice in modo più ordinato... cercando anche di non sprecare risorse magari in calcoli inutili, siccome è il mio primo progetto del genere il codice è un po' confuso e ci sono un sacco di passaggi di variabili che credo si possano evitare facendo un codice più ordinato. Ah dimenticavo: Inoltre mancano da fare i menù, comunque ci stiamo avvicinando sempre di più almeno ad una beta)

Per quanto riguarda il caricamento dei file, se riesci a risolvere bene i problemi (a me in "senza avviso errore" non appare la superficie) cercherò di riadattare il codice utilizzando il tuo "caricatore", altrimenti vado avanti con quello che ho fatto caricando da file di testo.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » sab 4 dic 2010, 22:24

Mini vedo che non partecipi molto, ormai sono andavo avanti con il mio metodo per il caricamento, caricando da file di testo... altrimenti non vado più avanti.
Ho anche risolto il bug che c'era nel mio metodo, perciò ormai vado avanti così.

Mi spiace non utilizzare il tuo un po' per le prestazioni ma soprattutto perchè almeno nel gioco ci sarebbe stato qualcosa di veramente tuo... Mentre così il codice l' ho scritto praticamente tutto io, penso mi sarai utilissimo però per quanto riguarda la fisica, non tanto di ball' s maze ma più che altro di revolt 2.

Comunque ti consiglio di impegnarti soprattutto nell' imparare le directx, leggendo il libro... senza quelle si sa fare ben poco.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Avatar utente
minibond
Messaggi: 1725
Iscritto il: lun 30 lug 2007, 15:00
Località: Roma

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da minibond » dom 5 dic 2010, 16:04

Lo so, questa settimana ho avuto parecchio da fare, non sono riuscito nemmeno a partecipare al Rally di Re-Volt...

Per quanto riguarda il metodo di caricamento, mi sembra strano che non ti faccia vedere la superficie, io l'ultima volta che l'ho avviato la vedevo benissimo! L'unica cosa è il caricamento del file creato da me, in cui le buche non si vedono perchè sono troppo vicine al muro anteriore, dovrei solo modificare quello per testarlo...
Magari appena avrò un attimo di tempo disponibile cercherò di vedere meglio, nel frattempo cerca di fare le cose in modo tale che sia possibile cambiare il metodo di caricamento di file...
:idea: oppure potremmo integrarli tutti e due, così che alcuni livelli possanno essere creati testualmente e altri possano essere creati "visualmente"

Comunque, ora mi impegnerò nella fisica e nelle collisioni.

Linkinf22
Messaggi: 1144
Iscritto il: sab 25 ago 2007, 19:07

Re: Progetto Pre-Revolt 2 "Ball's maze"

Messaggio da Linkinf22 » mer 8 dic 2010, 11:48

Capperi direi che è meglio riscrivere il codice da zero, così sta diventando troppo incasinato e devo organizzarlo meglio anche per le collisioni, che così mi tocca fare delle collisioni "separate" da ogni modello, ed il casino aumenta esponenzialmente.
Ai creatori di piste ed auto potrebbe interessare il progetto MIB, c'è il topic nella sezione "Sviluppo" del forum.


Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti