Como a Kluge Interactive impulsionou o reconhecimento de gestos em VR em FINAL FURY

A Kluge Interactive desenvolve jogos imersivos desde 2008. Seu título modelo, Synth Riders, um jogo de ritmo em VR, foi lançado em 2018 e a equipe passou os últimos sete anos entregando um fluxo constante de pacotes de música. Essas atualizações de conteúdo divertido elevaram a PI para a estratosfera de músicos da lista A e eventos esportivos nacionais.
A equipe não tem planos de desacelerar. Eles combinaram sua experiência em VR e paixão por jogos de luta para criar a FINAL FURY. O título Multiplayer mistura a mecânica clássica de jogo de luta com a luta real. Os jogadores fazem cada ponche contar, seja disputando solo ou desafiando os melhores da galáxia.
Falei com Rob Alvarez, produtor de FINAL FURY, e David Montesdeoca, programador líder do jogo, para discutir como a equipe harmoniza imersão e velocidade para criar um jogo de luta em VR de alto nível.
Como você descreveria FINAL FURY?
Rob Alvarez: O conceito por trás de FINAL FURY nasceu de um profundo amor por jogos clássicos de luta arcade, reimaginado através da lente da tecnologia VR moderna. Desde o início, continuamos a fazer uma pergunta fundamental: "Como podemos fazer com que cada ação, de jogar golpes a evitar ataques, pareça o mais real e visceral possível?"
Transformar essa Vision em uma experiência totalmente jogável veio com seu compartilhamento de desafios, especialmente para encontrar o equilíbrio certo entre a natureza imersiva da VR e a luta intensa e ágil que define o gênero. No início, não era fácil adaptar essa mecânica à VR, mas por meio de iteração constante, finalmente encontramos o ponto doce.

Como o sistema de câmeras exclusivo do jogo aumenta a imersividade da jogabilidade?
David Montesdeoca: A FINAL FURY usa um sistema multicâmera modular projetado especificamente para oferecer suporte à imersão em diferentes estados de jogo, perspectivas e experiências do jogador.
Oferecemos suporte a vários tipos de câmeras: primeira pessoa, terceira pessoa, espectador, 2D e uma câmera “Out of Body” usada durante momentos cinematográficos, como capturas ou situações nas quais o jogador não tem controle. Em vez de tratá-los como sistemas isolados, nós desenvolvemos um serviço de câmera unificado que os gerencia como uma única entidade lógica ou como câmeras separadas quando forem necessários efeitos específicos.
Veja como funciona:
- Cada câmera é impulsionada por um sistema de eventos compartilhado, mas pode escolher se e como responder aos eventos. Por exemplo, quando uma captura é acionada, as câmeras de primeira pessoa e "Out of Body" podem ativar efeitos, mas de maneiras diferentes.
- O sistema é orientado por dados e altamente escalável. Podemos adicionar novos comportamentos de câmera sem afetar outros sistemas ou precisar de lógica especial.
- Dividimos o mundo em três camadas visuais principais: HMD, 3rdPerson e HMDA e 3rd. Isso nos permite controlar a visibilidade ao mudar camadas de objeto no tempo de execução e permite que alguns elementos apareçam apenas em visualizações em primeira pessoa enquanto estão ocultos de perspectivas cinemáticas ou de terceira pessoa.
Com essa configuração, podemos equilibrar a agência do jogador em VR (botas e gestos e poderes em primeira pessoa) com momentos de recompensa mais cinemáticos que são mais satisfatórios quando vistos externamente.

Por que aperfeiçoar os gestos de combate era tão importante?
Rob: Os gestos de combate são o núcleo da experiência de luta imersiva que queremos oferecer. Embora FINAL FURY seja uma carta de amor para tudo o que amamos em jogos clássicos de luta arcade, também é um desafio fazer com que os jogadores transam e sinta como se estivessem na arena fazendo a luta.

