🇧🇷 Tradução Não-Oficial de Fã para Fã
Este conteúdo foi traduzido por fãs com carinho para facilitar o acesso da comunidade brasileira às novidades de Orbis. Lembre-se: este blog não é oficial e não possui vínculo com a Hypixel Studios. Boa leitura!
⚠️ Conteúdo de Arquivo
O Hytale foi recomprado pelos fundadores da Hypixel Studios em 17 de novembro de 2025 e o desenvolvimento tomou novos rumos. Este artigo foi publicado durante a gestão anterior e suas informações podem não refletir a versão final do jogo. Para informações atualizadas, visite nossa página inicial.
Olá a todos! Para nossa segunda Explicação Técnica, vamos analisar nossa filosofia de colaboração através da perspectiva de um recurso fundamental do Hytale: as plataformas de lançamento.

Meu nome é Anna e sou engenheira na equipe de Jogabilidade. Nosso espaço é particularmente interessante porque combina perfeitamente resolução de problemas e criatividade. Somos responsáveis por funcionalidades como criação, movimentação, interface do usuário e, mais recentemente, plataformas de lançamento.
Assim como muitas equipes de criadores, as equipes da Hypixel trabalham remotamente e são compostas por pessoas de diversas origens. Para termos sucesso juntos, precisamos encontrar uma maneira de colaborar, e é por isso que ter uma cultura colaborativa é tão essencial para quem somos. Neste artigo, tenho o prazer de compartilhar com vocês algumas estratégias focadas em colaboração e feedback, e como elas foram cruciais para o desenvolvimento do nosso recurso de plataforma de lançamento.

POR QUE COLABORAMOS?
Engenheiros de software muitas vezes se veem trabalhando isolados em suas próprias bolhas para resolver problemas, mas criar um jogo é um processo criativo que exige colaboração com membros da equipe de diferentes disciplinas. Nossos designers podem estar trabalhando em aspectos completamente diferentes do jogo, mas sem conversar com eles, não saberíamos o suficiente sobre as ferramentas que estamos criando. Também dependemos de artistas, áudio, efeitos visuais e produção, e a colaboração ativa com eles nos proporciona o benefício inestimável de seus pontos de vista. Nós, engenheiros, também somos cheios de ideias criativas, e poder compartilhá-las e trocá-las contribui para o objetivo final de criar conteúdo que atenda às necessidades dos jogadores.
A EQUIPE DE REPORTAGEM
A equipe de Jogabilidade é composta por 3 engenheiros, 2 designers técnicos, 2 analistas de qualidade e 1 produtor. Somos responsáveis pela jogabilidade e pela experiência do jogador na capital principal de Hytale e nas ilhas dos jogadores. Essa área exige trabalho em equipe diário e ativo, com o design técnico desempenhando um papel fundamental no trabalho de engenharia da equipe. Eles criam protótipos, iteram em funcionalidades menores e fornecem feedback.
Ter uma equipe multidisciplinar com recursos integrados nos proporciona tempos de resposta rápidos, iterações mais ágeis e um processo criativo mais confiável. Além disso, trabalhar em estreita colaboração com outras disciplinas para brainstorming e criação durante o processo de design é a ferramenta colaborativa mais valiosa — e o melhor remédio preventivo para bugs e dívida técnica. A falta de inclusão de profissionais de outras áreas além da engenharia na criação de funcionalidades e na tomada de decisões rápidas resulta na perda de vista da visão desejada. Sem que ambas as partes se esforcem ativamente para trabalhar juntas, podemos ficar presos a suposições ou nos ver apenas executando listas de tarefas, em vez de aproveitar ao máximo nossa criatividade para criar a melhor experiência possível para o jogo e para os jogadores como um todo.
Os primeiros contatos para uma nova funcionalidade não servem apenas para esclarecer dúvidas, mas também para responder à pergunta “Por quê?”. A partir dessa conversa, podemos ter certeza de que estamos trabalhando para o mesmo objetivo: um ponto de partida para iterar e criar uma funcionalidade excelente para o jogo.
PLATAFORMAS DE LANÇAMENTO
Em sua essência, as plataformas de lançamento são atores em um mundo com um colisor de gatilho . Quando objetos (como jogadores) se sobrepõem ao gatilho, um evento é disparado, aplicando um impulso configurável ao alvo. Isso faz com que o objeto — o alvo — voe pelo ar. Em outras palavras, ele foi lançado .

