Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

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

MIRE Engine

Recommended Posts

Non ho ancora seguito il progetto ma è molto promettente questa volta, Ghost forse intende questo:

 

 

2j3mxq9.jpg

 

 

E non ha tutti i torti, come mai la tonalità o opacità di schermo non comprende anche gli edifici? 

 

sì esatto, volevo dire questo xDDD

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Dipende dalle luci.

Quelle in mire si chiamano:

 

Deferred 2d light

 

Sono luci particolari che hanno effetto su qualsiasi oggetto.

 

E si vede dall'alto come il 2d.

 

Quelle sono luci semplici che affliggono sono un modello in particolare.

In questo caso solo il terreno.

 

Si presume che la luce abbia l'effetto di battere su oggetti bassi e non quelli alti.

 

Sono 2 tipi di luci differenti, IO personalmente preferisco il metodo di mire.

 

E non hai ancora visto nulla XD

gli eventi sono script in realtà.

 

Non lo noterebbe nessuno, Ma ho usato un metodo di parsing proprio come quello per i nodi.

 

pre_1463995611__1.png

 

A questo punto si può generare direttamente uno script anziché rallentare l'engine.

Prima a convertire i simboli e poi a creare il codice.

 

Se invece lo si fà già dall'editor ne si guadagna di prestazioni e di velocità.

Inserirò anche un pulsante per modificare direttamente il codice

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Si presume che la luce abbia l'effetto di battere su oggetti bassi e non quelli alti.

 

beh no, la luce si espande in tutte le direzioni a partire dal punto di origine, non è un disco piatto; e dipende da due fattori:

1) l'intensità della luce

2) il "livello" di oscurità circostante

 

come dice il proverbio, più è nero il buio, più forte è la luce.

 

per cui l'effetto finale corretto è quello dello screen di Loppa, o quantomeno gli edifici dovrebbero essere scuriti anche loro, anche se per qualche arcano motivo la luce non batta su di loro (cosa fisicamente impossibile... ma ammettiamo che sia così...) rimane il fatto che devono "subire" l'effetto del buio anche loro, altrimenti così sembrano degli oggetti estranei.

 

è come se io spegnessi ogni luce nella mia stanza, e nel buio totale riuscissi a vedere la mia poltrona chiaramente come se fosse giorno...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
dipende dagli shader e come sono composti.

 

con questo ho dei problemi e conflitti sulle luci.

credo di escluderlo cmq.

 

Volevo avvisare che ho rinnovato di nuovo il sito di mire XD

ora c'è tanta bella roba in più.

 

Ticket per segnalare bug, una wiki rapida, Punti per acquistare oggetti,

forum di supporto ecc. ecc.

 

in più anche un bel portale.

 

www.makingitalia.net/mire

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Just mi sono iscritto è normale che per esempio nella gallery posso inviare le mie cose?

Posso aggiungere i download etc...

 

Nei contacts non ho i permessi

 

per il resto mi dice che ho 40 punti ma non sono visulazzato nella leaderboard 

ottimo lavoro comunque

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Uhm si normalmente potresti inviare immagini nella gallery.

Esempio screenshoot, tileset ecc. ecc.

 

Si e dovresti poter aggiungere anche i download.

 

Di regola dovrebbero essere moderabili.

cioè essere approvati, devo verificare se funziona tutto

 


ma devo iscrivermi da capo justino? XD
 
mi sà di si XD
 
prova ad iscriverti

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ho letto tutto d'un fiato questa conversazione...non posso aggiungere nulla di veramente utile, ma posso semplicemente fare i più grossi complimenti ai ragazzi che stanno lavorando dietro a questo tool .. wow !!

 

Veramente bello ed interessante, soprattutto sapendo che è stato fatto da dei ragazzi italiani !

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Si parte con gli eventi :D

 

Finalmente ho rotto quel muro che non mi faceva andare oltre.

Una volta terminato gli eventi credo che sia pronto al 80%

 

Come avete visto dalle screen,

Ho avuto problemi con i nodi.

 

Ho dovuto temporaneamente disabilitare quella funzione che avevo tanto sognato di mettere in Mire.

Ma credo che in futuro la abiliterò.

 

O magari dare all'utente la possibilità di scegliere come lavorare.

 

Per risolvere questo problema, ho dovuto inventarmi un nuovo sistema.

 

La generazione del codice non è stata una buona idea.

