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

MIRE Engine

Recommended Posts

Se c'è la camminata diagonale allora no, non penso ci siano problemi.

Bisognerebbe essere più attenti con la passabilità comunque.

 

Vero, ma essendo comunque abilitato al "pixel-by-pixel" dovrebbe avere un ampia gamma di possibilità nel settarle. Almeno credo... Senno' una soluzione penso si troverà xD

Share this post


Link to post
Share on other sites

Nuovi Updates

 

  • [implementato] Posizione Iniziale dell'eroe 
  • [implementato] Posizione iniziale del veicolo 
  • [implementato] Debug della mappa corrente
  • [bug Fix] Medesimi eventi su altre mappe

 

L'update più suggestivo è il Debug della mappa corrente.

Entrando in Modalità "Crea Evento"  Tasto destro del Mouse -> Debug Mappa

 

Esattamente dove si è cliccato con il tasto destro, L'eroe partirà da quel punto in quelle coordinate in quella mappa.

testando la mappa corrente.

 

Lo si può fare anche tramite riga di comando.

Esempio:

 

C:\>Mire.exe "mappa01.mp2d"

 

Inviando come parametro %1 a Mire.exe eseguirà il Debug della mappa passata come parametro.

 

 

Next Updates:

 

Taglia, Copia Incolla degli eventi.

Share this post


Link to post
Share on other sites

Aggiornamenti

 

Durante lo streaming internazionale di oggi,

 

Implementata la funzione Giorno / Notte

Inizio implementazione Evento - Opzioni Messaggio

 

pre_1469485816__cattura.jpg

 

Cliccando sull'icona del sole, questo vale mappa per mappa,

E' possibile scegliere la forza della luce solare.

 

La luce solare permette di non vedere più tutto buio come normalmente appare nella screen a destra.

 

Cambiato i valori, ( Trascinando la barra del sole ) a R,G,B < 255

 

Ecco il risultato della modalità giorno.

 

 

pre_1469486068__cattura.jpg

Share this post


Link to post
Share on other sites

si certo che si può.

 

Sia via Script che via evento.

 

per ora mi concentro nell'implementare quante più cose possibili per poter realizzare un gioco.

 

Successivamente mi dedico ai dettagli con i vari aggiornamenti.

 

Ci sarà anche un Autoupdater in caso di aggiornamenti, quando si apre il tool si viene avvisati.

Su conferma, parte il download e l'update automatica del programma.

 

In modo tale da avere il programma sempre aggiornato all'ultima versione e non scaricarlo per ogni nuova patch.

Share this post


Link to post
Share on other sites

finite le ferie si riprende il lavoro :D

 

ecco l'ultimo aggiornamento su mire

 

.eJwFwVEOgyAMANC7cAAqrDbU2xAkaKaU0Jp9LLv

 

si tratta dell'UI editor

ovvero l'editor dei menu

 

E' possibile personalizzare il menu senza mettere mano a codice o particolari plug-in

 

potete creare nuove scene di menu a vostro piacimento e personalizzarle come meglio vi pare.

questa è una quadratura standard che ho fatto io giusto per prova.

poi andrà ridefinito meglio il sistema.

fatto sta che si possono personalizzare elementi e spostarli come meglio vi pare.

Share this post


Link to post
Share on other sites

Intanto riporto le ultime statistiche di Mire

 

Nei vari test che ho eseguito ecco alcuni risultati importanti

 

pre_1477292776__ssc.jpg

 

Questa è una tabella di Speed Test

Con relativa compatibilità per i vari supporti.

 

Sebbene il LUA sembrerebbe il più performante di tutti,

Ho grossi problemi di compatibilità con i nuovi dispositivi.

 

1° LUA

2° Nodi

3° Eventi

 

 

LUA

Il lua sono semplici file di testo che all'interno ovviamente, va creato uno script.

La sua velocità dipende dal fatto che il LUA è un interprete.

