Strategia e Stato del Modding di Hytale
Ciao, sono Slikey (Kevin Carstens), il Direttore Tecnico di Hytale.
Voglio darvi una panoramica chiara e onesta di dove si trova il modding di Hytale oggi, cosa potete aspettarvi nel breve termine e dove lo stiamo portando nel lungo periodo.
Questo non è un post di marketing patinato. È un rapporto sullo stato di avanzamento dei lavori da parte delle persone che costruiscono il gioco e i suoi strumenti, scritto per le persone che vogliono costruire con noi.
Hytale vi offre molti strumenti per esprimere la vostra creatività e in questo post vogliamo trattare lo stato attuale e la visione futura per lo scripting, la programmazione, la modellazione e la configurazione.
MISSIONE: IL MODDING AL CENTRO DI HYTALE
Ci impegneremo sempre a creare un'avventura coinvolgente per Hytale e ad espanderla continuamente in futuro. Il fatto fortunato per i modder è che abbiamo costruito il gioco con gli strumenti che forniamo con il gioco. Il nostro obiettivo è che qualsiasi cosa facciamo noi, possiate farla anche voi.
Come modder, beneficerete non solo degli strumenti che abbiamo usato, ma anche dei contenuti che creiamo per fornire il gioco a blocchi che abbiamo sempre desiderato.
Stiamo costruendo Hytale con il modding al suo centro. La maggior parte di ciò che vedete nel gioco può essere modificato, esteso o rimosso completamente. Blocchi, oggetti, PNG, generazione del mondo, interfacce utente, sistemi e comportamenti sono tutti guidati da dati e codice che potete influenzare.
In questo post parleremo del "client" di gioco e del "server". Di solito i "server" sono rilevanti solo quando si partecipa al multiplayer. Hytale è diverso: anche quando si gioca in singleplayer, si partecipa a un server locale solo per se stessi. Quindi, quando parliamo di server, intendiamo sia il singleplayer che il multiplayer.
Alcuni principi chiave ci guidano:
- Server-side first: Tutto il modding in Hytale si basa sull'host del server o sull'host del gioco. Dovreste essere in grado di unirvi a qualsiasi server Hytale modificato senza scaricare mod esterne o destreggiarvi con pacchetti client. Usate qualsiasi combinazione di plugin e pacchetti di risorse per personalizzare la vostra esperienza di gioco o affidatevi a un server per offrirvi un'esperienza. Create un salvataggio in singleplayer e selezionate le mod che volete usare per quel salvataggio.
- Una comunità, un client: Vogliamo evitare un ecosistema frammentato in cui ogni server richiede un client modificato diverso. Per questo motivo, non intendiamo supportare alcuna mod client. Il client dovrebbe rimanere stabile, sicuro e coerente, mentre i server forniscono la creatività e la variazione.
- Modding per la longevità: Ci stiamo impegnando nel modding a lungo termine. Crediamo che i modder come noi stiano cercando un progetto che non solo li tolleri, ma che li abbracci e li supporti attivamente.
- Dare potere ai modder senza esporre i giocatori: Vogliamo che i modder traggano beneficio dal loro lavoro e costruiscano un futuro su cui possano contare, con la massima libertà possibile, senza esporre i giocatori ai rischi per la sicurezza che esistono su alcune altre piattaforme di modding.
Questo è lo standard a cui ci atteniamo. Non ci siamo ancora, ma questa è la direzione.
CONTROLLO TECNICO DELLA REALTÀ
Ora la parte schietta: siamo indietro rispetto a dove vorremmo essere.
- Ci mancano anni di tempo di sviluppo che ora dobbiamo comprimere in mesi.
- Ci sono lacune nei nostri strumenti, nella nostra documentazione e nei modi in cui i sistemi sono esposti.
- Alcune funzionalità esistono solo perché sono state create in modo approssimativo durante la prototipazione e mai rifinite.
Abbiamo preso una decisione deliberata:
- Fornire l'accesso ora invece di aspettare la perfezione. Abbiamo scelto di sistemare ciò che potevamo ragionevolmente nel breve tempo che abbiamo avuto con il progetto, e poi aprire le cose in modo che possiate iniziare a sperimentare mentre lavoriamo alla visione del modding a lungo termine.
Cosa significa questo per voi in questo momento:
- Incontrerete limitazioni a causa della mancanza di capacità di editing.
- Alcuni aspetti del comportamento del client non sono ancora esposti al server.
- Alcuni strumenti e sistemi sono grezzi, incoerenti o dolorosi da usare.
- La maturità del modding è estremamente disomogenea a seconda di ciò che volete costruire.
Abbiamo deciso di non nascondere funzionalità preziose solo perché non sono all'altezza dei nostri standard attuali. Se qualcosa vi è utile, cercheremo di renderlo disponibile e di iterare su di esso in pubblico.
Siete assolutamente incoraggiati a ritenerci responsabili per questo.
- Ritieneteci responsabili di questo progresso. Taggateci, contattateci, chiedete risposte. Ci impegniamo a essere trasparenti e a dirvi la verità, anche se la verità è "questo non è ancora abbastanza buono" o "non lo sappiamo ancora".
- Non prendete per oro colato le nostre parole. Esigete risultati. Dateci un feedback. Non trattenetevi.
Comunità e Comunicazione
Non dovete capirlo da soli. Stiamo ancorando la comunità dei creatori in alcuni luoghi fondamentali:
- Discord: Hytale Ufficiale, dove potete parlare direttamente con noi e con altri modder. Ci sono anche altri Discord con focus UGC (User-Generated Content) come CurseForge. Potremmo unirci ad altre comunità Discord e ascoltarvi. Discord è stato assolutamente geniale nel supportarci nell'allestimento dello spazio Hytale.
- X / Reddit: Twittateci o postate su subreddit relativi a Hytale. Non possiamo rispondere a tutto, ma stiamo attivamente scansionando post e commenti per guidarci. Gran parte di questo post si basa proprio su queste domande.
- Documentazione (GitBook, in corso): Stiamo lavorando alla documentazione pubblica per i creatori ospitata su GitBook. Inizierà incompleta e disomogenea, ma la amplieremo man mano che procediamo e in base alle vostre domande.
STATO ATTUALE DEL MODDING
Attualmente non siamo soddisfatti dello stato del modding in Hytale.
Tuttavia, crediamo che trattenere l'accesso fino a quando tutto non sarà perfetto sarebbe un disservizio. Se vi unite a noi ora, farete parte della definizione dell'ecosistema e imparerete i concetti man mano che si evolvono, il che vi darà una profonda comprensione nel tempo.
Quattro Categorie Principali di Contenuto
Al momento, il modding di Hytale rientra in gran parte in quattro categorie tecniche:
- Plugin Server - File Java .jar
- Estendono la funzionalità del server a livello di programmazione.
- Estremamente potenti e consentono modifiche profonde all'esperienza di gioco e al sistema server principale.
- Usateli per costruire minigiochi, economie, comandi, logica personalizzata, nuovi tipi di risorse e altro ancora.
- Risorse Dati - File JSON
- Guidano il comportamento di gioco e definiscono il contenuto principale:
- Blocchi, oggetti, PNG
- Generazione del mondo
- Tabelle di rilascio, bottino e altro ancora.
- Risorse Artistiche - Suoni, modelli, texture
- Forniscono la rappresentazione visiva e audio degli elementi di gioco.
- Supportiamo Blockbench per la creazione di modelli, texture e animazioni Hytale.
- File di Salvataggio - Mondi e Prefabbricati
- Condividete interi mondi o build specifiche.
- I prefabbricati vengono utilizzati negli strumenti creativi e nella generazione del mondo per posizionare strutture predefinite come alberi, case o grandi punti di riferimento.
PERCHÉ NON STIAMO AGGIUNGENDO SCRIPTING BASATO SU TESTO
Una domanda comune: "Dov'è Lua/scripting?"
Risposta breve: Non abbiamo scripting basato su testo e non intendiamo aggiungerlo.
Ecco perché:
- Lo scripting basato su testo viene solitamente introdotto per "aiutare i non programmatori" come i designer a costruire comportamenti personalizzati.
- In realtà, i linguaggi di scripting come Lua sono ancora linguaggi di programmazione:
- I programmatori ora devono destreggiarsi tra due linguaggi, uno dei quali di solito si sente "depotenziato".
- Ci si aspetta ancora che i designer imparino concetti di programmazione reali.
- Alla fine, è meno inclusivo e aumenta la complessità per entrambe le parti.
Lo consideriamo un falso compromesso.
La Nostra Direzione: Scripting Visuale
Invece dello scripting basato su testo, aggiungeremo scripting visuale:
- La nostra esperienza con Unreal Engine Blueprints ci ha mostrato che:
- I designer si sentono genuinamente potenziati quando possono costruire la logica visivamente.
- I programmatori sono più produttivi quando rimangono in un linguaggio di programmazione (Java/C#) ed espongono nodi di alto livello.
L'obiettivo:
- I designer sono potenziati attraverso un linguaggio visivo che corrisponde al modo in cui pensano ai comportamenti.
- I programmatori possono estendere e ottimizzare questo sistema aggiungendo nuovi nodi visivi e implementazioni sensibili alle prestazioni.
- Evitiamo di frammentare la logica attraverso più "mezzi linguaggi".
Crediamo che questo sia l'approccio più potenziante per i modder senza compromettere le capacità.
STRUMENTI DISPONIBILI OGGI
Attualmente offriamo i seguenti strumenti per la creazione di risorse Hytale:
- Hytale Asset Editor
- Editor per le risorse dati.
- Supporta la maggior parte dei tipi di risorse, con notevoli limitazioni per quanto riguarda i PNG, la generazione del mondo e le interazioni.
- Questo si espanderà nel tempo.
- Plugin Blockbench
- Create modelli, texture e animazioni compatibili con Hytale direttamente in Blockbench.
- Sostituisce i nostri strumenti di modellazione e animazione utilizzati in passato per supportare meglio i flussi di lavoro creativi consolidati nella comunità.
- Destinato al rilascio il prima possibile
- Asset Graph Editor
- Un editor interno non finito che abbiamo usato come soluzione temporanea per la generazione del mondo, i pennelli degli strumenti creativi, i PNG e, si spera, altro ancora.
- Non è all'altezza della qualità che vogliamo, ma è abbastanza utile che preferiremmo esporlo e migliorarlo piuttosto che nasconderlo.
- Attualmente stiamo lavorando anche al suo rilascio
- Strumenti Machinima
- Lo strumento che abbiamo usato per creare il trailer nel 2018
- Hanno alcuni problemi tecnici che dovremo risolvere, ma sono utilizzabili e ci hanno dato ottimi risultati.
- Strumenti Creativi
- Una suite interattiva di strumenti per modificare il mondo ed esprimere la vostra creatività.
- Aspettatevi video/blog dedicati su di essi
- Abbiamo anche rilasciato alcuni filmati del loro utilizzo in passato
- E altro ancora..
Sentirete i bordi grezzi. Questo è previsto in questa fase e intendiamo risolverli con il vostro feedback.
MIGLIORAMENTI A BREVE TERMINE
Questa non è una roadmap completa, ma copre i maggiori problemi a breve termine che vediamo in termini di urgenza e impatto per i modder.
Server Sorgente Condiviso
- Sappiamo che la mancanza di documentazione per le risorse e i sistemi sta causando seri attriti. Proviamo lo stesso dolore internamente.
- Ci impegniamo a rilasciare il codice sorgente del server non appena saremo legalmente in grado di farlo. Aspettatevi questo entro 1-2 mesi dal rilascio.
- Nel frattempo il server non è offuscato, quindi potete decompilarlo facilmente.
- Questo vi permetterà di:
- Ispezionare come funzionano i sistemi sotto il cofano mentre la documentazione si sta aggiornando.
- Sbloccarvi leggendo l'implementazione effettiva, non indovinando per tentativi ed errori.
- Contribuire con miglioramenti e correzioni di bug se qualcosa vi infastidisce abbastanza da non voler aspettare.
Pacchetto di Risorse / Distribuzione di Mod
- Poiché stiamo rilasciando il gioco in questa fase iniziale, non abbiamo avuto il tempo di progettare un flusso di distribuzione raffinato e di prima classe.
- Per ora, aspettatevi attriti quando:
- Raggruppate le creazioni in pacchetti puliti e condivisibili.
- Gestite le dipendenze tra plugin, pacchetti di risorse e mondi.
- Questa è una delle nostre principali priorità di modding. Aspettatevi un'iterazione rapida mentre vediamo come cercate effettivamente di spedire e condividere il vostro lavoro.
Interfacce Utente Personalizzate
Al momento, la nostra situazione dell'interfaccia utente è disordinata:
- Stiamo usando tre framework di interfaccia utente contemporaneamente.
- Siamo in procinto di rimuoverne due e di consolidare su NoesisGUI.
- Noesis Technologies ci è stata estremamente utile e vogliamo riconoscere il loro ruolo nell'aiutare a realizzare Hytale.
Cosa significa questo per voi:
- Abbiamo già interfacce utente guidate da risorse, ma sono incomplete e limitate.
- Potete iniziare a sperimentare con esse ora.
- Diteci cosa state cercando di costruire e dove vi bloccate, e noi daremo la priorità a sbloccarvi.
Stabilità
Questo è semplice e doloroso:
- Ci sono crash.
- Alcuni di essi sono gravi e possono causare perdita di dati.
La nostra posizione:
- Stiamo correggendo i crash man mano che arrivano e potete aspettarvi rapidi miglioramenti.
- Ma in questo momento, non possiamo garantire l'integrità dei dati.
- Dovreste presumere che sarete colpiti a un certo punto.
Consigli pratici:
- Fate frequenti backup dei vostri salvataggi e delle creazioni importanti. Stiamo attualmente impostando soluzioni automatiche, ma non possiamo garantire la sicurezza.
- Trattate questa fase come un vero e proprio accesso anticipato: prezioso, ma non ancora sicuro per lavori insostituibili.
Siamo sinceramente dispiaciuti per qualsiasi problema questo vi causi e stiamo trattando la stabilità come la nostra massima priorità.
Rete Server di Prima Parte
Abbiamo in programma di lanciare una rete server di prima parte, gestita da un team interno, che offre una selezione di minigiochi classici in stile Hypixel Network dopo il lancio, ma i lavori non sono ancora iniziati.
Perché lo stiamo facendo
- Riportare minigiochi familiari: Offrire esperienze che già conoscete dal nostro lavoro precedente, ricostruite per Hytale, così come nuovi minigiochi originali sbloccati dalle capacità di Hytale.
- Testare i nostri sistemi: Usare gli stessi strumenti e flussi di lavoro disponibili per voi in modo da poter convalidare e migliorare la creazione di minigiochi, le operazioni live e la gestione del server in condizioni reali.
- Raccogliere dati reali: Osservare come si comportano i server Hytale su larga scala in modo da poter ottimizzare le prestazioni, ridurre i requisiti di hosting e ridurre i costi per tutti.
- Condividere ciò che impariamo: Rilasciare parzialmente o completamente il codice e le risorse dei nostri minigiochi in modo che possiate studiare come costruiamo le cose, riutilizzare i componenti e adottare le migliori pratiche.
- Ridurre i rischi dei primi giorni di Hytale: Assicurare che ci sia una rete forte e affidabile di contenuti giocabili anche se l'infrastruttura della comunità impiega tempo per aumentare. Il lavoro della nostra rete è quello di spianare la strada fino a quando non possiamo passare la torcia a voi.
Cosa non stiamo cercando di fare
- Non stiamo cercando di competere con voi: L'obiettivo non è quello di dominare il panorama dei server o di sminuire i modder e i proprietari di server.
- Non stiamo diluendo lo sviluppo dell'avventura: Questo lavoro è svolto da un team dedicato e non riduce la nostra attenzione o investimento nella modalità Avventura.
- Non lo stiamo usando per ignorare il feedback: Non distorceremo la nostra roadmap intorno ai nostri server a scapito del più ampio ecosistema di creatori o delle esigenze dei giocatori.
In definitiva, il nostro incentivo è quello di far crescere un ampio ecosistema con molti server di successo e un'ampia varietà di esperienze. Non traiamo beneficio dall'avere un monopolio all'interno del nostro stesso gioco.
VISIONE A LUNGO TERMINE PER I MODDER
A lungo termine, il nostro obiettivo è quello di fornire una suite completa di strumenti e servizi che vi permettano di prosperare in Hytale, indipendentemente dal vostro punto di partenza.
Vogliamo:
- Che i nuovi Modder entrino nella creazione di giochi senza bisogno di software costosi o anni di esperienza.
- Che i modder esperti costruiscano sistemi complessi, aziende e comunità sopra Hytale.
- Che Hytale sfumi il confine tra "giocare ai giochi" e "creare giochi".
Server Sorgente Condiviso & Taglie
Oltre a rilasciare semplicemente la sorgente del server:
- Abbiamo in programma di aprire taglie di sviluppo per miglioramenti e funzionalità specifiche.
- Ci vorrà del tempo per impostarlo correttamente, ma l'obiettivo è quello di premiare i contributi che rafforzano l'ecosistema.
Editor di Nodi
Alcuni tipi di risorse sono attualmente dolorosi da configurare in JSON grezzo, come:
- PNG
- Interazioni
- Generazione del mondo
Abbiamo usato strumenti interni per rendere questo gestibile. Il nostro piano:
- Rilasciare editor in stile grafo di nodi per questi tipi di risorse.
- Integrare questi editor di nodi direttamente nell'Hytale Asset Editor, in modo da avere una suite di creazione unificata invece di un patchwork di strumenti.
visione concettuale per il futuro dell'editor di nodi
Scripting Visuale
Lo scripting visuale è un pilastro fondamentale della nostra visione a lungo termine:
- I plugin Java continueranno a esistere e sono estremamente potenti, ma richiedono competenze di programmazione e comportano problemi di sicurezza.
- Lo scripting visuale:
- Fornirà un ambiente sandboxed, sicuro per la condivisione della logica.
- Offrirà grande apprendibilità e modificabilità per i modder di tutti i livelli di abilità.
- Permetterà ai programmatori di estenderlo con nodi critici per le prestazioni.
Nel tempo, vogliamo:
- Portare lo scripting visuale direttamente nel mondo 3D:
- Collegare leve, porte, generatori, trigger e altri elementi in-game.
- Costruire intricate mappe di avventura e incontri direttamente all'interno di Hytale.
- Prendere ispirazione da sistemi come DOOM SnapMap mantenendolo completamente integrato con il nostro stack di risorse
Fonte: Hytale.com (Traduzione AI)