Coderen voor Hytale: De API, documentatie en het Java-plugin-ecosysteem

Op:naam Categorie: naam :minuten min lezen

Een kritische vraag weerklinkt in de Discords van ontwikkelaars: Waar is de API-documentatie? Deze gids bevat alles wat we weten over het ontwikkelen voor Hytale.

Terwijl de Early Access lancering nadert, weerklinkt er een kritische vraag in de Discords van ontwikkelaars: Waar is de API-documentatie? Omdat er nog geen openbare docs.hytale.com live is, hebben ontwikkelaars die het volgende grote servernetwerk willen bouwen niets in de gaten. De bevestiging van de "Legacy Engine"-architectuur biedt echter een belangrijke routekaart voor degenen die weten waar ze moeten zoeken. Voor ontwikkelaars en server-eigenaren die van plan zijn hun projecten onmiddellijk na de lancering op hytalecharts.com te plaatsen, is het begrijpen van de technische beperkingen van de API nu het verschil tussen een lancering op dag 1 en een lancering op dag 30. Hier is de definitieve gids voor de technische realiteit van Hytale's ecosysteem voor ontwikkelaars. De architectuur: Java Server, C# Client Het meest belangrijke stukje technische informatie is de taalsplitsing. De Legacy Engine werkt op een Gedeeld bronmodel voor de server. Serverkant (Java): De serverlogica wordt geschreven in Java. Hier gebeurt het zware werk: spelregels, economie, spelersgegevens en interacties in de wereld. Client-kant (C#):De spelclient draait in C#. Terwijl de client closed-source is om valsspelen te voorkomen, is de server "Shared Source", wat betekent dat servereigenaren waarschijnlijk leestoegang hebben tot de servercode om te begrijpen hoe ze erop kunnen inhaken. Implicatie voor ontwikkelaars: Als je een Minecraft-plugin-ontwikkelaar bent die gewend is aan Spigot of Paper, dan heb je geluk. Je Java-vaardigheden zijn direct overdraagbaar. Als je C++ aan het leren was in afwachting van de nu geannuleerde engine, moet je onmiddellijk terugschakelen naar Java. Het onderscheid tussen "Plugin" en "Scripting" Officiële blogposts hebben een cruciaal onderscheid in de modding-API verduidelijkt dat velen over het hoofd zien: het verschil tussen Game Logic en Game Behavior. Serverplugins (Java .jar-bestanden) Dit zijn de krachtige tools. Volgens technisch directeur Slikey kun je met serverplugins het systeem "diepgaand wijzigen". Je kunt minigames, aangepaste economieën en complexe opdrachten bouwen met Java. Status: Extreem krachtig. Dit is waar de backend wordt ontwikkeld. Visueel scripten (Gedrag) Voor gameplay-gedragingen (bijvoorbeeld hoe een monster aanvalt of hoe een aangepast voorwerp werkt) gebruikt Hytale geen tekstgebaseerde scripting (zoals Lua). In plaats daarvan wordt een Visual Scripting node-based system gebruikt, vergelijkbaar met Unreal Engine Blueprints. Waarom? De ontwikkelaars stellen dat tekstscripting ontwerpers dwingt om te leren programmeren. Visuele scripting geeft ontwerpers meer macht, terwijl programmeurs zich kunnen concentreren op de Java backend. Status: Verplicht leren. Ontwikkelaars die weigeren om visuele nodes aan te raken, zullen moeite hebben om aangepaste entiteiten te maken. Het "API"-vacuüm: hoe voor te bereiden zonder documenten Hoe bereid je je voor als er geen officiële Javadoc of wiki beschikbaar is? Bestudeer het "Flecs" ECS-patroon:De blogberichten bevestigen dat de engine een Entity Component System (ECS) genaamd "Flecs" gebruikt. Hoewel de Hytale-implementatie aangepast is, is het concept van ECS universeel. Ga weg van objectgeoriënteerd denken (Inheritance) en ga in de richting van gegevensgeoriënteerd denken (Components). Old Way (Minecraft): class Zombie extends Monster Nieuwe manier (Hytale): Entiteit ID 101 heeft PositieComponent, GezondheidsComponent, AIComponent. Leer JSON-schema's kennen:"Gegevensassets" voor blokken, items en UI worden aangestuurd door JSON. Maak uzelf vertrouwd met complexe JSON-structuren, omdat dit waarschijnlijk de manier is waarop u statische gegevens definieert zonder Java-code aan te raken. Stel een Java 21-omgeving in: Hoewel de exacte Java-versie niet is bevestigd, is moderne Java (21+) de industriestandaard voor prestaties. Zorg ervoor dat je IDE (IntelliJ of Eclipse) klaar is voor een op Java gebaseerde workflow. Het voordeel van "gedeelde bron" Het "Shared Source" servermodel is een game-changer. Het houdt in dat u bij het downloaden van de speciale serversoftware de broncode (of decompileerbare bytecode) voor het serverpotje zelf ontvangt. Strategie: Voer op de lanceringsdag niet alleen de server uit. Decompileer hem. (Indien toegestaan door EULA). Het lezen van de officiële servercode is de snelste manier om de API te begrijpen voordat de officiële documenten zijn geschreven. Conclusie: Wees klaar om te documenteren De eerste paar weken van Early Access worden bepaald door de ontdekking van de gemeenschap. Omdat officiële documentatie waarschijnlijk schaars zal zijn of zal evolueren, zullen de ontwikkelaars die hun bevindingen documenteren en delen op platforms zoals hytalecharts.com, de feitelijke leiders van het ecosysteem worden. De API komt eraan en spreekt Java. Spreek jij vloeiend?