In questo caso, la versione utilizzata per Mire è nativa.
Scritta in C++ e portata con una libreria in .NET

le sue performance sono notevoli. basta passare un file di testo come lettura dello stream

per avviarlo a runtime. è questa la potenza del LUA.

Ma essendo una libreria nativa per Windows non funziona su altri dispositivi.

 

Esempio di script Dialogo con LUA

require "stdlib.lua"
require "windows.lua"

function Scene_Game.Update()

 Window.Dialog("Ciao come va?")


end

Nodi

I Nodi sono molto veloci e flessibili rispetto al LUA. Vanno quasi alla pari come prestazioni.

I Nodi non hanno bisogno di essere analizzati o ricostruiti.

In'oltre, hanno le funzioni Built-in ed'è possibile testarli in tempo reale a differenza degli eventi.

I nodi a differenza del LUA che devono essere salvati come file di testo, vengono integrati e compilati nella mappa

corrente creata. Quindi, al momento che la mappa viene caricata, in esso è presente gia lo script a nodi creato, compilato e testato.

 

 

Esempio di script dialogo con Nodi

void Update()
{

dialog("Testo",MsgType.Normal,"Face001.png",0);


}

Eventi

Gli eventi sono i più lenti rispetto alle altre situazioni. La risposta di esecuzione è molto più lenta così come le sue prestazioni.

A differenza dei nodi, gli eventi creano righe di comando ecco come viene mostrato un evento a lato codice

 

DLG:Messaggio

DLG_POS: Posizione

DLG_FACE: FID

DLG HALT: 0

 

 

Come detto in precedenza, verranno lasciate tutte le impostazioni come si desidera.

Ma quello che ho voluto testare, e vedere e l'effettiva qualità e potenza di ogni tipo di tool

per lo scripting o creazione di eventi per Mire.

Attualmente il più performante e compatibilità con altri OS sono i nodi.

I nodi usano come motore il Monocecil.

 

Il Monocecil è usato anche da Unity per interpretare gli script in C#

quindi basta fare una domanda e darsi una risposta :)

Share this post


Link to post
Share on other sites

Con Justino si imparanno cose XD, quindi da quello che ho capito (anche se ho solo conoscenze in HTML, HTML 5 e Javascript XD) il LUA è una cagata pazzesca XD

 

Inviato dal mio GT-I9505 utilizzando Tapatalk

Share this post


Link to post
Share on other sites

no proprio una cagata diciamo.

Per applicazioni Desktop o webBased va benone.

 

L'unico problema e che interpretare il LUA da web, c'è bisogno di un server proprio come succede con il

Ruby o php,

 

Purtroppo se partiamo dal fatto che un applicazione deve essere portatile (Cross Plattform)

Non possiamo creare un server nel dispositivo. Questo rallenterebbe ulteriormente il gioco.

Per questo motivo esempio Rpgmaker MV usa il javascript.

Perché il javascript è nativamente supportato da qualsiasi piattaforma.

 

Mentre invece se vogliamo interpretare il PHP esempio o il Ruby, dobbiamo installare un server

che interpreta gli script.

 

gli esempi che vediamo online di Php o del RUBY è perché il sito dove da la possibilità di testare lo script

online ha un interprete installato nel server. quindi basta premere esegui che entra in gioco il server.

Ma parliamo sempre di lato web.

 

Mire come sapete, E' un lavoro che va avanti da più di 7 anni.

Ha un proprio motore, un proprio sistema di gestione di elementi grafici, Dei shader proprietari

e dei supporti esclusivi.

Creare un server che supporti il lua su un dispositivo mobile sarebbe uno spreco di risorse e di velocità.

Mire deve fungere come un fulmine.

 

Questo è l'esempio vivente che mire gira anche per il webGL e HTML5

 

http://www.makingitalia.net/MireWEB/

 

Se apri questo link dal tuo smartphone e premi su "Load Game"

vedrai che il gioco partirà ugualmente senza problemi.

 

