Thanks, in ordine cronologico, @ Timisci , havana24 , Marigno , DarkSchneider , ZerotheQueen , dad , Alato , Tio , moltheni , Neji e Mazus
scordato qualcuno? :O
1. Come risulterà il mapping con questo engine?
per ora la mappa è una semplice matrice compilata manualmente. Se si può leggere un determinato livello di RPGMaker non dovrebbe essere troppo problematica la conversione.
2. per l'inderimento delle texture il programma dove le prenderà? Li prenderà direttamente dal tileset?
non sono molto esperto in rpgmaker: non ho ancora toccato il tema "risorse" e non so quali siano i metodi classici: al momento li prendo dalla cartella "Graphics/Pictures" del progetto.
il porblema dello scattoso è dovuto dal modo in cui ha creato l'engine o a limiti del maker? Credo la seconda ma son comunque curioso.
credo sia proprio il tool che non è nato per algoritmi del genere: un cliclo di rendering, con dentro un ciclo da 320 iterazioni, con dentro un ciclo da mediamente 500 iterazioni, rallenta molto!
e non credo sia una questione di render di immagini & co: lo fa anche solo se sono semplici calcoli.
In tal senso ho provato altre soluzioni, come trasformare l'algoritmo in ricorsivo, ma il risultato è stato praticamente uguale, oppure utilizzare i thread che mi ha segnalato DarkSchneider: ora non so se ho usato bene quest'ultimi, ma se la logica è la stessa di quelli proprosti da Java dovrei averci azzeccato, e il risultato delle due peggiora.
Ho trovato un modo per cercare di ridurre il numero di iterazioni del ciclo più interno (che è quello che pesa di più): funziona in parte, la fluidità è notevolemente superiore, ma parte del dettaglio è andato perso: si tratta di trovare il giusto compromesso.
Graphics.frame_rate = [velocità da 10 a 120]
si, lo provai: a framerate=10 va tutto più lento, ma gli scatti sono regolari. a 120 ho dei momenti fluidi (pochi) e altri quasi fermi.
a 60 penso sia la via migliore.
Zago un passo avanti è quello di realizzare un sistema del cielo 3D [..]primitive cube o sphere e texturizzarla.
l'engine in realtà è fake 3D: è molto più vicino al 2D che al 3D: non vi è nessun sistema di punti e vertici con coordinate x,y e z. E' più simile ad una "proiezione" della mappa 2D.
in teoria si potrebbe fondere questo, con un engine 3D "vettoriale", o "poligonale" (ne feci uno in gamemaker, quindi in teoria si tratterebbe solo di convertire il codice). Ma un ciclo che scorre e aggiorna tutti i vertici rallenterebbe ulteriormente.
se poi si pensa a "fillare" il wireframe con delle texture, il costo computazionale e di disegno volerebbe alle stelle, perchè si tratterebbe questa volta di colorare pixel per pixel all'interno dei poligoni: non sono pià "solo" 320 rettangoli come nel raycast.
Per gli oggetti penso che il semplice "sprite" alla wolf3D possa bastare.
per quanto riguarda il cielo o il pavimento, il raycast 'evoluto' li può simulare (Wolf3D non li aveva ma Doom si, ad esempio), e sarebbe una sorta di mode7, ma ho come il terrore che rallentino pure questo.