Vai al contenuto

Hytale trailer analisi programmatore


Messaggi consigliati

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.

 

hyte.thumb.PNG.0f26958becd7f894049ee31e01951742.PNG

 

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. 

Link al messaggio
Condividi su altri siti
  • Risposte 6
  • Creata
  • Ultima risposta

Migliori invii in questa discussione

Giornnate popolari

Migliori invii in questa discussione

Giornnate popolari

Messaggi popolari

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 utilizz

Premetto che ti rispondo da semplice programmatore della domenica che ha studicchiato C e phyton. L'unica cosa su cui ti so rispondere è che il commento con " */ " è utilizzato in C per commenti

Sicuramente sarà qualcosa di semplice se può essere programmato anche in-game. Sono contento di vedere i bottoni carica e salva da/su file, almeno se voglio lavorare su un altro editor ho questa possi

Immagini pubblicate

Premetto che ti rispondo da semplice programmatore della domenica che ha studicchiato C e phyton.

L'unica cosa su cui ti so rispondere è che il commento con " */ " è utilizzato in C per commenti che non superino una riga di codice e che proprio la struttura della stesura del codice e la function () mi ricorda quel linguaggio.

Comunque credo che per rendere accessibile il linguaggio di programmazione ad una larga fetta di utenza come hanno detto loro, alla fine ne inseriranno uno "customizzato" e più semplice.

Link al messaggio
Condividi su altri siti
10 minuti fa, Fabrer ha scritto:

Premetto che ti rispondo da semplice programmatore della domenica che ha studicchiato C e phyton.

L'unica cosa su cui ti so rispondere è che il commento con " */ " è utilizzato in C per commenti che non superino una riga di codice e che proprio la struttura della stesura del codice e la function () mi ricorda quel linguaggio.

Comunque credo che per rendere accessibile il linguaggio di programmazione ad una larga fetta di utenza come hanno detto loro, alla fine ne inseriranno uno "customizzato" e più semplice.

 

Sicuramente sarà qualcosa di semplice se può essere programmato anche in-game. Sono contento di vedere i bottoni carica e salva da/su file, almeno se voglio lavorare su un altro editor ho questa possibilità. Comunque per il commento penso che sia semplicemente così per il trailer oppure è un linguaggio custom. Perchè in c il compilatore cerca prima '/*' e ignora tutto finché non trova '*/' per i commenti da una sola riga utilizza invece '//'. 

Link al messaggio
Condividi su altri siti
14 minuti fa, thecopyright ha scritto:
 

Sicuramente sarà qualcosa di semplice se può essere programmato anche in-game. Sono contento di vedere i bottoni carica e salva da/su file, almeno se voglio lavorare su un altro editor ho questa possibilità. Comunque per il commento penso che sia semplicemente così per il trailer oppure è un linguaggio custom. Perchè in c il compilatore cerca prima '/*' e ignora tutto finché non trova '*/' per i commenti da una sola riga utilizza invece '//'. 

Cavolo hai ragione ahah, magari un editor semplificato sarà un buon modo per cominciare a capirci qualcosa di più di programmazione ! 

Link al messaggio
Condividi su altri siti
1 ora fa, thecopyright ha scritto:

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.

 

hyte.thumb.PNG.0f26958becd7f894049ee31e01951742.PNG

 

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. 

Ma questo... è Javascript al 99%

Ora le possibilità sono due:

  • il gioco è fatto interamente in Javascript
  • i tool per i creator permettono di usare Javascript (easy come linguaggio) e successivamente (quando si va a compilare la mod o quel che è) viene tutto convertito nel linguaggio pertinente al gioco

Che dite?

Modificato: da Dazorn96
Link al messaggio
Condividi su altri siti
21 minuti fa, Dazorn96 ha scritto:

Ma questo... è Javascript al 99%

Ora le possibilità sono due:

  • il gioco è fatto interamente in Javascript
  • i tool per i creator permettono di usare Javascript (easy come linguaggio) e successivamente (quando si va a compilare la mod o quel che è) viene tutto convertito nel linguaggio pertinente al gioco

Che dite?

Dubito fortemente che io gioco sia fatto interamente in Javascript, non sarebbe efficiente.

Non conosco il Javascript al 100%, ma quello che ho visto nello screenshot mi sembrava proprio JS. Non è proprio una novità usare questo tipo di linguaggio. Ho visto alcune mod multiplayer per altri giochi (una su tutte: RageMP di GTA V) che sfruttano linguaggi interpretativi come il Javascript per realizzare scripts. Probabilmente perchè effettivamente è un linguaggio abbastanza semplice e forse più facile da implementare nel gioco (e nel server)

Link al messaggio
Condividi su altri siti
1 ora fa, Dazorn96 ha scritto:

Ma questo... è Javascript al 99%

Ora le possibilità sono due:

  • il gioco è fatto interamente in Javascript
  • i tool per i creator permettono di usare Javascript (easy come linguaggio) e successivamente (quando si va a compilare la mod o quel che è) viene tutto convertito nel linguaggio pertinente al gioco

Che dite?

 

Io penso che il gioco è impossibile che sia fatto in javascript perchè risulterebbe molto pesante. Sicuramente solo questi pannelli consentiranno di usare js per aggiungere funzionalità (programmando) in-game. Negli ultimi due anni ho lavorato allo sviluppo di un gioco. Ho dovuto inserire una funzione molto simile a questa. Ma consentivo di creare script in lua (stile computercraft). Il server è in java e ho utilizzato una libreria che consentiva di utilizzare oggi Java dentro al Lua. Qui penso usino qualcosa di simile ma per javascript. Anche se sono convinto che quei codici messi li nel trailer non funzioneranno quando il gioco sarà pubblicato. Questo perchè se fosse esattamente quel codice non ha alcun senso usare due "exports" in un unico file con due funzioni dentro identiche.

Modificato: da thecopyright
Link al messaggio
Condividi su altri siti
  • Statistiche forum

    1.267
    Totale discussioni
    11.457
    Totale messaggi

×
×
  • Crea nuovo/a...

Informazione importante

Benvenuto su Hytale Italia, procedendo alla navigazione acconsenti ai seguenti documenti: Politica sulla Privacy, Termini di utilizzo, Abbiamo inserito cookie sul tuo dispositivo per contribuire a migliorare questo sito web. Puoi modificare le impostazioni dei cookie, altrimenti supponiamo che tu possa continuare.