in quell'esempio, è stato utilizzato puro codice C#

tramite poi il Build Engine di Mire, converte il progetto per il Web

basterà in seguito caricare la cartella sul web e si è pronti a giocare.

 

I Nodi, generano codice C#

 

Gli eventi generano codice InLine.

 

perché gli eventi vengono programmati  linea per linea.

 

 

<>Messaggio: Ciao come stai?
<>Scelta:

<>..  Bene:

<>...   Messaggio: ok

<>...  Male

<>..  Messaggio: Peccato

<>

 

una cosa è:

Compilare direttamente uno script in C#

 

un'altra cosa è:

prendere riga per riga e vedere cosa fa, far eseguire quell'azione e continuare.

Share this post


Link to post
Share on other sites

Nel frattempo che Mire Engine continua il suo sviluppo

e tutti i forum che attualmente esistono sulla rete hanno grandi falle, ho deciso di spostarmi

momentaneamente almeno per il tempo dello sviluppo di mire su forumfree.

 

Così almeno evito la registrazione dei Bot fino al completamento del forum dedicato a Mire

che anche esso è in sviulppo.

 

Dopo aver riparato il computer, ed organizzato nuovamente il Thejuster LAB.

 

 

pre_1477900027__ejwnxukowyamamc_8admyrhk

 

 

Vi allego il link del forum dedicato a Mire su forumfree.

Sarà aperto fino al suo completamento per poi trasferirsi definitivamente una volta completato

su Making Italia.

 

per ora

 

http://mire.forumfree.it/

Share this post


Link to post
Share on other sites

Fixato finalmente il sistema dei nodi.
ecco le nuove feature:

* Possibilità di salvare gli eventi a nodi
* Possibilità di condividere gli eventi a nodi
* Possibilità di Aprire gli eventi a nodi
* Nuovi Moduli condizionali
* Moduli Colorati
* Generazione del codice automatico di C# Mono CLI

 

 

1° Nuovità

 

Mire Compatibile con Windows 10

 

unknown.png
 

macwtz.png

 

 

20r2ul3.png

 

 

 

 

Sistema GoTo Label

 

unknown.png

 

 

 

 

Risultato Output del codice generato

 

unknown.png

 

 

Seguendo la fila logica sia del sorgente generato che dei nodi è possibile sapere come funziona il motore.

 

 

Il codice successivamente a differenza degli eventi, viene compilato direttamente a RunTime.

Ciò significa, che e possibile cambiare gli eventi, e testarli in tempo reale.

Senza dover chiudere il gioco.

grazie al debugger di Mire.

Share this post


Link to post
Share on other sites

Nuove considerazioni:

 

Mire cambierà linguaggio di scripting.

 

Il vecchio LUA sarà sostituito con il nuovo ed ormai portento linguaggio cross-platform.

 

Parlo proprio del Javascript.

 

Mire sarà in grado di leggere ed interpretare script creati in Javascript.

 

cambia poco o nulla dell'attuale sintesi e comandi.

L'unica differenza e che ad ogni linea occorre il punto e virgola ;

e ci sono le graffe.

 

 

Esempio lua

function hello()

  saluta("Ciao a tutti")


end


hello();

Esempio Javascript

function hello()
{

 saluta("Ciao a tutti");

}

hello();

ovviamente per tutti quelli che amano il C-Like è un grande passo avanti.

anche perché il codice così è molto più pulito.

 

 

Esempio di Mire in Javascript con funzione di prototipo e di classe

function prova()
{
this.info = "ciao";
}

prova.prototype.hello = function() {
saluta("ciao");
};

var prova2 = new prova();

prova2.hello();

pre_1478270830__ssc.png

Share this post


Link to post
Share on other sites

Precisazione sull'APK

 

Domanda

Perché si blocca?

 

Risposta

Non si blocca affatto.

L'apk è una fedele riproduzione del motore di MIRE.

