Програмування для Hytale: API, документація та екосистема плагінів Java

By HytaleCharts Team Category: technical 8 min read

Критично важливе питання відлунює в Дискордах розробників: Де документація по API? Цей посібник охоплює все, що ми знаємо про розробку для Hytale.

З наближенням запуску Раннього доступу, критично важливе питання відлунює у дискусіях розробників: Де документація API? Без публічного доступу до docs.hytale.com розробники, які прагнуть побудувати наступну велику мережу серверів, літають наосліп. Однак підтвердження архітектури "Legacy Engine" надає важливу дорожню карту для тих, хто знає, де шукати. Для розробників і власників серверів, які планують розмістити свої проекти на hytalecharts.com відразу після запуску, розуміння технічних обмежень API зараз - це різниця між запуском на 1-й день і запуском на 30-й день. Ось вичерпний путівник по технічній реальності екосистеми для розробників Hytale. Архітектура: Java-сервер, C#-клієнт Архітектура: Java Server, C# Client Найважливішою частиною технічної інформації є поділ на мови. Legacy Engine працює за моделлю Shared Source для сервера. Серверна частина (Java): Логіка сервера написана на Java. Саме тут відбувається найважча робота: правила гри, економіка, дані гравців та взаємодія зі світом. Клієнтська частина (C#): Клієнт гри працює на C#. У той час як клієнт має закритий вихідний код, щоб запобігти шахрайству, сервер є "Shared Source", що означає, що власники серверів, швидше за все, матимуть доступ до коду сервера на читання, щоб зрозуміти, як його зламати. Значення для розробників: Якщо ви розробник плагінів для Minecraft, який звик до Spigot або Paper, вам пощастило. Ваші навички роботи з Java можна безпосередньо перенести. Якщо ви вивчали C++ в очікуванні тепер уже скасованого рушія, вам потрібно негайно повернутися до Java. Різниця між плагінами та скриптами Офіційні публікації в блогах пояснили важливу відмінність в API для модифікації, яку багато хто не помічає: різниця між ігровою логікою та ігровою поведінкою. Серверні плагіни (Java .jar файли) Це основні інструменти. За словами технічного директора Slikey, серверні плагіни дозволяють "глибоко модифікувати" систему. Ви можете створювати міні-ігри, власні економіки та складні команди за допомогою Java. Статус: Надзвичайно потужний. Саме тут відбуватиметься ваша внутрішня розробка. Стан: Надзвичайно потужна. Візуальне написання сценаріїв (поведінка) Для поведінки в ігровому процесі (наприклад, як монстр атакує або як функціонує користувацький предмет) Hytale не використовує текстовий скрипт (як Lua). Натомість вона використовує систему Візуального скриптингу на основі вузлів, подібну до Unreal Engine Blueprints. Чому? Розробники стверджують, що текстові сценарії змушують дизайнерів вивчати програмування. Візуальні сценарії розширюють можливості дизайнерів, дозволяючи програмістам зосередитися на бекенді Java. Статус: Обов'язкове навчання. Розробники, які відмовляються торкатися візуальних вузлів, будуть намагатися створювати власні сутності. Обов'язкове вивчення. Вакуум "API": як підготуватися без документів Як підготуватися, не маючи офіційного Javadoc або вікі, як ви готуєтеся? Вивчіть шаблон ECS "Flecs": Дописи у блозі підтверджують, що рушій використовує систему компонентів сутностей (ECS) під назвою "Flecs". Хоча реалізація Hytale є індивідуальною, концепція ECS є універсальною. Відійдіть від об'єктно-орієнтованого мислення (наслідування) і перейдіть до мислення, орієнтованого на дані (компоненти).. . Старий шлях (Minecraft): клас Зомбі розширює клас Монстр Новий шлях (Hytale): Сутність ID 101 має PositionComponent, HealthComponent, AIComponent.