-
Discussioni
1007 -
Registrato il
-
Ultima visita
-
Minicoin
654 [Dona]
Tipo di contenuto
Profili
Forum
Calendario
Blog
News
Bug Tracker
FAQ
Guide
Contest
Galleria
Risorse
Negozio
Idee
Contenuti creati da Emax
-
Transizione dalla Zona 1 alla Zona 3 (Postcard #21)
Emax ha inserito un'immagine della galleria in Screenshots
-
Benvenuto a bordo!
-
- 1 commento
-
- caccia
- coccodrillo
-
(e altri 2)
Contrassegnati con:
-
Benvenuti! In quest'articolo analizzeremo la clip di gameplay rilasciata dagli sviluppatori di Hytale su Twitter, in caso non l'avete già fatto eccola qui, ma prestate attenzione all'audio! La prima cosa che salta subito all'occhio orecchio è il miglioramento dell'audio volumetrico, lo avevamo già ascoltato in precedenza esattamente un anno fa qui e qui ma in misura ridotta, da allora hanno aggiunto molti nuovi effetti sonori: i passi sulla terra bagnata, il picchiettio della pioggia sui blocchi, il suono del fuoco, etc... Il video è stato fatto per mettere in risalto il nuovo engine audio, ma mostra tanto, tanto di più! Iniziamo! Per prima cosa ci viene mostrato un panorama della Zona 1, ne abbiamo visti molti ma questo presenta una peculiarità, se osserviamo in basso a sinistra possiamo vedere un laghetto la cui acqua sembra avere una sorta di corrente, infatti possiamo notare che in più punti l'acqua non sembra essere allo stesso livello. Procediamo poi alla vista della casa dove fra poco entreremo. All'entrata possiamo notare sulla sinistra un vaso con una pianta e sulla destra una panchina di legno. L'animazione dell'apertura delle porte è sempre bella... Eccoci dentro casa, guardando da sinistra verso destra, possiamo notare subito dei libri impilati, questi sono un tema ricorrente all'interno del gioco, abbiamo visto nel primo gameplay che quelli magici possono essere usati come arma e come dichiarato sul twitter dagli sviluppatori alcuni riveleranno anche la lore del gioco. In questo caso però mi spingo a teorizzare che siano dei libri di ricette poiché sono vicini alla stazione per cucinare già vista in precedenza, salta subito all'occhio come il piano cottura sia rimasto invariato dai precedenti screenshot e quindi apparentemente non personalizzabile (per ora). Spostandoci poco più a destra possiamo notare una specie di griglia sopra al fuoco, è la prima volta che la vediamo, il primo pensiero è che di sicuro serva a cuocere gli alimenti con la fiamma. Qui possiamo osservare al centro dell'immagine la stazione per le pozioni (Brewing Stand) l'avevamo già vista ma mai nella sua interezza. Nella schermata possiamo contare 4 pozioni, una sopra la mensola, due sopra la stazione e una in fondo sopra i libri, ma solo due di queste emettono luce, è possibile che sia dovuto al fatto che siano pronte alla consumazione mentre le altre due sopra la stazione devono essere ancora completate. Altra cosa che possiamo osservare sono gli ingredienti per le pozioni, ci sono vari funghi in giro per la stanza e sul soffitto invece sono appese delle liane/radici di vari colori, altri possibili ingredienti. Procediamo nel salotto, sopra al camino c'è una cornice, item interessante sarebbe davvero bello avere la possibilità di metterci delle immagini o dei nostri screenshot di gioco. Successivamente notiamo un cristallo luminoso, sembra essere di ghiaccio forse è solo estetico o chissà? La chest sopra la mensola è l'ennesima prova che in questo gioco possiamo appoggiare le cose ovunque e continuando su questa funzionalità vediamo un libro magico sopra dei blocchi. Infine c'è una lampada albero (lampalbero d'ora in avanti) che ricorda lo stile dei Kweebec. Spostando la visuale sulla destra possiamo notare due item veramente interessanti, la stazione per la scrittura la cui funzione è ancora poco chiara e un boccale sopra il tavolino, la cui presenza fa presagire che possiamo (dovremo?) bere nel gioco. Saliamo le scale e qui il giocatore si ferma ad ascoltare il suono della pioggia che cade sui vetri... sublime! (ascoltatela nel video) Salendo un altro po' ecco un altra pozione luminosa (sicuramente veleno) e la stessa anfora con il fungo blu (forse si coltivano li?) Qui ci sono due cose di cui parlare, l'armadio e le monete. L'armadio sicuramente ha una funzione all'interno del gioco forse ci permette di cambiare abiti o forse fa da inventario per gli oggetti estetici. Le monete e i forzieri non sono la prima volta che li vediamo all'interno del gioco (qui e qui) e visto la loro prominenza teorizzo che siano la valuta di gioco, forse ci permetteranno di comprare e vendere oggetti agli NPC. Infine voglio concludere con il pupazzo del Kweebec (già visto) e la bellissima lampada di bambù che solleva un importantissima questione: come diavolo è alimentata?
-
-
-
Benvenuto a bordo!
-
Ciao, questa è la sezione Benvenuto qui ci si presenta. Il gioco ancora non è uscito.
-
-
-
-
-
-
-
-
Incontro tra Zona2 e Zona1 (Postcard #16)
Emax ha commentato un immagine nella galleria inserita da Emax nella sezione Screenshots
- 2 commenti
-
- alberi
- costruzione
-
(e altri 6)
Contrassegnati con:
-
Incontro tra Zona2 e Zona1 (Postcard #16)
Emax ha inserito un'immagine della galleria in Screenshots
- 2 commenti
-
- alberi
- costruzione
-
(e altri 6)
Contrassegnati con:
-
Wops, mi sono dimenticato di dirti che una volta collegato ci vuole qualche momento prima che venga visualizzato! Infatti ora vedo che hai il badge!
-
SPOILER: roba tecnica che forse non interessa a nessuno Ciao a tutti, era da un po' che volevo fare questo post per parlare del codice intravisto nel trailer di Hytale, nello specifico al secondo 112, dove possiamo vedere un player che sta creando uno script da applicare ad un mob (un Goblin). Partiamo dall'interfaccia, la cosa che si nota subito è che l'editor si chiama "Trigger Editor", per i neofiti della programmazione si intende trigger una funzione che ascolta un particolare evento, per chiarificare: Un evento può essere una qualsiasi cosa programmata nel gioco, ovvero l'inizio della pioggia è un evento, un mob che muore è un evento etc, in poche parole qualsiasi azione (anche non del player) all'interno del mondo di gioco può essere considerata un evento. Un trigger è un particolare codice che ascolta un determinato evento e richiama una funzione Una funzione è un insieme di codice che fa qualcosa Uno script è un insieme di funzioni Poi abbiamo diversi campi: Name abbastanza chiaro, è il nome dello script che stiamo creando. Script Type: CUSTOM questo è davvero interessante, custom significa che stiamo facendo uno script personalizzato, ma quali altri tipi di script possono essere presenti? Tick Speed (millis): -1 per me questo è abbastanza chiaro, indica ogni quanti millisecondi lo script deve essere eseguito, pensatela così mettiamo il caso di fare uno script che toglie la pioggia nel mondo, se non impostassimo questo valore lo script verrebbe eseguito una volta sola, ma ovviamente avrebbe poco senso poiché con il passare del tempo in gioco la pioggia tornerebbe, ora pensiamo allo stesso caso dove lo script viene eseguito ogni secondo… addio pioggia! nel caso dello screenshot il valore è impostato a -1 ovvero lo script deve essere eseguito una sola volta poiché verrà richiamato automaticamente quando si verificherà un evento di cui è in ascolto (in questo caso collisioni con altre entità). Links lavoro di fantasia perché non abbiamo nessuna informazione, ho tre teorie per il significato di questo valore Script collegati, ovvero il nome degli script collegati a questo. Eventi collegati, ovvero il nome degli eventi collegati a questo script. Link Web, ovvero il link del sito web del proprietario dello script. Flags potrebbe indicare qualsiasi cosa, in genere in informatica per flags si indica un insieme di proprietà necessarie per fare qualcosa, ad esempio potrebbe indicare che questo script può essere eseguito solo quando piove, ovvero la pioggia potrebbe essere una proprietà necessaria per attivare lo script Preview del mob essendo questo script un trigger associato al mob nell'editor c'è l'anteprima del suddetto, questa cosa è davvero interessante, perché far vedere il mob nello script? ovvio perché dallo script possiamo modificare il modello del mob, mi spiego magari ci danno la possibilità da script di aggiungere o togliere pezzi al mob, Goblin a 3 teste in arrivo! Infine i pulsanti sotto, sono abbastanza chiari, ci permettono di caricare/salvare/eseguire/cancellare lo script. Arriviamo al pezzo forte, il codice nell'editor! var GameMode = com.hypixel.hytale.protocol.Gamemode; var Player = com.hypixel.hytale.server.core.entity.entities.Player; exports = { onCollide : function(entity) { if (entity instanceof Player) { entity.setGameMode(GameMode.Adventure); // Sets the mode to adventure } } } // www.hytale.it/supersecretpage exports = { onCollide : function(entity) { if (entity instanceof Player) { entity.teleport(0,0,0); // Moves player to origin } } } // www.hytale.it/supersecretpage Analizziamolo linea per linea (tanto non abbiamo niente da fare nel frattempo) Intanto salta subito all'occhio che si tratta di JavaScript! sicuramente la scelta del linguaggio di scripting è stata molto difficile, ne esistono tanti ma i più gettonati sono JavaScript e LUA, scelta che a mio parere sembrerebbe confermata da quello che già sappiamo ovvero che il server di Hytale sarà scritto in Java e il client in C# e cos'hanno in comune questi due linguaggi di programmazione? hanno delle ottime librerie per interpretare JavaScript. Proseguiamo dunque all'analisi del codice, vi dico già da subito che il codice è sbagliato, immagino ne abbiano messo uno a caso come placeholder per il trailer, ma comunque vale la pena di darci un occhio! farò del mio meglio per essere chiaro! (Spoiler: non ci riuscirò) var GameMode = com.hypixel.hytale.protocol.Gamemode; var Player = com.hypixel.hytale.server.core.entity.entities.Player; Le prime due linee sono degli import, ovvero importano delle funzioni dalle classi del gioco, in questo caso viene importata la classe del giocatore e la gamemode (che sospetto sia un enumerazione), interessante vedere la struttura dei package (l'alberazione del codice nelle cartelle), che suppongo sia speculare fra client e server visto gli script vengono eseguito da entrambi i lati. Prima incoerenza: la sintassi dell'import è errata. Seconda incoerenza: se notate la classe del player si trova dentro un package di nome server, il che non ha molto senso visto che il player è presente anche in single player. exports = { onCollide : function(entity) { if (entity instanceof Player) { entity.setGameMode(GameMode.Adventure); // Sets the mode to adventure } } } Questo blocco di codice esporta una funzione al di fuori dello script per essere richiamata dal gioco, in questo caso la funzione è un trigger che viene attivato quando il mob (Il Goblin) collide con un entità, dopodiché viene verificato che l'entità sia un giocatore e a quest'ultimo viene cambiata la modalità di gioco in avventura. exports = { onCollide : function(entity) { if (entity instanceof Player) { entity.teleport(0,0,0); // Moves player to origin } } } Successivamente viene esportata questa funzione che è identica a quella sopra ma con una piccola differenza invece di cambiare la modalità di gioco al giocatore (gioco di parole) lo teletrasporta a una posizione specifica ovvero X0, Y0, Z0. Terza incoerenza: in JavaScript il blocco export può essere dichiarato una volta sola per script. Quarta incoerenza: è stata dichiarata due volte una funzione con lo stesso nome "onCollide" altra cosa non permessa. Siamo arrivati alla fine dello script, in poche parole sembra quando il Goblin entri in contatto con un giocatore questo venga messo in modalità avventura e venga teletrasportato a delle coordinate specifiche. pensandoci un secondo questo sembra più il comportamento di un portale che di un mob... In conclusione non sappiamo ancora niente del linguaggio di scripting che verrà usato in Hytale, io sono estraneamente fiducioso che alla fine terranno Javascript, vista la popolarità e il quantitativo di tutorial presenti, però non ci metterei la mano sul fuoco
-
Ciao, sei sicuro di aver collegato il tuo account Telegram con il portale? In caso ti sia dimenticato puoi farlo qui: https://hytale.it/telegram/
-
Hytale, Creazione ai massimi livelli.
Emax ha risposto alla discussione di Sammezix in Discussioni Generali
Pienamente d'accordo quando dici che questo sarà un gioco della community, non vedo l'ora di mettere le mani sul server e iniziare a implementare tutte le modalità di gioco che ci vengono in mente