il risultato e che gli eventi non hanno la stessa affinità degli script.

 

Gli script lavorano in Continue Calling.

Mentre gli eventi no.

 

Gli eventi vengono richiamati solo in determinate occasioni.

Quindi esempio se mostravo un dialogo di un NPC, esso scompariva subito.

 

Ho provato a chiedere aiuto anche a degli amici bravissimi, sul forum a cui sono moderatore di C# e PHP.

Ma nessuno mi ha trovato una soluzione al problema.

 

http://www.pierotofy.it/pages/extras/forum/viewtopic.php?forum_id=&project_id=&id=1058669&page=1

 

 

 

L'idea e nata mentre scrivevo un tutorial per Assembly.

 

L'assembly si scrive InLine.

cioè in una sola linea, effettua un operazione.

Ed' qui che mi è venuto il lampo di genio.

 

Sfruttare quella sintassi per gli eventi, e richiamare metodi opportunamente creati per esso.

Quindi gli eventi non vanno a richiamare le stesse funzioni adoperate dagli script.

Perché quelle funzioni dedicate agli script, lavorano diversamente.

Vengono ripetute centinaia di volte in un secondo.

Quindi per creare un dialogo, serviva un vero casino.

 

E vi spiego perché.

 

Guardate con i vostri occhi.

 

 

Questa è una normalissima conversazione di un NPC fatta da script

--> #########################################################
--> # MMORPGMAKER Script -  Dialog Example                  #
--> #########################################################
--> # Questo script mostra come creare dinamicamente        #
--> # In discorso a dialighi tramite script                 #
--> # Tutta via richiede un piccolo accorgimento            #
--> # Per poter gestire i tasti, richiede che quando        #
--> # Viene interpellato il metodo Update gli sia passato   #
--> # Tra parentesi il gestore dei tasti ovvero key         #
--> #########################################################
--> # BY: MMORpgmaker Dev Team                              #
--> #########################################################



Dialog_Example = 
{
dialogs = false,
dialog_count = 0,
dialog_max = 0,
keystate = ""
}


function Dialog_Example.Update(key)

----------------------------------------------------
-- # Chiamata dell'evento Example
----------------------------------------------------
    
    -- Se premo F1 apri il dialogo
    if key == "f1" then
        Dialog_Example.dialogs = true
        System_Audio.Accept() 
    end
    

    -- Se il dialogo è attivo richiamo l'evento
    if Dialog_Example.dialogs == true then

        Dialog_Example.Show()

    end

    
-------------------------------------------------------



end



function Dialog_Example.Show()
----------------------------------------------------
-- # Prova di un dialogo
----------------------------------------------------

    -- Gestore dei tasti
    Dialog_Example.keystate = Keyboard_State.Get_Key()
   
  
    
    --Se il dialogo è attivato, mostra il messaggio
    if Dialog_Example.dialogs == true then
    
        if Dialog_Example.dialog_count == 0 then           
            Window.Dialog("Benvenuto Giocatore\nQuesto e' un dialogo di esempio")
            --call_event("event_0") --> Richiamo un evento dal database
        end
        
        
        if Dialog_Example.dialog_count == 1 then
            Window.Dialog("Questo script di esempio illustra come creare dialoghi\nManualmente da script")
        end
        
        if Dialog_Example.dialog_count == 2 then
            Window.Dialog("Puoi trovare questo esempio nella cartella Script/Example/Dialog_Example.lua")
        end
        
        if Dialog_Example.dialog_count == 3 then
            
        Window.Dialog("Per disattivare questo script\nVai in Scene_Game.lua e commenta o elimina la riga contenente:\nDialog_Example.Update(key)")
        end
        
        
    end
    
    
  
    -- Quando premo ENTER mostra il successivo dialogo
    if Dialog_Example.keystate == "enter" then
        System_Audio.Cursor()
        Dialog_Example.dialog_count = Dialog_Example.dialog_count + 1
    end

    
    
    -- Quando i dialoghi sono terminati, disattiva il dialogo
    if Dialog_Example.dialog_count == 4 then
        Dialog_Example.dialogs = false -- Disattivo il Dialogo
        Dialog_Example.dialog_count = 0 --Resetto il conteggio
        System_Audio.Cancel()
    end
  
  
    
   
 end

Questa è una normalissima conversazione fatta da Evento

DLG "Ciao a tutti, questo è un messaggio di prova"
code128:Questo è un commento
code128:Cambio Posizione del Messaggio
code129:Transparent,Top,True,False

