Codare pentru Hytale: API-ul, documentația și ecosistemul de plugin-uri Java

După: nume Categorie: : nume : minute min citește

O întrebare critică răsună prin Discordia dezvoltatorilor: Unde este documentația API? Acest ghid acoperă tot ceea ce știm despre dezvoltarea pentru Hytale.

Pe măsură ce se apropie lansarea Early Access, o întrebare critică răsună prin Discordurile dezvoltatorilor: Unde este documentația API? Cu nici o docs.hytale.com publică încă live, dezvoltatorii dornici să construiască următoarea mare rețea de servere zboară orb. Cu toate acestea, confirmarea arhitecturii "Legacy Engine" oferă o foaie de parcurs semnificativă pentru cei care știu unde să caute. Pentru dezvoltatorii și proprietarii de servere care intenționează să își listeze proiectele pe hytalecharts.com imediat după lansare, înțelegerea constrângerilor tehnice ale API acum este diferența dintre o lansare în ziua 1 și o lansare în ziua 30. Iată ghidul definitiv pentru realitatea tehnică a ecosistemului dezvoltatorilor Hytale. Arhitectura: Server Java, client C# Piesa cea mai vitală de informații tehnice este împărțirea limbajelor. Legacy Engine funcționează pe un model Shared Source pentru server. Server-Side (Java): Logica serverului este scrisă în Java. Aici se întâmplă lucrul greu: regulile jocului, economia, datele jucătorului și interacțiunile lumii. Client-Side (C#): Clientul jocului rulează pe C#. În timp ce clientul este sursă închisă pentru a preveni trișarea, serverul este "Shared Source", ceea ce înseamnă că proprietarii de servere vor avea probabil acces la citire la codul serverului pentru a înțelege cum să se conecteze la acesta. Implicație pentru Devs: Dacă sunteți un dezvoltator de pluginuri Minecraft folosit pentru Spigot sau Paper, aveți noroc. Abilitățile dvs. Java sunt direct transferabile. Dacă învățai C++ în anticiparea motorului acum anulat, trebuie să pivotezi înapoi la Java imediat. Distincția "plugin" vs. "scripting" Postările oficiale pe blog au clarificat o distincție crucială în API-ul de modding pe care mulți o trec cu vederea: diferența dintre Game Logic și Game Behavior. Server Plugins (fișiere Java .jar) Acestea sunt instrumentele de putere. Potrivit directorului tehnic Slikey, plugin-urile serverului permit "modificări profunde" ale sistemului. Puteți construi minigames, economii personalizate și comenzi complexe folosind Java. Status: Extrem de puternic. Aici va avea loc dezvoltarea dvs. backend. Scripting vizual (comportamente) Pentru comportamentele de joc (de exemplu, cum atacă un monstru sau cum funcționează un element personalizat), Hytale nu utilizează scripting bazat pe text (cum ar fi Lua). În schimb, utilizează un sistem Visual Scripting bazat pe noduri similar cu Unreal Engine Blueprints. De ce? Dezvoltatorii susțin că scriptingul text forțează designerii să învețe programare. Scriptingul vizual împuternicește designerii în timp ce lasă programatorii să se concentreze pe backend-ul Java. Status: Învățare obligatorie. Dezvoltatorii care refuză să atingă nodurile vizuale se vor lupta să creeze entități personalizate. Vacanța "API": Cum să vă pregătiți fără documente Fără un Javadoc sau wiki oficial disponibil, cum vă pregătiți? Studiați modelul ECS "Flecs": Postările de pe blog confirmă că motorul utilizează un Entity Component System (ECS) numit "Flecs". În timp ce implementarea Hytale este personalizată, conceptul de ECS este universal. Depărtați-vă de gândirea orientată spre obiecte (moștenire) și îndreptați-vă spre gândirea orientată spre date (componente). Old Way (Minecraft): class Zombie extends Monster New Way (Hytale): Entitatea ID 101 are PositionComponent, HealthComponent, AIComponent. Învățați schemele JSON: "Activele de date" pentru blocuri, elemente și UI sunt conduse de JSON. Familiarizați-vă cu structurile JSON complexe, deoarece acesta va fi probabil modul în care veți defini datele statice fără a atinge codul Java. Set Up a Java 21 Environment: Deși versiunea Java exactă nu este confirmată, Java modernă (21+) este standardul industriei pentru performanță. Asigurați-vă că IDE-ul dvs. (IntelliJ sau Eclipse) este pregătit pentru un flux de lucru bazat pe Java. Avantajul "sursei partajate" Modelul de server "Shared Source" este o schimbare de joc. Acesta implică faptul că, la descărcarea software-ului serverului dedicat, puteți primi codul sursă (sau bytecode decompilabil) pentru serverul jar în sine. Strategie: În ziua lansării, nu rulați doar serverul. Decompilați-l. (Dacă este permis de EULA). Citirea codului oficial al serverului va fi cea mai rapidă modalitate de a înțelege API-ul înainte ca documentele oficiale să fie scrise. Concluzie: Fiți pregătiți să documentați Primile câteva săptămâni de Early Access vor fi definite de descoperirea comunității. Deoarece documentația oficială va fi probabil rară sau în evoluție, dezvoltatorii care își documentează descoperirile - și le împărtășesc pe platforme precum hytalecharts.com - vor deveni liderii de facto ai ecosistemului. API-ul vine, și vorbește Java. Sunteți fluent?