Kodning til Hytale: API'en, dokumentationen og Java-plugin-økosystemet

Efter: navn Kategori:: Navn : minutter min læs

Et kritisk spørgsmål går igen i udviklernes Discords: Hvor er API-dokumentationen? Denne guide dækker alt, hvad vi ved om at udvikle til Hytale.

Når Early Access-lanceringen nærmer sig, giver et kritisk spørgsmål genlyd i udviklernes Discords: Hvor er API-dokumentationen? Da der endnu ikke er nogen offentlig docs.hytale.com, flyver udviklere, der er ivrige efter at bygge det næste store servernetværk, i blinde. Men bekræftelsen af "Legacy Engine"-arkitekturen giver en vigtig køreplan for dem, der ved, hvor de skal kigge. For udviklere og serverejere, der planlægger at liste deres projekter på hytalecharts.com umiddelbart efter lanceringen, er det at forstå de tekniske begrænsninger i API'en nu forskellen mellem en dag 1-lancering og en dag 30-lancering. Her er den endelige guide til den tekniske virkelighed i Hytales udviklerøkosystem. Arkitekturen: Java-server, C#-klient Det mest afgørende stykke teknisk information er sprogopdelingen. Legacy Engine opererer med en Shared Source-model for serveren. Serverside (Java): Serverlogikken er skrevet i Java. Det er her, de tunge løft sker: spilleregler, økonomi, spillerdata og verdensinteraktioner. Klientside (C#): Spilklienten kører i C#. Mens klienten er closed source for at forhindre snyd, er serveren "Shared Source", hvilket betyder, at serverejere sandsynligvis vil have læseadgang til serverkoden for at forstå, hvordan de kan koble sig på den. Betydning for udviklere: Hvis du er Minecraft-plugin-udvikler og er vant til Spigot eller Paper, er du heldig. Dine Java-færdigheder kan overføres direkte. Hvis du var ved at lære C++ i forventning om den nu aflyste motor, skal du straks skifte tilbage til Java. Sondringen mellem "plugin" og "scripting" Officielle blogindlæg har tydeliggjort en afgørende forskel i modding-API'en, som mange overser: forskellen mellem spil-logik og spiladfærd. Server-plugins (Java .jar-filer) Dette er de kraftfulde værktøjer. Ifølge teknisk direktør Slikey giver server-plugins mulighed for "dybe ændringer" af systemet. Du kan bygge minispil, brugerdefinerede økonomier og komplekse kommandoer ved hjælp af Java. Status: Ekstremt kraftfuld. Det er her, din backend-udvikling vil ske. Visuel scripting (adfærd) For gameplay-adfærd (f.eks. hvordan et monster angriber, eller hvordan en brugerdefineret genstand fungerer) bruger Hytale ikke tekstbaseret scripting (som Lua). I stedet bruges et Visual Scripting node-baseret system, der ligner Unreal Engine Blueprints. Hvorfor? Udviklerne hævder, at tekstscripting tvinger designere til at lære at programmere. Visuel scripting styrker designerne, mens programmørerne kan fokusere på Java-backend. Status: Obligatorisk læring. Udviklere, der nægter at røre ved visuelle noder, vil få svært ved at skabe brugerdefinerede enheder. "API"-vakuummet: Sådan forbereder du dig uden dokumenter Hvordan forbereder man sig, når der ikke er nogen officiel Javadoc eller wiki til rådighed? Studer "Flecs"-ECS-mønsteret: Blogindlæggene bekræfter, at motoren bruger et Entity Component System (ECS) kaldet "Flecs". Mens Hytale-implementeringen er tilpasset, er ECS-konceptet universelt. Bevæg dig væk fra objektorienteret tænkning (arv) og hen imod dataorienteret tænkning (komponenter). Gammel måde (Minecraft): class Zombie extends Monster Ny måde (Hytale): Entity ID 101 har PositionComponent, HealthComponent, AIComponent.