Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

  • Chatbox

    You don't have permission to chat.
    Load More
Thejuster

MMORpgmaker 3.1

Recommended Posts

si esatto.

 

Normalmente, si potrebbe già creare un gioco funzionante.

 

Se sei bravo riesci a farlo anche con gli script senza usare il database.

altrimenti bisogna aspettare che il database sia completo.

 

Ma si può già tranquillamente creare il proprio gioco via script

Share this post


Link to post
Share on other sites

si linguaggio lua

 

molto semplice da usare.

 

basta che ti guardi un pò gli script per capire come funziona.

ma è molto semplice.  puoi fare anche qualche prova direttamente nella Scene_Game 

alla funzione   function Scene_Game.Update()

Share this post


Link to post
Share on other sites

Juster ecco una cosa che secondo me,  manca da sempre in rpgmaker negli if è possibile controllare se un qualcosa è = > < diverso. Se un eroe ha o non ha un qualcosa ecc ecc.

Ma non possiede l'or l'xor ed altri casi simili, che renderebbero molte cose più semplici da realizzare con un unico o qualche if, invece di crearne uno per ogni singolo caso che allunga di molto il tutto. 

Share this post


Link to post
Share on other sites

Si Kaine.

 

Precisamente in questi aggiornamenti Oltre a dare la possibilità di recuperare il valore delle variabili del gioco,
ho dato la possibilità di recuperare il valore delle variabili anche native del programma.

 

Ovvero, è possibile risalire a variabili di sistema anche se non sono dichiarate.

 

esempio, la variabile Player_X  è una variabile nativa del programma.  ma con i nuovi aggiornamenti si può recuperare il valore. così come tante altre cose. 

 

Tipo la direzione, l'ultimo tasto premuto, in quale menù si trova, il  nome della mappa. La quantità di risorse e texture utilizzate ecc. ecc. qualsiasi variabile nativa si può ottenere il suo valore.

 

 

Cmq il tutto basta imparare bene il lua che e anche molto semplice.

 

Ovviamente, il lua è un linguaggio creato per essere utilizzato come scripting.

quindi può essere alterato dal programmatore che implementa classi e funzioni.

 

Se siete interessati al programma vi consiglio di scaricarlo dal GitHub e fare delle prove nello script Scene_Game

 

e dare un occhiata a tutti gli script creati da me e melosx.

 

per vedere invece le funzioni basilari del lua vi basta andare qui

 

http://www.lua.org/pil/contents.html#P1

 

kaine cmq i comandi ci sono.

 

if  aaa == bbb then  

 

oppure

 

if var1 > var2 then  ...

 

si può usare Math.Sin, Math.Cos ecc. ecc.

 

guarda il sito

 

 

Share this post


Link to post
Share on other sites

(Comunque mi sembra che il linguaggio Lua è usato anche nella computercraft mod di minecraft)

Scusate l'off, stà venendo veramente bene, bravo :)

 

se è per questo è usato anche in molti videogiochi "professionali":

 

http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games

 

alcuni nomi ti saranno familiari :P

Share this post


Link to post
Share on other sites

Altre nuovità

 

*Aggiunto lo scrolling

 

ed sistemato l'algoritmo principale del Tile Engine

 

RSS:
Uno dei problemi che mi è sorto.
E' stato quello di cercare un metodo molto più veloce ed efficacie con il minor consumo di risorse possibile da parte della GPU.
 
Il Consumo più eccessivo è dovuto al rendering della Mappa.
 
image.jpg
 
 
Questo è un metodo classico di come tutti i programmatori e la maggior parte
dei motori grafici utilizzano questo tipo di algoritmo.
 
MMORpgmaker invece è molto particolare.
 
Difatti, Non essendo un programma scritto in codice nativo.
Ma ben sì, con framework .net. Ho voluto puntare tutto sulle prestazioni
e sulla grafica.
 
Ecco invece l'algoritmo che ho creato per MMORpgmaker.
 
image.jpg
 
 
Tutti gli eccessi minimi vengono ottimizzati,
con una funzione di distinzione tra i vari oggetti in modo da sfruttare solo
quelli che realmente servono.
Il resto vengono mappati e compressi in modalità binaria a 32 bit nella memoria.
e riletti quando necessario.
 