Como a equipe implementou o sistema de controle baseado em gestos?
David: O reconhecimento de gestos foi um dos aspectos mais desafiadores do ponto de vista técnico e criativo do design da FINAL FURY. Nosso objetivo sempre foi garantir que os jogadores se sentissem como o lutador, não apenas alguém controlando um.
As principais partes do nosso sistema são:
- Rastreamento de entrada: No núcleo, construímos um sistema leve que rastreia continuamente a posição e a orientação de cada mão em relação a um ponto de referência central. Ele geralmente está localizado na cabeça do jogador (centro da massa). Isso nos ajuda a normalizar entradas, minimizando o movimento da cabeça ou a orientação do corpo como variáveis que podem afetar a precisão da detecção de gestos.
- Utilitários de gestos: Usamos um conjunto de utilitários matemáticos de baixo nível para detectar padrões, como “A mão está indo em frente?” ou “A mão está no lado esquerdo de uma zona de detecção?”
- Sistema ActionTrigger: Definimos gestos complexos por meio do que chamamos de ActionTriggers. Cada ActionTrigger escuta sequências de gestos específicas usando nossos utilitários.
- O processo de detecção inclui um sistema de estados com três estados possíveis:
- Falhou: A entrada não atende aos requisitos
- Parcial: O gesto parece estar começando corretamente
- Conclua: O gesto foi executado com êxito
O estado parcial é muito importante pois é isso que nos ajuda a priorizar gestos com base no contexto, fornecer feedback em tempo real ao jogador para que ele saiba que está no caminho certo e telegrafar a intenção aos oponentes.
Aqui está um exemplo de como nosso “Gesto Grab” funciona:
- O sistema verifica se as duas mãos estão separadas e posicionadas de maneira simétrica de ambos os lados do centro da massa. Isso ativa o estado Parcial (o “início da captura”)
- Se o jogador juntar as mãos rapidamente, o gesto será Concluído e a ação será iniciada
- Se o movimento for muito lento ou inconsistente, o sistema entra no estado Failed e o gesto é cancelado
Essa abordagem nos permitiu combinar contribuições fluidas com ações precisas, e continuamos refinando com base no feedback da comunidade.

Como o Unity entrou na mistura?
Rob: Honestamente, nem foi uma pergunta da nossa parte. Nossas equipes usam o Unity há anos para os Synth Riders e foi uma ótima experiência. Ele nos permite trabalhar perfeitamente entre plataformas.
A engine nos permite reunir uma ampla gama de ferramentas e sistemas para criar algo dinâmico e responsivo enquanto criamos o FINAL FURY. Como resultado, conseguimos iterar rapidamente, o que é emocionante para nós. Ele nos oferece a flexibilidade de testar novos conceitos de jogo com o mínimo de estresse.
O ecossistema de plug-ins do Unity tem sido uma grande vantagem. Ferramentas como o NodeCanvas foram inestimáveis para a criação de comportamentos de IA complexos de maneira visual e modular. Também estamos usando o suporte OpenXR da Unity e a integração foi surpreendentemente suave. É praticamente plug-and-play, o que tornou o desenvolvimento de VR muito menos doloroso do que o esperado.
O suporte integrado do Unity para o PlasticSCM nos ajudou a encontrar o equilíbrio certo entre a simplicidade e o poder de que precisamos para gerenciar a base de código do nosso projeto.

A equipe trouxe o jogador Pro Justin Wong como consultor para o jogo. Qual é o envolvimento dele?
Rob: Nós discutimos muito publicamente nossa necessidade de mudar as abordagens à medida que o desenvolvimento inicial de FINAL FURY mudou. Nos aprofundamos nisso em nosso primeiro blog FINAL FURY. À medida que nos aprofundamos no processo, queríamos garantir que não apenas estivéssemos na direção certa, mas também pudéssemos integrar ainda mais os processos. Além de colocar o jogador no papel do lutador, queríamos explorar o que torna um jogo de luta competitivo bom. Portanto, só fez sentido acessar Justin para obter suas contribuições.
Em várias sessões de jogo, entramos no jogo com Justin, mostramos nossos designs e tivemos algumas partidas. Seu feedback sobre equilíbrio e mecânica de combate tem sido muito valioso. Ele geralmente abordava áreas que somente um jogador de jogo de luta especializado abordaria. Na verdade, ele nos ajudou a ver coisas que não teríamos de outra forma, e seu envolvimento fez com que algumas mecânicas do jogo parecessem muito melhores. Além disso, confesso que ele nos bateu no nosso próprio jogo.
Qual é o próximo passo de FINAL FURY?
Rob: Temos grandes planos para o que queremos adicionar ao jogo durante o Early Access. A equipe de FINAL FURY continua explorando novas ideias e melhorias, ampliando a jogabilidade a cada atualização. Novos lutadores, novas arena, novas jogadas adicionadas para todos os lutadores — isso é só o começo. Alguns deles já estão sendo desenvolvidos, outros recursos na verdade vão depender dos jogadores.
Nossa equipe de desenvolvedores planeja participar das lutas, ouvir o que os jogadores estão dizendo e continuar melhorando o jogo. O método “lançar→jogar→escutar→iterar” foi assim que lançamos o Synth Riders em 2018 e isso funcionou muito bem para nós.
Nossa ambição é tornar-se a referência para jogos de luta no estilo arcade em realidade virtual, e com a dedicação de nossa equipe, temos certeza de que podemos tornar isso uma realidade.
Para ler mais sobre projetos Made with Unity, acesse a página Recursos da Unity.