Kódování pro Hytale: Rozhraní API, dokumentace a ekosystém zásuvných modulů pro Javu

By HytaleCharts Team Category: technical 8 min read

Ve vývojářských diskuzích zaznívá zásadní otázka: Kde je dokumentace API? Tato příručka obsahuje vše, co víme o vývoji pro Hytale.

S blížícím se spuštěním Early Access se ve vývojářských diskuzích ozývá zásadní otázka: Kde je dokumentace API? Vzhledem k tomu, že veřejná stránka docs.hytale.com ještě není v provozu, vývojáři, kteří touží vybudovat další velkou serverovou síť, létají naslepo. Potvrzení architektury "Legacy Engine" však poskytuje významný plán pro ty, kteří vědí, kde hledat. Pro vývojáře a majitele serverů, kteří plánují uvést své projekty na hytalecharts.com ihned po spuštění, je pochopení technických omezení API již nyní rozdílem mezi spuštěním v den 1 a spuštěním v den 30. Zde je definitivní průvodce technickou realitou vývojářského ekosystému Hytale. Architektura: Server Java, klient C# Nejpodstatnější částí technických informací je rozdělení jazyků. Legacy Engine pracuje na modelu Shared Source pro server. Serverová strana (Java): Logika serveru je napsána v jazyce Java. Zde se odehrává těžká práce: pravidla hry, ekonomika, údaje o hráčích a interakce se světem. Strong>Strong>Strong>. Client-Side (C#): Herní klient běží v jazyce C#. Zatímco klient je closed-source, aby se zabránilo podvádění, server je "Shared Source", což znamená, že majitelé serveru budou mít pravděpodobně přístup ke čtení kódu serveru, aby pochopili, jak se do něj zapojit. Použití pro vývojáře: Pokud jste vývojáři doplňků pro Minecraft zvyklí na Spigot nebo Paper, máte štěstí. Vaše dovednosti v Javě jsou přímo přenositelné. Pokud jste se v očekávání nyní zrušeného enginu učili C++, musíte se okamžitě přeorientovat zpět na Javu. Rozdíl mezi "zásuvným modulem" a "skriptováním" Oficiální příspěvky na blogu objasnily zásadní rozdíl v modifikačním rozhraní API, který mnozí přehlížejí: rozdíl mezi Herní logikou a Herním chováním. Serverové zásuvné moduly (soubory Java .jar) Tyto jsou výkonné nástroje. Podle technického ředitele Slikeyho umožňují zásuvné moduly serveru "hluboké úpravy" systému. Pomocí Javy můžete vytvářet minihry, vlastní ekonomiky a složité příkazy. Stav: Extrémně výkonný. Zde bude probíhat váš vývoj backendu. Vizuální skriptování (chování) Pro herní chování (např. jak útočí příšera nebo jak funguje vlastní předmět) nepoužívá Hytale textové skriptování (jako je Lua). Místo toho používá systém založený na uzlech vizuálního skriptování podobný systému Unreal Engine Blueprints. Proč? Vývojáři tvrdí, že textové skriptování nutí designéry učit se programovat. Vizuální skriptování dává designérům větší pravomoci a programátorům umožňuje soustředit se na backend Javy. Stav: Povinné učení. Vývojáři, kteří se odmítají dotknout vizuálních uzlů, budou mít problémy s vytvářením vlastních entit. Vakuum "API": Jak se připravit bez dokumentů Jak se připravit, když není k dispozici žádný oficiální Javadoc ani wiki? Nastudujte vzor ECS "Flecs": Příspěvky na blogu potvrzují, že engine používá systém komponent entit (Entity Component System, ECS) s názvem "Flecs". Zatímco implementace Hytale je vlastní, koncept ECS je univerzální. Odklon od objektově orientovaného myšlení (dědičnost) a přechod k datově orientovanému myšlení (komponenty). Starý způsob (Minecraft): třída Zombie rozšiřuje monstrum Nový způsob (Hytale): Entita ID 101 má PositionComponent, HealthComponent, AIComponent. Užívejte schémata JSON: "Datová aktiva" pro bloky, položky a uživatelské rozhraní se řídí podle JSON. Seznamte se se složitými strukturami JSON, protože takto budete pravděpodobně definovat statická data, aniž byste se dotkli kódu jazyka Java. Nastavení prostředí Java 21: Přesná verze Javy sice není potvrzena, ale moderní Java (21+) je průmyslovým standardem pro výkon. Ujistěte se, že vaše IDE (IntelliJ nebo Eclipse) je připraveno na pracovní postup založený na Javě. Výhoda "sdíleného zdroje" Model serveru "Shared Source" mění pravidla hry. Znamená to, že po stažení vyhrazeného serverového softwaru můžete získat zdrojový kód (nebo dekompilovatelný bajtový kód) samotného serveru jar. Strategie: V den spuštění serveru jej pouze nespouštějte. Dekompilujte jej. (Pokud je to povoleno smlouvou EULA). Přečtení oficiálního kódu serveru bude nejrychlejším způsobem, jak porozumět rozhraní API předtím, než budou napsány oficiální dokumenty. Závěr: Buďte připraveni dokumentovat Prvních několik týdnů předběžného přístupu bude určeno objevováním komunity. Protože oficiální dokumentace bude pravděpodobně řídká nebo se bude vyvíjet, vývojáři, kteří zdokumentují své poznatky - a podělí se o ně na platformách jako hytalecharts.com - se stanou faktickými vůdci ekosystému. Přichází rozhraní API, které mluví jazykem Java. Ovládáte ji?