Uma plataforma de lançamento básica
CONSTRUINDO PLATAFORMAS DE LANÇAMENTO
Quando recebemos a tarefa de criar plataformas de lançamento, meu primeiro pensamento foi: “Bem, é uma plataforma de lançamento! A maioria dos jogos tem, provavelmente será igual em todos os outros lugares.” Apesar dessa impressão inicial, me baseei em nossos valores de colaboração e conversei com o designer responsável logo no início para entender a perspectiva dele. Os próximos passos foram ler as especificações do projeto, discuti-las em nossa reunião semanal de design, coletar esclarecimentos da equipe de design e criar um painel no Miro.
Esta placa incluía a funcionalidade física principal e a API necessárias para criar o recurso de plataforma de lançamento em si, bem como algumas variáveis básicas expostas para que o designer pudesse fazer ajustes.

FEEDBACK PROATIVO
Este quadro e um cronograma foram enviados a todas as partes interessadas para coletar feedback assíncrono antes do início do desenvolvimento, e recebemos feedback das equipes de design de jogos, design técnico e criação. Esse feedback nos levou a alterar o que seria configurável para o design técnico e como o gatilho funcionaria no desenvolvimento inicial, que começou como um raycast e evoluiu para o uso de volumes de gatilho dentro do motor do jogo.
Em momentos cruciais, entrei em contato com pessoas que sugeriram mudanças e me reuni individualmente com elas para garantir que uma cultura de colaboração criativa fosse fomentada desde o início e para assegurar que suas contribuições fossem plenamente compreendidas. Esses colaboradores foram continuamente envolvidos em todas as etapas do processo para garantir que continuássemos seguindo na direção que funcionava para eles.
SOB O CAPÔ
Lidar com o movimento controlado pelo servidor é uma parte vital do desenvolvimento de plataformas de lançamento. Um impulso físico deve ser aplicado pelo servidor, e a velocidade e o vetor de lançamento são calculados e resolvidos nele. O cliente prevê e resolve sua posição através dos mesmos cálculos. Esse impulso físico só é conhecido no momento do lançamento, já que cada plataforma de lançamento pode ser configurada para apontar em uma direção diferente — ou exigir o vetor de direção para frente do personagem para calcular a velocidade.

Implementação básica de uma plataforma de lançamento a partir da placa Miro.

Solicitações de inicialização do servidor e do cliente

Código para executar a solicitação de inicialização no servidor e no cliente, incluindo o rollback de rede.
Ao construir as plataformas de lançamento, percebemos que interagíamos principalmente com outras duas equipes, pois elas eram responsáveis por áreas em que precisávamos de conhecimento especializado e apoio.
O movimento e o impulso são de responsabilidade da equipe de Personagens, Câmera e Controles (CCC). A criação de plataformas de lançamento exigiu uma colaboração estreita com eles para desenvolver a estrutura básica da implementação da plataforma, que tanto o servidor quanto o cliente pudessem executar. Essa colaboração levou à descoberta de diversos bugs de rede, o que gerou uma discussão mais ampla sobre movimento, previsão e impulsos na rede.
A gestão de redes é da responsabilidade da equipe Core Tech, que lida com as previsões do cliente, bem como com as mensagens enviadas entre o servidor e o cliente. Essas redes são amplamente utilizadas em toda a funcionalidade e exigiram o suporte de engenheiros de todas as equipes para que as plataformas de lançamento funcionassem corretamente.
Esse processo também nos permitiu dar feedback à equipe de Tecnologia Central sobre a rede de previsão de movimento e ajudou a corrigir bugs ao implementá-la em um recurso real. Também levou a uma implementação de instâncias focada no jogador. Naquela época, os atores principais eram posicionados e precisavam ser duplicados para alterar uma variável em cada instância. Como parte do desenvolvimento da plataforma de lançamento, tivemos um caso de uso para investigar a criação de instâncias de atores e, portanto, adicionar outro fluxo de trabalho de ferramentas tangencial.
CONFIGURAÇÃO PARA DESIGNERS
Agora que a funcionalidade principal estava implementada, precisávamos possibilitar que os designers técnicos pudessem começar a usar as plataformas de lançamento. Criamos uma API usando scripts Luau que exige o envio de uma mensagem do cliente para o servidor para acionar um lançamento. Isso significava que os designers técnicos tinham acesso não apenas aos scripts, mas também às configurações de cada recurso para cada ator da plataforma de lançamento posicionado no mundo.