Questo causa l'obbligo di una Loading Screen. Ma il lato buono
è la velocità ed il guadagno in prestazioni ed FPS.
 
In oltre non seriverà nessun pacchetto di risorse, musiche o suoni da rilasciare all'utente finale.
Perché il tutto viene compilato nei file binari di MMORpgmaker.
Compreso Script ed eventi.
 
In oltre, guadagniamo anche in per la sicurezza.
difatti non è possibile estrarre risorse dal gioco rilasciato.
 
Ed la versione MMO gli script vengono letti ed interpretati direttamente dal server
che li ospita impedendo all'utente finale la visione del file.

Share this post


Link to post
Share on other sites

già, sei proprio uno smanettone iin queste cose. ho capito solo che meno roba c'è sulla mappa, meglio è, quindi fai identificare come uno solo x tipo, i tile presenti suddividendoli in rettangoloni. geniale

Share this post


Link to post
Share on other sites

già, sei proprio uno smanettone iin queste cose. ho capito solo che meno roba c'è sulla mappa, meglio è, quindi fai identificare come uno solo x tipo, i tile presenti suddividendoli in rettangoloni. geniale

 

 

Esatto Oji

Avete presente lo script Anti lag per Rpgmaker?

 

Lo script in pratica blocca il rendering degli eventi nell'area di visualizzazione  Es: 640 x 480.

Tutto quello che è all'interno del rettangolo viene visualizzato al di fuori invece no.

 

Ma comunque sia, il lag c'è sempre.  Si riduce si. Ma c'è sempre.

 

invece il mio calcolo fà in modo che se ho 5 tileset di erba esempio   X X X X X X OO

anziché disegnare la stessa immagine per 5 volte  ne creo dinamicamente 1 che ne contenga tutte e 5  diventando X O

e come invece di comprare una bottiglia di acqua alla vota quando abbiamo sete, ne compriamo una cassa e beviamo quando serve.

facendoci risparmiare benzina per andarla a comprare e tempo XD

 

Più o meno il discorso e questo.

Share this post


Link to post
Share on other sites

la cosa dell'antilag mi pare funzioni anche con gli sparatutto XD dove stai guardando è tutto bello renderizzato, mentre alle spalle è tutto in bassa qualità XDDD

Share this post


Link to post
Share on other sites

Fighissima questa cosa dovrebbero prenderti come esempio quei quattro gatti della enterbrain invece che tirare colla e farsi di acidi XD

Quoto in tutto e per tutto! Grande Just

Share this post


Link to post
Share on other sites

la cosa dell'antilag mi pare funzioni anche con gli sparatutto XD dove stai guardando è tutto bello renderizzato, mentre alle spalle è tutto in bassa qualità XDDD

 

Quella è un'altra tecnica ojino XD

viene chiamato Occlusion Culling o come Loudness.

 

non è che perdono qualità, ma vengono creati 3 tipi di modelli 3D  ( Hig Poly, Mid Poly e Low Poly )

Più lontano è l'oggetto più ha bassa bassa qualità proprio come dicevi.

Ma viene comunque utilizzato un modello apposta non è che esista uno script o shader che abbassi la qualità in lontananza.

 

Cercando su google ho trovato una documentazione che si avvicina al mio algoritmo.

Si avvicina molto ma non è lo stessa cosa. 

perché in questo documento viene svolto tutto su un solo ripiano.

Mentre nel mio caso ho più layer di disegni.

 

Ma + o - siamo lì.

 

http://www.ingfm.univpm.it/documenti/docenti/r_operativa/es_svolti_ottvinc.pdf

Share this post


Link to post
Share on other sites

Voglio un parere da voi raga.

Siccome sto perdendo veramente l'essere nel creare gli eventi sulla mappa

E sto andando in contro ad una miriade di problemi.

Perché mi sta causando un rallentamento del progetto non indifferente.

 

Stavo pensando invece di fare gli eventi come fa rpgmaker ovvero direttamente sulla mappa stavo pensando di creare una sorta di eventi comuni su mappa.

E poi nella mappa assegnare la posizione di dove andrebbe visualizzato l'evento.

 

Oltre ad essere un sistema innovativo. Potrebbe essere anche una buona novità.

