Coding for Hytale: API، مستندات و Java Plugin Ecosystem

By HytaleCharts Team Category: technical 8 min read

یک سوال مهم از طریق توسعه دهنده Discords: مستندات API کجاست؟ این راهنما همه چیز را که ما در مورد توسعه برای Hytale می دانیم، پوشش می دهد.

به عنوان نسخه های اولیه دسترسی، یک سوال انتقادی از طریق Discords توسعه دهنده منعکس می شود: مستندات API کجاست؟ بدون docs.hytale.com هنوز زنده است، توسعه دهندگان مشتاق ساخت شبکه سرور بعدی نابینا هستند. با این حال، تایید معماری "Legacy Engine" یک نقشه راه قابل توجه برای کسانی که می دانند به کجا نگاه کنند فراهم می کند. برای توسعه دهندگان و صاحبان سرور برنامه ریزی برای لیست پروژه های خود را در Hytalecharts.com بلافاصله پس از راه اندازی، درک محدودیت های فنی API در حال حاضر تفاوت بین یک پرتاب روز 1 و یک پرتاب روز 30 است. در اینجا راهنمای قطعی واقعیت فنی اکوسیستم توسعه دهنده Hytale است. معماری: Java Server، C# Client مهم ترین بخش intel فنی، تقسیم زبان است. موتور میراث بر روی یک مدل منبع برای سرور عمل می کند. Server-Side (Java): منطق سرور در جاوا نوشته شده است. این جایی است که بلند کردن سنگین اتفاق می افتد: قوانین بازی، اقتصاد، داده های بازیکن و تعاملات جهانی. Client-Side (C#): مشتری بازی در C# اجرا می شود. در حالی که مشتری منبع بسته برای جلوگیری از تقلب است، سرور "Shared Source" است، به این معنی که صاحبان سرور به احتمال زیاد دسترسی به کد سرور برای درک چگونگی اتصال به آن دارند. Implication for Devs: اگر شما یک توسعه دهنده پلاگین Minecraft هستید که برای Spigot یا Paper استفاده می شود، شما خوش شانس هستید. مهارت های جاوا شما به طور مستقیم قابل انتقال هستند. اگر شما در حال یادگیری C ++ در پیش بینی موتور در حال حاضر سلول، شما باید به سرعت به جاوا برگردید. "Plugin" در مقابل "scripting" Distinction پست های وبلاگ رسمی یک تمایز مهم در API modding را روشن کرده اند که بسیاری از آنها نادیده گرفته اند: تفاوت بین Game Logic و رفتار بازی. Server Plugins (Java.jar files) این ها ابزار قدرت هستند. به گفته مدیر فنی Slikey، افزونه های سرور اجازه می دهد تا "تغییرات عمیق" به سیستم. شما می توانید مینی گیم، اقتصاد سفارشی و دستورات پیچیده را با استفاده از جاوا بسازید. Status: بسیار قدرتمند این جایی است که توسعه شما اتفاق خواهد افتاد. -Visual Scripting (Behaviors) برای رفتارهای گیم پلی (به عنوان مثال، چگونه یک حمله هیولا و یا چگونه یک تابع سفارشی)، Hytale از اسکریپت نویسی مبتنی بر متن (مانند Lua) استفاده نمی کند. در عوض، از یک سیستم اسکریپت مبتنی بر گره شبیه به Unreal Engine Blueprints استفاده می کند. چرا؟ Debuild استدلال می کند که طراحان متن برای یادگیری برنامه نویسی. Visual Scripting طراحان را توانمند می کند در حالی که اجازه می دهد برنامه نویسان بر روی backend جاوا تمرکز کنند. Status: یادگیری اکتشافی توسعه دهندگان که از لمس گره های بصری امتناع می کنند، برای ایجاد نهادهای سفارشی مبارزه می کنند. خلاء "API" : چگونه بدون Docs با وجود Javadoc یا ویکی رسمی، چگونه آماده می شوید؟ الگوی "Flecs" ECS را بیان کنید: پست های وبلاگ تایید می کنند که موتور از یک سیستم اجزای Entity (ECS) به نام “Flecs” استفاده می کند. در حالی که پیاده سازی Hytale سفارشی است، مفهوم ECS جهانی است. دور از تفکر Object-Oriented (Inheritance) و به سمت تفکر داده محور (Components) حرکت کنید. Old Way (Minecraft): class Zombie گسترش هیولا New Way (Hytale): Entity ID 101 دارایComponent، HealthComponent، AIComponent است.