Postato Gennaio 8, 20196 aa 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.
Postato Gennaio 8, 20196 aa 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 Gennaio 8, 20196 aa 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 Gennaio 8, 20196 aa 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 Gennaio 8, 20196 aa 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. 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: Gennaio 8, 20196 aa da Dazorn96
Postato Gennaio 8, 20196 aa 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 Gennaio 8, 20196 aa 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: Gennaio 8, 20196 aa da thecopyright
Crea un account o accedi per commentare