Perche poi gli eventi o gli script essendo comuni per la mappa possono richiamarsi tra di loro esattamente come un evento comune ma a differenza che valgano solo per la mappa attuale cosa ne pensate?

Share this post


Link to post
Share on other sites

beh, a questo punto perchè non fai soltanto eventi comuni "globali" (dando la possibilità di crearne infiniti) e nelle mappe si stabilisce il punto in cui vengono indicati solo i punti in cui questi vengono richiamati? o è troppo "pesante" poi per il gioco?

 

poi pensavo, come si fa per gli npc, i classici di ogni rpg, che gli parli e ti dicono frasi inutili tipo "che giornata del kaiser oggi" ? XDD

Share this post


Link to post
Share on other sites

No pesante no. Ma penso che poi l 'utente si ritroverebbe una lista immane di eventi.

Vallo a trovare più quelli che ti serve ASD.

 

Riguardo agli NPC la posizione la scegli sempre ovviamente cosi come la grafica dell'NPC e cosa devono dire

Share this post


Link to post
Share on other sites

ok intanto vedo se riesco a fare una cosa molto carina.

 

Intanto ho migliorato un pò l'algoritmo dei riflessi tramite le mappature dei normali.

danno meno fastidio  

 

 

1429311408.jpg

 

Fixato lo scrolling alla fase 2.

 

Tutti i layer si muovono come Rpgmaker.

 

ovvero:  Se l'eroe è al centro dello schermo e la mappa e > della grandezza della risulozione attuale 

effettua lo scrolling fino al termine della mappa.

 

ora manca la fase 3 dello scrolling ovvero, far muovere anche gli eventi durante lo scrolling.

 

* Aggiungo nuovo Title Screen e nuova Musica di Background

 

ecco i nuovi cambiamenti

 

potete visionare cosa è stato modificato

 

https://github.com/MakingItalia/MMORpgmaker/commit/ac2a29b669ae3be7adb3b6719effab84de7ddd7c

 

 

Title Screen:

 

TitleScreen.png

Share this post


Link to post
Share on other sites

No pesante no. Ma penso che l'utente si ritroverebbe una lista immane di eventi.

Non necessariamente Just... Un'idea potrebbe essere quella di organizzare il tutto in maniera simile alla programmazione a oggetti... Del tipo che hai un oggetto, lo istanzi quante volte ti pare e poi per ogni istanza vai a definire i dettagli...

Se hai mai visto un tutorial di base su Game Maker potresti aver già capito a cosa mi riferisco...

 

Oppure un'idea alternativa sarebbe quella di etichettare ogni evento con una stanza e rendere visibili solo quelli "locali".

Per esempio tu a bordo finestra hai un 'mini menu' in cui puoi creare eventi che dal punto di vista dell'utente sono "locali" ed esistono solo in quella stanza, mentre in realtà sono globali ed etichettati in quella stanza!

 

Dopodiché tu anziché creare 2/3/4 eventi uguali tra loro potresti addirittura istanziare l'evento (ovvero creare delle copie autonome dell'evento che anche se eliminate non eliminano definitivamente l'evento originario -per chi non s'intendesse di programmazione-).

Ancora meglio sarebbe far si che lo stesso evento possa essere "copiato" in più stanze, dove in realtà la "copia" corrisponderebbe in realtà all'aggiunta di una nuova etichetta-stanza all'evento e tale evento fosse visibile anche nella nuova stanza (alias "mappa", il nome è abbastanza convenzionale)...

 

Con questo metodo avresti a livello di programma si: un'infinita lista di eventi globali, ma dal punto di vista dell'utente questi vedrebbe per ogni stanza solamente gli eventi che secondo lui ha creato in quella stanza. Inoltre potrebbe "copiare" tali eventi tra due stanze diverse (che con un sistema di etichette risulterebbe anche molto più leggero ed efficace di un reale copia-incolla) e potrebbe creare infinite copie dello stesso evento nella stessa mappa! (che in certi casi risulta veramente molto utile! Vedi la creazione di menu/BS a eventi)

 

EDIT: Mi accorgo solo ora che in buona parte era l'idea che avevi avuto già! :yehe: Effetti dello stomaco vuoto XD

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×