Vai al contenuto
View in the app

A better way to browse. Learn more.

Hytale Italia

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hytale trailer analisi programmatore

Featured Replies

Postato

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. 

Postato

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.

Postato
  • Autore
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 '//'. 

Postato
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 ! 

Postato
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

Postato
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)

Postato
  • Autore
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

Crea un account o accedi per commentare

Statistiche forum

  • Totale discussioni 1,4k
  • Totale messaggi 14,5k

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.