Allora...la prima volta che ho fatto un battle system laterale ero su rpgmaker 4.0 (il 2k insomma)....è stata follia pura ma ci sono riuscito (il lavoro è circa 10 volte di quello che potrei fare scriptando, visto che non c'è praticamente nulla di parametrizzabile)...comunque, avendo visto le possibilità di rpg xp lo voglio fare scriptandolo da 0 (quindi mi creo la mia apposita mappetta e faccio tutto li)... durante l'organizzazione della struttura però (si, su carta e penna per organizzare classi,metodi,proprietà...) stavo stilando la classe "combattente" (che verrà ereditata da MOSTRI e PG) e volendo tenere separata la parte che gestisce la grafica da quella tecnica (ciò che gestisce gli attacchi, i turni etc) mi è sorto un dubbio su quale approccio fosse il piu interessante ai fini della separazione di queste due parti, vi illustro qui sotto le mie idee:
A) La classe Combattente conterrà tutte le informazioni tecniche (stats etc) in un file, in un altro invece tutte quelle grafiche, di conseguenza a livello teorico non sono separate ma a livello pratico si
B) Ereditare una classe "Combattente_Grafica" da "Combattente" ottenendo un risultato pressochè identico al precedente (al limite risulterà un pò scomodo usare il costruttore)
C) Mettere un parametro "graphic" dentro a "Combattente" che sarà un oggetto atto a contenere tutte le informazioni grafiche e relativi metodi
class Combattente attr_reader :graphic def initialize @graphic=GraphicInfos.new end #solite coseend
di conseguenza potrei accedere alle informazioni grafiche scrivendo:
lol=Combattente.newlol.graphic.muovifigura #per esempio
E attualmente è quella a cui sono piu propenso (e forse dovrei "richiudere" le stats in un unica classe perchè sta diventando immensa sta class combattente)
Detto questo, lascio qui delle domande tecniche di cui mi sono sorti dubbi durante la progettazione:
1) Quante immagini posso mostrare, non usando picture (quindi memorizzando tutto $qui o @qui o dovemipare) in contemporanea?Un centinaio o "illimitate" (fino a che non va in crash il game.exe perchè in sovraccarico, in caso a quanto ammonta circa questo valore?) (in poche parole, quanti sprites posso mostrare contemporaneamente?)
2) (questa immagino di si)Posso generare un immagine dinamicamente mettendone piu di una insieme (se per esempio devo scrivere un messaggio su uno sfondo e metterci un icona, posso "fonderli" in un unica bitmap in modo da risparmiare spazio per altre sprites (quindi invece di 3 sprite è solo 1))=
3) Il wait è in frame, ora i frame in teoria variano in base a come si sta eseguendo il gioco (se ti scatta cambiano gli fps), questo valore è legato in qualche modo a ciò oppure 20 frame sono sempre "1 secondo" all'interno del gioco?(se poi ti sta esplodendo il pc ovviamente no ma è un'altra storia XD) il wait() del ruby equivale al wait degli eventi a livello di funzionalità?
4) Ho provato a memorizzare una classe in una variabile globale (intendo $global_variables) affinchè venisse salvata (esiste un altro modo per salvare una variabile oltre questo?) e ho notato che con F9, sembrerebbe proprio che la classe venga serializzata. Se trascrivo quel valore paro paro come stringa in un file, poi lo leggo e lo riscrivo nella variabile (anche dopo aver chiuso e riaperto il gioco), è come se rendessi quella variabile quell'istanza di oggetto (pari pari, quindi posso riutilizzarla?))
Grazie mille e perdonate il tema :P
Edited by Fire-Dragon-DoL
If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? (Tom Cargill)
Se dovete fare una cosa semplice, tipo
if (a==b) c='pippo';else c='pluto';
Usate le funzionalita' del linguaggio piu' complicato che esiste:
Question
Fire-Dragon-DoL
Allora...la prima volta che ho fatto un battle system laterale ero su rpgmaker 4.0 (il 2k insomma)....è stata follia pura ma ci sono riuscito (il lavoro è circa 10 volte di quello che potrei fare scriptando, visto che non c'è praticamente nulla di parametrizzabile)...comunque, avendo visto le possibilità di rpg xp lo voglio fare scriptandolo da 0 (quindi mi creo la mia apposita mappetta e faccio tutto li)... durante l'organizzazione della struttura però (si, su carta e penna per organizzare classi,metodi,proprietà...) stavo stilando la classe "combattente" (che verrà ereditata da MOSTRI e PG) e volendo tenere separata la parte che gestisce la grafica da quella tecnica (ciò che gestisce gli attacchi, i turni etc) mi è sorto un dubbio su quale approccio fosse il piu interessante ai fini della separazione di queste due parti, vi illustro qui sotto le mie idee:
A) La classe Combattente conterrà tutte le informazioni tecniche (stats etc) in un file, in un altro invece tutte quelle grafiche, di conseguenza a livello teorico non sono separate ma a livello pratico si
qualcosa di questo tipo
B) Ereditare una classe "Combattente_Grafica" da "Combattente" ottenendo un risultato pressochè identico al precedente (al limite risulterà un pò scomodo usare il costruttore)
C) Mettere un parametro "graphic" dentro a "Combattente" che sarà un oggetto atto a contenere tutte le informazioni grafiche e relativi metodi
di conseguenza potrei accedere alle informazioni grafiche scrivendo:
E attualmente è quella a cui sono piu propenso (e forse dovrei "richiudere" le stats in un unica classe perchè sta diventando immensa sta class combattente)
Detto questo, lascio qui delle domande tecniche di cui mi sono sorti dubbi durante la progettazione:
1) Quante immagini posso mostrare, non usando picture (quindi memorizzando tutto $qui o @qui o dovemipare) in contemporanea?Un centinaio o "illimitate" (fino a che non va in crash il game.exe perchè in sovraccarico, in caso a quanto ammonta circa questo valore?) (in poche parole, quanti sprites posso mostrare contemporaneamente?)
2) (questa immagino di si)Posso generare un immagine dinamicamente mettendone piu di una insieme (se per esempio devo scrivere un messaggio su uno sfondo e metterci un icona, posso "fonderli" in un unica bitmap in modo da risparmiare spazio per altre sprites (quindi invece di 3 sprite è solo 1))=
3) Il wait è in frame, ora i frame in teoria variano in base a come si sta eseguendo il gioco (se ti scatta cambiano gli fps), questo valore è legato in qualche modo a ciò oppure 20 frame sono sempre "1 secondo" all'interno del gioco?(se poi ti sta esplodendo il pc ovviamente no ma è un'altra storia XD) il wait() del ruby equivale al wait degli eventi a livello di funzionalità?
4) Ho provato a memorizzare una classe in una variabile globale (intendo $global_variables) affinchè venisse salvata (esiste un altro modo per salvare una variabile oltre questo?) e ho notato che con F9, sembrerebbe proprio che la classe venga serializzata. Se trascrivo quel valore paro paro come stringa in un file, poi lo leggo e lo riscrivo nella variabile (anche dopo aver chiuso e riaperto il gioco), è come se rendessi quella variabile quell'istanza di oggetto (pari pari, quindi posso riutilizzarla?))
Grazie mille e perdonate il tema :P
Edited by Fire-Dragon-DoLIf you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one? (Tom Cargill)
Se dovete fare una cosa semplice, tipo
Usate le funzionalita' del linguaggio piu' complicato che esiste:Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now