Codificare per Hytale: L'API, la documentazione e l'ecosistema di plugin Java

Per nome Categoria: :minuti leggere

Una domanda critica riecheggia nei Discord degli sviluppatori: Dov'è la documentazione dell'API? Questa guida copre tutto ciò che sappiamo sullo sviluppo per Hytale.

Mentre il lancio dell'Early Access incombe, una domanda critica riecheggia nei Discord degli sviluppatori: Dov'è la documentazione sulle API? Senza un sito pubblico docs.hytale.com, gli sviluppatori desiderosi di costruire la prossima grande rete di server stanno volando alla cieca. Tuttavia, la conferma dell'architettura "Legacy Engine" fornisce una tabella di marcia significativa per coloro che sanno dove guardare. Per gli sviluppatori e i proprietari di server che intendono inserire i loro progetti su hytalecharts.com subito dopo il lancio, la comprensione dei vincoli tecnici dell'API è la differenza tra un lancio al primo giorno e uno al trentesimo. Ecco la guida definitiva alla realtà tecnica dell'ecosistema di Hytale per gli sviluppatori. L'architettura: Server Java, Client C# L'informazione tecnica più importante è la suddivisione del linguaggio. Il Legacy Engine opera su un modello Shared Source per il server. Lato server (Java): La logica del server è scritta in Java. È qui che avviene il lavoro pesante: regole di gioco, economia, dati dei giocatori e interazioni con il mondo. Lato client (C#): Il client del gioco viene eseguito in C#. Mentre il client è closed-source per evitare imbrogli, il server è "Shared Source", il che significa che i proprietari del server avranno probabilmente accesso al codice del server per capire come agganciarsi ad esso. Implicazioni per gli sviluppatori: Se siete sviluppatori di plugin per Minecraft abituati a Spigot o Paper, siete fortunati. Le vostre competenze in Java sono direttamente trasferibili. Se stavate imparando il C++ in previsione del motore ora cancellato, dovete tornare immediatamente a Java. La distinzione "Plugin" vs. "Scripting" I post ufficiali del blog hanno chiarito una distinzione cruciale nelle API di modding che molti trascurano: la differenza tra logica del gioco e comportamento del gioco. Pluginiserver (file .jar Java) Questi sono gli strumenti più potenti. Secondo il direttore tecnico Slikey, i plugin del server consentono "profonde modifiche" al sistema. È possibile creare minigiochi, economie personalizzate e comandi complessi utilizzando Java. Stato: Estremamente potente. È qui che avverrà lo sviluppo del backend. Scrittura visuale (comportamenti) Per i comportamenti di gioco (ad esempio, il modo in cui un mostro attacca o il funzionamento di un oggetto personalizzato), Hytale non utilizza uno scripting basato sul testo (come Lua). Utilizza invece un sistema di Visual Scripting basato su nodi simile ai Blueprints di Unreal Engine. Perché? Gli sviluppatori sostengono che lo scripting testuale costringe i progettisti a imparare la programmazione. Lo scripting visuale dà potere ai progettisti, lasciando che i programmatori si concentrino sul backend Java. Stato: Apprendimento obbligatorio. Gli sviluppatori che si rifiutano di toccare i nodi visuali faranno fatica a creare entità personalizzate. Il vuoto di "API": come prepararsi senza documenti Non essendo disponibili Javadoc o wiki ufficiali, come ci si prepara? Studiare il pattern ECS "Flecs": I post sul blog confermano che il motore utilizza un Entity Component System (ECS) chiamato "Flecs". Mentre l'implementazione di Hytale è personalizzata, il concetto di ECS è universale. Allontanarsi dal pensiero orientato agli oggetti (ereditarietà) per passare a quello orientato ai dati (componenti). Vecchio modo (Minecraft): class Zombie extends Monster New Way (Hytale): Entity ID 101 ha PositionComponent, HealthComponent, AIComponent. Imparare gli schemi JSON: Le "risorse di dati" per i blocchi, gli oggetti e l'interfaccia utente sono gestite da JSON. Acquisite familiarità con le strutture JSON complesse, perché probabilmente sarà questo il modo in cui definirete i dati statici senza toccare il codice Java. Impostare un ambiente Java 21: Anche se la versione esatta di Java non è confermata, Java moderno (21+) è lo standard industriale per le prestazioni. Assicuratevi che il vostro IDE (IntelliJ o Eclipse) sia pronto per un flusso di lavoro basato su Java. Il vantaggio della "sorgente condivisa" Il modello di server "Shared Source" cambia le carte in tavola. Implica che, scaricando il software del server dedicato, si può ricevere il codice sorgente (o il bytecode decompilabile) del jar del server stesso. Strategia: Il giorno del lancio, non limitatevi a eseguire il server. Decompilatelo. (Se consentito dall'EULA). Leggere il codice ufficiale del server sarà il modo più veloce per capire l'API prima che vengano scritti i documenti ufficiali. Conclusione: Essere pronti a documentare Le prime settimane di Early Access saranno definite dalla scoperta della comunità. Poiché la documentazione ufficiale sarà probabilmente scarsa o in evoluzione, gli sviluppatori che documenteranno le loro scoperte e le condivideranno su piattaforme come hytalecharts.com diventeranno i leader de facto dell'ecosistema. L'API sta arrivando e parla Java. Siete esperti?