Il risultato visivo è questo

 

 

pre_1465293858__1.png

 

 

Certo, ho dovuto lavorare molto sul parsing ma ne vale la pena.

Questo è per farvi capire tutto l'ambaradan che serve.

 //0: Window Type
            //1: Position
            //2: Auto select Position
            //3: Halt Process
            #region Message Display Option ( code129:{0},{1},{2},{3} )

            if (cmd[0].ToString().Contains("code129"))
            {
                string cmds = "<> Dialog Display Option: ";
                SizeF s1 = g.MeasureString(cmds, e.Font);

                string[] p1 = Items[e.Index].ToString().Split(':');
                string[] param = p1[1].Split(',');

                g.DrawString(cmds, e.Font, new SolidBrush(Color.Cyan), e.Bounds);

                //Param: 1
                //Param: 2
                SizeF pr1 = g.MeasureString(param[0] + " , ", e.Font);
                SizeF pr2 = g.MeasureString(param[1] + " , ", e.Font);
                
                
                g.DrawString(param[0] + " , ", e.Font, new SolidBrush(Color.Yellow), new PointF(e.Bounds.X + s1.Width, e.Bounds.Y));
                g.DrawString(param[1] + " , ", e.Font, new SolidBrush(Color.Yellow), new PointF(e.Bounds.X + s1.Width + pr1.Width, e.Bounds.Y));

                //Param 3:  Auto / Fixed

                param[2] = bool.Parse(param[2].ToLower()) ? "Auto" : "Fixed";

                g.DrawString(param[2] + " , ", e.Font, new SolidBrush(Color.Yellow), new PointF(e.Bounds.X + s1.Width + pr1.Width + pr2.Width, e.Bounds.Y));


                SizeF pr3 = g.MeasureString(param[2], e.Font);

                //Param 4: Halt Process / Process Continue

                param[3] = bool.Parse(param[3].ToLower()) ? " Process Continue" : " Halt Process";

                g.DrawString(param[3], e.Font, new SolidBrush(Color.Yellow), new PointF(e.Bounds.X + s1.Width + pr1.Width + pr2.Width + pr3.Width, e.Bounds.Y));

            }

            #endregion

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Nuova Splash Screen e Logo di Mire Engine.

 

Finalmente dopo vani tentativi ho trovato una buona anima che mi ha disegnato un bel logo

con un bel background.

 

Ringrazio Starline e maestro99 per il lavoro svolto.

 

Starline per il background e maestro99 per il logo

 

Entrambi saranno segnati nei crediti del progetto.

 

Splash_Screen.png

 

spero vi piaccia :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Proprio ora sto lavorando agli eventi.

 

Credo che una volta completato gli eventi, anche se in modo superficiale, si può lanciare la prima versione Beta Ufficiale

e funzionale del programma, giusto per iniziare a sperimentare qualcosa.

 

Non manca molto. 

Come detto una volta completato gli eventi, l'80% del lavoro è fatto.

L'altro 20% resta al database.

 

Completato anche il 20% restante del database, ovvero i dati di default

(eroi, armi, animazioni, ecc. ecc.) il programma sarà completo.

 

Dopo inizieranno i miglioramenti.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Proprio ora sto lavorando agli eventi.

 

Credo che una volta completato gli eventi, anche se in modo superficiale, si può lanciare la prima versione Beta Ufficiale

e funzionale del programma, giusto per iniziare a sperimentare qualcosa.

 

Non manca molto. 

Come detto una volta completato gli eventi, l'80% del lavoro è fatto.

L'altro 20% resta al database.

 

Completato anche il 20% restante del database, ovvero i dati di default

(eroi, armi, animazioni, ecc. ecc.) il programma sarà completo.

 

Dopo inizieranno i miglioramenti.

 

Ottimerrimo!

Così potrò iniziare a programmare per i miei progetti...! Non sei felice che la prima persona a creare qualcosa di commerciale (magari da finire anche su Steam!)  sia io? u.u

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Voglio mostrarvi il Datasheet ufficiale di MiRE per la post-produzione degli eventi.

 

 

EE8rKGt.png

 

Con questo FlowChart mi oriento nella programmazione senza sbagliarmi.

Ovviamente prima mi sono prefissato gli obiettivi, i vari ToDo e come procedere altrimenti  è un casino XD

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×