Projeto de configuração original
Configurações de dados
Essas configurações são importantes porque permitem ao projetista técnico alterar configurações básicas sem precisar escrever código.
Por exemplo, é fácil definir qualquer um dos seguintes valores:
- A direção para a plataforma de lançamento
- Se usa a direção para a frente do caractere
- Quão forte é a força de lançamento?
- Se a velocidade do caractere for substituída
- Filtros de ator
- Se houver um alvo específico para o qual lançar o ataque.
As opções para essas configurações e suas implementações técnicas foram criadas com foco no design tecnológico e ainda estão sendo aprimoradas para priorizar a melhor – e mais realista – experiência para os designers.

Visão do editor no jogo

Versão do código
Configurações de script
Além da capacidade de configurar detalhes específicos do ator, também foi criada uma funcionalidade de script para que os designers técnicos pudessem manipular a lógica quando necessário. Por exemplo, a função LaunchActor() permitiu que os designers técnicos utilizassem a funcionalidade de lançamento sem precisar inserir uma plataforma de lançamento previamente.
Essa funcionalidade específica de ferramentas não foi inicialmente solicitada pelos designers técnicos, mas após os testes das plataformas de lançamento, foi adicionada à lista de pendências como uma ferramenta crítica. Isso permitiu que os designers tivessem acesso imediato para iterar, já que funciona em paralelo com a função de script OnTriggerOverlap(), usada no código das plataformas de lançamento para acionar o sistema que lança o ator. Ter isso disponível no script significou que os designers puderam criar loops de jogo por meio de diferentes consultas e comportamentos de lançamento.

Script Luau para sobreposição de gatilho com plataforma de lançamento
Uma das primeiras ideias para a criação de scripts e a configurabilidade foi não apenas dar suporte a designers e criativos, mas também aos jogadores que um dia usarão essas funções. No contexto desse recurso, refletimos bastante sobre todas as maneiras pelas quais os jogadores poderiam querer lançar personagens em seu mundo. Tivemos muitas discussões sobre como garantir que os jogadores pudessem construir e criar no Hytale da mesma forma que os jogadores do Hypixel.
DESENVOLVIMENTO FOCADO NO JOGADOR
As plataformas de lançamento foram perfeitamente orientadas para criar oportunidades de colaboração e trabalho interdisciplinar, mas essas oportunidades nem sempre se tornam evidentes. É fundamental dedicar tempo para pensar em quem trabalha em uma funcionalidade, quem a usaria e como – e então conversar diretamente com essas pessoas antes mesmo de escrever a primeira linha de código.
Esse valor de feedback e colaboração vai além dos Hypixelianos. As plataformas de lançamento são um processo contínuo e sempre serão, à medida que a jogabilidade cresce e evolui dentro do Hytale. Estamos ansiosos para ver como os jogadores implementarão as plataformas de lançamento de maneiras novas e empolgantes, criando seus próprios casos de uso. E, em troca, continuaremos usando essa colaboração para iterar e criar novos recursos de ferramentas focados no jogador para o Hytale.

Visão em primeira pessoa da plataforma de lançamento no jogo.
