Analisi parte di scripting
Guardando il trailer di Hytale soprattutto la parte che riguarda lo scripting ho notato alcune cose sul linguaggio di programmazione utilizzato e sulle funzioni utilizzate nel trailer.
Linguaggio di programmazione:
Il linguaggio utilizzato per programmare il gioco è ancora un'incognita. Però possiamo supporre molte cose.
I Commenti
La prima cosa che ho notato è che questi commenti formati da "*/" con il successivo link alla pagina segreta non sono commenti di javascript ne di altri linguaggi che io conosca.
Come si può vedere i veri commenti sono alla riga 9 e alla riga 21 formati da //
var
In molti linguaggi di programmazione troviamo "var" utilizzato per dichiarare le variabili.
Lo troviamo in JavaScript .
Lo troviamo in c#.
Lo troviamo in Java (>= 10, non da confondere con javascript)
Lo troviamo in Kotlin
Con quest'ultimo punto ho buttato lì molti linguaggi di programmazione. Cerchiamo di assottigliare questa lista.
instanceof
Tra i linguaggi scritti precedentemente quelli che hanno l'operatore 'instanceof' sono Java e Javascript.
exports
In javascript oggi viene utilizzato molto per esportare i moduli. I moduli in javascript, per farla molto semplice, sono un' insieme di funzioni che possono essere scritte e successivamente importate in altri file. Questo è molto conveniente perchè non è necessario riscrivere tantissime volte lo stesso codice che fa le stesse funzioni.
Importazioni
Come scritto ne punto precedente quando importiamo del codice solitamente è perchè da qualche parte abbiamo già scritto quello che ci serve e vogliamo solo utilizzarlo. Anche in questo screen sono presenti delle importazioni: var Player = com.hypixel...
Sembra molto in stile Java questa importazione. Ma non è Java e non è neanche Javascript (perchè si usa import) sembra quasi che questi oggetti vengano inclusi da qualche libreria utilizzata per usare Javascript come live scripting.
Funzioni
Da quello che si vede in questo screen sembra che queste funzioni non abbiamo molto senso messe così. Sembra più un copia-incolla per il trailer. Sicuramente questo codice se utilizzato una volta che il gioco verrà rilasciato non funzionerà.
Si può però notare due funzioni "onCollide" entrambe le due funzione fanno un controllo per verificare l'entità che è andata a collidere. Se questa entità è un Player nella prima funzione viene cambiata la GameMode in Adventure (questo presuppone diverse modalità di gioco). Nella seconda funzione teletrasporta il Player a delle precise coordinate. Suppongo siano x, y e z. Tutte impostate a 0. Queste coordinate penso siano messe solo così per il trailer. Oppure sono relative ad una "stanza", non penso un modo perchè se il sistema è simile a minecraft il player si ritroverebbe sotto terra.
Interfaccia
L'interfaccia nel trailer sembra molto semplice, in alto nome dello script e tipo dello script (Tipo Custom, custom il linguaggio? Custom per il trailer? Custom perchè ha diverse funzioni?).
Sotto i bottoni:
Salva e compila, Scarta, Carica da file, Salva su file.
Editor
Il nome dell'editor è "Trigger Editor". Questo fa pensare che esistano diversi editor. Questo in particolare sembra che gestisca degli "Inneschi" (Una trappola? Un blocco particolare?).
Questa è la mia analisi sul trailer per quanto riguarda la parte di scripting. Fatemi sapere cosa ne pensate o se devo aggiungere qualcosa.