Codificação para Hytale: A API, a documentação e o ecossistema de plug-ins Java

Por : nome Categoria: technical : minutos min ler

Uma questão crítica ecoa nos Discords dos programadores: Onde está a documentação da API? Este guia cobre tudo o que sabemos sobre o desenvolvimento para o Hytale.

À medida que o lançamento do Acesso Antecipado se aproxima, uma questão crítica ecoa nos Discords dos desenvolvedores: Onde está a documentação da API? Sem nenhum docs.hytale.com público ainda ativo, os desenvolvedores ansiosos para construir a próxima grande rede de servidores estão voando às cegas. No entanto, a confirmação da arquitetura "Legacy Engine" fornece um roteiro significativo para aqueles que sabem onde procurar. Para os programadores e proprietários de servidores que planeiam listar os seus projectos em hytalecharts.com imediatamente após o lançamento, compreender agora as restrições técnicas da API é a diferença entre um lançamento no Dia 1 e um lançamento no Dia 30. Aqui está o guia definitivo para a realidade técnica do ecossistema de desenvolvedores da Hytale. A Arquitetura: Servidor Java, Cliente C# A peça mais vital de informação técnica é a divisão de linguagem. O Legacy Engine opera em um modelo Shared Source para o servidor. Server-Side (Java): A lógica do servidor é escrita em Java. É aqui que o trabalho pesado acontece: regras do jogo, economia, dados do jogador e interações do mundo. Client-Side (C#): O cliente do jogo é executado em C#. Enquanto o cliente é de código fechado para evitar trapaças, o servidor é "Shared Source", o que significa que os proprietários do servidor provavelmente terão acesso de leitura ao código do servidor para entender como se conectar a ele. Implicação para desenvolvedores: Se você é um desenvolvedor de plugins do Minecraft acostumado com Spigot ou Paper, está com sorte. Suas habilidades em Java são diretamente transferíveis. Se você estava aprendendo C++ em antecipação ao motor agora cancelado, você precisa voltar para Java imediatamente. A Distinção "Plugin" vs. "Scripting" Os posts oficiais do blog esclareceram uma distinção crucial na API de modding que muitos ignoram: a diferença entre Lógica de Jogo e Comportamento de Jogo. Plugins de servidor (arquivos Java .jar) Estas são as ferramentas de poder. De acordo com o diretor técnico Slikey, os plugins de servidor permitem "modificações profundas" no sistema. É possível criar minijogos, economias personalizadas e comandos complexos usando Java. Status: Extremamente poderoso. É aqui que o seu desenvolvimento de backend vai acontecer. Status: Extremamente poderoso. Scripts Visuais (Comportamentos) Para comportamentos de jogo (por exemplo, como um monstro ataca, ou como um item personalizado funciona), Hytale não usa scripting baseado em texto (como Lua). Em vez disso, ele usa um sistema baseado em nós de Script Visual semelhante aos Blueprints do Unreal Engine. Por quê? Os desenvolvedores argumentam que o script de texto força os designers a aprender programação. Script visual dá poder aos designers enquanto deixa os programadores focarem no backend Java. Status: Aprendizado obrigatório. Os desenvolvedores que se recusam a tocar em nós visuais terão dificuldades para criar entidades personalizadas. O vácuo da "API": como se preparar sem documentos Sem nenhum Javadoc ou wiki oficial disponível, como se preparar? Estude o padrão ECS "Flecs": Os posts do blog confirmam que o motor usa um Sistema de Componente de Entidade (ECS) chamado "Flecs". Embora a implementação do Hytale seja personalizada, o conceito de ECS é universal. Afaste-se do pensamento orientado a objetos (Herança) e vá em direção ao pensamento orientado a dados (Componentes). Maneiras Antigas (Minecraft): class Zombie extends Monster Nova Forma (Hytale): Entidade ID 101 tem PositionComponent, HealthComponent, AIComponent. Aprenda esquemas JSON: "Ativos de dados" para blocos, itens e UI são orientados por JSON. Familiarize-se com estruturas JSON complexas, pois provavelmente será assim que você definirá dados estáticos sem tocar no código Java. Configurar um ambiente Java 21: Embora a versão exata do Java não esteja confirmada, o Java moderno (21+) é o padrão do setor para desempenho. Verifique se o seu IDE (IntelliJ ou Eclipse) está pronto para um fluxo de trabalho baseado em Java. A vantagem do "código-fonte compartilhado" O modelo de servidor "Fonte compartilhada" é um divisor de águas. Implica que ao descarregar o software do servidor dedicado, pode receber o código fonte (ou bytecode descompilável) para o próprio jar do servidor. Estratégia: No dia do lançamento, não execute apenas o servidor. Descompile-o. (Se permitido pelo EULA). Ler o código oficial do servidor será a maneira mais rápida de entender a API antes que os documentos oficiais sejam escritos. Conclusão: Esteja pronto para documentar As primeiras semanas de Acesso Antecipado serão definidas pela descoberta da comunidade. Como a documentação oficial provavelmente será escassa ou estará em evolução, os desenvolvedores que documentarem suas descobertas - e as compartilharem em plataformas como hytalecharts.com - se tornarão os líderes de fato do ecossistema. A API está chegando, e ela fala Java. Você é fluente?