con un unica differenza. Essendo un porting da DirectX a HTML5 e WebGL
sul dispositivo mobile non abbiamo una tastiera.

 

Mire inizialmente era stato pensato per girare su Windows.

Quindi sono ancora abilitati i vecchi sistemi della tastiera.

Del tipo, si può muovere la sprite solo con le freccette.

 

un esempio pratico:

 

http://makingitalia.net/MireWEB/

 

questa è una parte della riproduzione portata sull'APK.

quindi non potendo premere Freccia GIU, Freccia SU,

ci dà l'impressione che il gioco si sia bloccato ma non è così.

sta attendendo i segnali per muoversi.

 

Nel prossimo APK saranno implementati i tasti.

anche perchè sto già lavorando sul javascript implementando

le prime parti del motore di scripting

 

Ecco un esempio del codice javascript di Mire

//libreria screen

#include "Screen.js"


function main()
{
 
  //Create a new screen classe
  var s = new screen();

  //Setup Parameters
  s.GameTitle("Mire Engine");
  s.Width = 800;
  s.Height = 600;
  s.FullScreen(false); // -> true for Full screen

  //Apply all Changes
  s.Initialize();


};


Libreria Screen

//#############################################
//# Mire Engine - Screen Class
//# --------------------------------------------
//# Allow to access screen method and function
//#---------------------------------------------
//# By Mire Dev
//##############################################

function screen() {}


//Set Game Title Screen
screen.prototype.GameTitle = function (title)
{
	set_game_title(title);
};


//Set Screen Width
screen.prototype.Width = function (n)
{
	set_screen_w(n);
};

//Set Screen Height
screen.prototype.Height = function (n)
{
	set_screen_h(n);
};


//Apply all Changes
screen.prototype.Initialize = function()
{ 
	screen_initialized(0);
};


//Full Screen
screen.prototype.FullScreen = function(v)
{
	screen_full(v);
};

un pò di pazienza è sarà tutto pronto. :)

Share this post


Link to post
Share on other sites

Infatti quando ho tolto la rotazione automatica c'era una scritta in basso che diceva che non era stato caricato nulla, sicuramente attendeva qualche comando. Attendo la prossima versione (y)

 

Inviato dal mio GT-I9505 utilizzando Tapatalk

Share this post


Link to post
Share on other sites

notizia dalle ultime ore.

portruppo ho tentato in mille modi possibili ed immaginari ad integrare definitivamente il javascript come linguaggio base per mire, ma purtroppo non può essere il linguaggio di base.

 

Alcune funzioni, richiedono l'accesso nativo a funzioni di sistema il quale javascript non può accederci.

javascript funziona lato client, 

 

quindi non possiede cicli di rendering o di loop come il lua.

 

il LUA è nato proprio come linguaggio di scripting per motori grafici.

il javascript è nato appunto come piccolo linguaggio di scripting per eseguire determinate azioni.

 

Il javascript non verrà eliminato, si potrà usare anche il javascript in Mire, 

Ma ha accesso a funzioni limitate e non a tutto il motore di rendering.

 

un esempio:

 

se in lua facciamo

 

i++;  //Incrementa i ad ogni ciclo di rendering

 

successivamente abbiamo che i vale 2,3,4 ecc. ecc.

 

questo non accade con il javascript.

perché una volta eseguito lo script  il js si distacca dal motore di mire.

e non può continuare la successione del rendering.

 

Per ora non posso assicurare nulla.

Ma fatto sta che ci sto lavorando sopra da stamattina

sono circa 5 ore di fila per tentare di integrare il javascript come linguaggio base

e farlo interagire con il motore come succede di default con il lua

 

presto nuovi sviluppi

Share this post


Link to post
Share on other sites

Io l'altra volta te l'ho detto, sei sicuro di voler usare il javascript?

Sai dopo le cagate che han fatto con l'Mv :Enterbrain:

 

Justino: No kainuzzo guarda è pure più veloce  -_- *mostra statistiche varie*

