Kódolás a Hytale számára: Hytale: Az API, a dokumentáció és a Java plugin ökoszisztéma

Név Kategória: név : perc min read

Egy kritikus kérdés visszhangzik a fejlesztői Discordsban: Hol van az API dokumentáció? Ez az útmutató mindent tartalmaz, amit a Hytale fejlesztéséről tudunk.

Az Early Access indulás közeledtével egy kritikus kérdés hangzik el a fejlesztői Discordsban: Hol van az API dokumentáció? Mivel még nincs nyilvános docs.hytale.com, a következő nagy szerverhálózatot építeni vágyó fejlesztők vakon repülnek. A "Legacy Engine" architektúra megerősítése azonban jelentős útitervet nyújt azoknak, akik tudják, hol keressék. A fejlesztők és szervertulajdonosok számára, akik azt tervezik, hogy projektjeiket a hytalecharts.com-on közvetlenül a bevezetés után listázzák, az API technikai korlátainak megértése most jelenti a különbséget az 1. és a 30. napi bevezetés között. Íme, a Hytale fejlesztői ökoszisztéma technikai valóságáról szóló végleges útmutató. Az architektúra: Java szerver, C# kliens A technikai információk legfontosabb darabja a nyelvi felosztás. A Legacy Engine egy megosztott forráskód modell alapján működik a szerver esetében. Szerveroldali (Java): A szerver logikája Java nyelven íródott. Itt történik a nehéz munka: a játékszabályok, a gazdaság, a játékosok adatai és a világ interakciói. Client-oldali (C#): A játék kliense C# nyelven fut. Míg a kliens zárt forráskódú, hogy megakadályozza a csalást, a szerver "megosztott forráskódú", ami azt jelenti, hogy a szervertulajdonosok valószínűleg olvasási hozzáféréssel rendelkeznek a szerver kódjához, hogy megértsék, hogyan lehet belekötni. Implikáció a fejlesztőknek: Ha Minecraft plugin fejlesztő vagy, aki a Spigothoz vagy a Paperhez szokott, akkor szerencséd van. A Java-ismereteid közvetlenül átvihetők. Ha C++-t tanultál az időközben megszüntetett motorra várva, akkor azonnal vissza kell térned a Java-ra. A "Plugin" vs. "Scripting" megkülönböztetés A hivatalos blogbejegyzések tisztáztak egy fontos különbséget a modding API-ban, amit sokan figyelmen kívül hagynak: a Game Logic és a Game Behavior közötti különbséget. Szerver bővítmények (Java .jar fájlok) Ezek a hatalmi eszközök. Slikey technikai igazgató szerint a szerver pluginek lehetővé teszik a rendszer "mélyreható módosításait". Minijátékokat, egyéni gazdaságokat és összetett parancsokat lehet építeni Java segítségével. Státusz: Rendkívül erős. Itt fog történni a backend fejlesztés. Vizuális szkriptelés (viselkedések) A játékmenetbeli viselkedésekhez (pl. hogyan támad egy szörny, vagy hogyan működik egy egyéni tárgy) a Hytale nem használ szöveges szkriptelést (mint a Lua). Ehelyett az Unreal Engine Blueprints-hez hasonló Visual Scripting csomópont-alapú rendszert használ. Miért? A fejlesztők azzal érvelnek, hogy a szöveges szkriptelés arra kényszeríti a tervezőket, hogy megtanuljanak programozni. A vizuális szkriptelés a tervezőket erősíti, miközben a programozók a Java backendre koncentrálhatnak. Státusz: Kötelező tanulás. Azok a fejlesztők, akik nem hajlandóak hozzányúlni a vizuális csomópontokhoz, nehezen fognak egyéni entitásokat létrehozni. Az "API" vákuum: Hogyan készüljünk fel dokumentáció nélkül Ha nem áll rendelkezésre hivatalos Javadoc vagy wiki, hogyan készüljünk fel? Tanulmányozza a "Flecs" ECS mintát: A blogbejegyzések megerősítik, hogy a motor egy "Flecs" nevű Entity Component System (ECS) rendszert használ. Bár a Hytale implementációja egyedi, az ECS koncepciója univerzális. Elmozdul az objektumorientált gondolkodásmódtól (öröklődés) az adatorientált gondolkodásmód (komponensek) felé. Régi módszer (Minecraft): class Zombie extends Monster Új út (Hytale): Az Entity ID 101 rendelkezik PositionComponent, HealthComponent, AIComponent. Megtanulja a JSON sémákat: A blokkok, elemek és felhasználói felület "adatállományait" a JSON vezérli. Ismerkedjen meg az összetett JSON struktúrákkal, mivel valószínűleg így fogja definiálni a statikus adatokat anélkül, hogy Java kódhoz érne. Java 21-es környezet beállítása: Bár a Java pontos verziója nincs megerősítve, a modern Java (21+) az iparági szabvány a teljesítmény szempontjából. Győződjön meg róla, hogy az IDE-je (IntelliJ vagy Eclipse) készen áll a Java-alapú munkafolyamatra. A "megosztott forrás" előnye A "Shared Source" szervermodell megváltoztatja a játékot. Ez azt jelenti, hogy a dedikált szerverszoftver letöltésekor megkaphatja magának a szerver jar-nek a forráskódját (vagy dekompilálható bytecode-ját). Stratégia: Az indítás napján ne csak futtasd a szervert. Dekompiláld vissza. (Ha az EULA megengedi). A hivatalos szerverkód elolvasása lesz a leggyorsabb módja az API megértésének, mielőtt a hivatalos dokumentáció megírásra kerül. Következtetés: Készülj fel a dokumentálásra A korai hozzáférés első néhány hetét a közösségi felfedezés fogja meghatározni. Mivel a hivatalos dokumentáció valószínűleg ritkán lesz elérhető, vagy csak alakul, azok a fejlesztők, akik dokumentálják a felfedezéseiket - és megosztják azokat az olyan platformokon, mint a hytalecharts.com - lesznek az ökoszisztéma tényleges vezetői. Az API jön, és Java nyelven beszél. Ön folyékonyan beszél?