Comunque son fiducioso nelle tue capacità attendo news al riguardo.  ;)

Share this post


Link to post
Share on other sites

Risolto il problema.

era una mia mancanza di concentrazione.

 

ho capito dove era il problema e stavolta credo di aver risolto.

ora sono in ufficio, ho fatto alcuni test e fila tutto liscio.

 

stasera provo sull'engine direttamente, e vi posto un video sull'esperimento fatto.

 

la caratteristica principale, e che non essendo una libreria nativa, ma completamente scritta in C#

e compatibile all 100.

 

Mentre con il lua, avevo grossi problemi nel creare un APK.

appunto perché la libreria essendo nativa, non riuscivo a fare il reflection dei metodi interni alla libreria

quindi mi era impossibile arrivare al codice sorgente della libreria o tradurre funzioni native di windows in javascript.

non avrebbe mai funzionato lua.

 

ma per ora sembra filare tutto liscio.

stasera vediamo cosa succede

Share this post


Link to post
Share on other sites

Ultimamente sto cercando di risolvere un paio di problemi molto grossi su Mire in versione Mobile.

 

Se qualcuno ha notato durante le versioni di test per android la musica non viene eseguita

riportando chiaramente questo errore.

 

You cannot execute xxxx in modern web browser.

 

Questo dipende dal fatto che mire lavora molto sul nativo.
Quindi la prima soluzione sembre essere a portata di mano.

 

pre_1478881813__ssc34.png

 

 

Questo script va a funzionare come interprete nel Browser saltando alcuni elementi per Mire.
suonando nativamente sul browser la musica.

 

Riguardo all'altro problema era quello di portare le luci particolari di mire sul WebGL.

Fin qui non dovrei avere problemi. 
Difatti proprio ieri sera quando avevo perso le speranze *booom*

"Compilazione avvenuta con sucesso..."

 

Ora è uscito fuori un'altro problema XD

 

Le mappe di Mire, sembrano essere troppo criptate per essere decriptate dal javascript.

Quindi dalla WebDev Console ho studiandomi bene l'errore passo dopo passo,

ho trovato il problema che e proprio nelle mappe.

 

Serivirà un nuovo formato per le mappe o tanto meno per quel che riguarda

l'esportazione sul mobile.

 

Stranamente, non posso riscrivere l'engine dedicato esclusivamente per il web.

Quando provo a portare le librerie di mire in un nuovo progetto non riesce a funzionare.

 

Mi sà che le ho protette fin troppo bene :/

tanto da non farle importare nemmeno in un'altro progetto.

 

quindi dovrò essere costretto a svuotare completamente tutto il motore desktop

ed ampliarlo man mano assieme a quello desktop.

 

Ma su questo non dovete preoccuparvi.

Sapete che Thejuster riesce sempre su tutto perché non molla mai.

 

Continuerò dando sempre la priorità al programma per generare giochi Desktop.

Successivamente mi dedico al lato web.

 

Chissà, nel frattempo che completo l'app desktop uscirà qualche altra tecnologia

e per evitare di fare ciò dovrei ricominciare di nuovo.
Quindi meglio dare al tempo ciò che il tempo chiede.

 

Non mi preoccupo più di tanto perché ho passato di peggio nel realizzare il motore.

sopratutto per i nodi e tutte le bestemmie date.

 

Alla fine, programmare con i nodi e come programmare in javascript ma in modo visuale

e non testuale.
Tirando linee qua e là viene generato codice man mano che si prosegue.

 

L'obsoleto LUA verrà completamente eliminato anche se sono riuscito a portare lua su android con mire XD

ormai ho già iniziato con javascript.

 

Il ché si presenta molto più stabile e veloce.

 

Detto questo, è ora di passare finalmente agli eventi programmati.

Terminato questo, non resta altro che aggiungere elementi nel database ed avremo la prima beta uffuciale di Mire

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

×