Home / VideoGame / O criador do DayZ diz que os frameworks são o futuro do desenvolvimento de jogos

O criador do DayZ diz que os frameworks são o futuro do desenvolvimento de jogos

O criador do DayZ diz que os frameworks são o futuro do desenvolvimento de jogos

Rocketwerkz O CEO Dean Hall e o fundador da Floating Point Origin Interactive, Felipe Falanghe, parecem totalmente tontos quando falam sobre a nova estrutura C# chamada “Brutal”. Durante uma ligação recente com o desenvolvedor de jogos, os cérebros por trás DiaZ e Programa Espacial Kerbal não conseguiam parar de fazer comentários aleatórios sobre o que eles conseguiram com a ferramenta e como inspiraram o trabalho um do outro.

A alegria deles foi contagiante porque, depois de entender como o Brutal funciona, você percebe que cada novo recurso é uma conquista genuína, mesmo para esta dupla de desenvolvedores experientes. “É chamado de Brutal por um motivo”, disse Hall depois que Felipe comparou o trabalho com ele à experiência de sentar em um banco de bar enquanto todos os seus amigos que usam motores como Godot estão sentados em um sofá confortável.

Brutal é, para citar um porta-voz da Rocketwerkz, uma ferramenta que “usa os recursos .NET mais recentes, ao mesmo tempo que fornece acesso API de baixo nível a bibliotecas e ferramentas C++ de alto desempenho, incluindo uma API gráfica Vulkan”. É isso. Isso é tudo que você ganha.

Rocketwerkz criou a estrutura para desenvolver Agência Espacial Gatinhoum sucessor espiritual de Programa Espacial Kerbal. A empresa convidou Falanghe para um comitê diretor de consultoria sobre Agência Espacial Gatinhoo que o levou a consultá-lo sobre o motor. Brutal se tornará open source por meio de uma entidade comercial chamada “Ahwoo”.

Relacionado:Unity revela novo kit de ferramentas para acelerar lançamentos multiplataforma

Os desenvolvedores que se lembram dos dias do XNA e dos motores caseiros podem estremecer com a perspectiva. Ferramentas de script visual como Unity e Unreal Engine deveriam acelerar o desenvolvimento e permitir que os designers pensassem mais em seus jogos e menos em blocos de código. Por que voltaríamos a um mundo onde todos constroem seus próprios motores de jogo?

Hall entende esse nervosismo. Mas em nossa conversa ele fez uma previsão bastante ousada: frameworks como o Brutal, e não motores de jogos, serão o futuro do desenvolvimento de jogos.

Brutal força os desenvolvedores a criar fluxos de trabalho do zero

Para seguir o pensamento de Hall, você precisa pensar no Brutal em termos de fluxos de trabalho do desenvolvedor, não no que ele pode ou não fazer em comparação com mecanismos de jogos de terceiros.

Rocketwerkz criou o Brutal para impulsionar o desenvolvimento de Agência Espacial Gatinhomas isso ocorre porque eles determinaram que a renderização baseada em cena não era suficiente para a tarefa. “Se você pegar Unity ou Unreal, você tem essa cena de editor e push play, ela se torna uma cena de jogo e tudo nela é relativo ao 0-0-0 daquela cena”, disse Hall. “É assim que você desenha as coisas, e está tão arraigado que as pessoas têm dificuldade em imaginar algo diferente.”

Relacionado:Obituário: Rebecca Heineman, cofundadora da Interplay, faleceu aos 62 anos

“Em Agência Espacial Gatinhotudo é contextual. Portanto, um objeto é desenhado em relação a outra coisa. Na verdade, a câmera está sempre em 0-0, ela nunca se move e tudo é atraído para ela.”

Simuladores de voos espaciais retratam longas distâncias, um conceito em renderização às vezes chamado de “origem flutuante”. Falanghe disse que estava repensando sua abordagem em seu novo projeto e apresentou uma solução semelhante ao Rocketwerkz, chamando-a de “origem flutuante de primeira ordem”, onde o sistema resolve as posições dos objetos em relação à câmera o mais tarde possível antes da renderização. “Você ainda obtém basicamente a mesma funcionalidade, mas pode usar números de alta precisão na medida do possível na execução do jogo”, explicou ele.

“No nosso caso, nós os resolvemos na GPU. Enviamos um par de números que atuam como um valor de precisão dupla para os shaders, e os shaders então descobrem as coordenadas relativas da câmera.” Para fazer algo semelhante no Unity (a ferramenta que Falanghe usou para fazer Programa Espacial Kerbal), você tem que “forçar” o sistema existente, dizendo-lhe para mudar todos os objetos no mundo do jogo na mesma quantidade.

Uma sonda lunar na Kitten Space Agency

Para desenvolvedores que estão se perguntando sobre o desempenho de otimização no Brutal — Rocketwerkz explicou que Agência Espacial Kitten O código C# é executado no Common Language Runtime (CLR) e é compilado JIT quando o jogo é executado, em vez de ser compilado nativamente antes do tempo. Isso foi feito em parte para tornar o jogo “mais fácil de modificar”, já que o código gerenciado é “mais acessível” aos jogadores.

Relacionado:Histórias assustadoras de networking MMORPG de Guild Wars e Guild Wars 2 – GDC Podcast Ep. 56

Porém, preste atenção ao processo. O pensamento não era “O Unity não pode fazer isso, preciso de uma ferramenta que possa fazer isso”. Foi “nosso jogo precisa de origem flutuante para funcionar dessa maneira, como fazemos isso?”

É uma mentalidade que vem naturalmente para Falanghe, disse Hall. “Um dos superpoderes de (Falanghe) que acho que ele não percebe que tem é que ele está sempre pensando em como quer fazer alguma coisa, especialmente se não for algo com o qual ele esteja muito familiarizado.”

Numa segunda ligação, Hall nos mostrou outros Agência Espacial Gatinho sistemas construídos através do Brutal. Alguns, incluindo um que usava iluminação volumétrica para criar o brilho do motor, passaram um pouco da minha cabeça, mas o sistema de Hall para recursos de interface de usuário baseados em matemática era fácil de entender.

Agência Espacial Gatinho permite que os jogadores simulem voos espaciais com uma série de elementos de interface de usuário semi-realistas que podem ser expandidos ou reduzidos e até mesmo movidos para outros monitores. A interface do usuário do videogame geralmente é baseada em textura, mas Hall queria que elas fossem baseadas em matemática para permitir esse dimensionamento e reposicionamento. Ele também sente que parecem mais nítidos e menos “desbotados”.

Estes estão entre vários Agência Espacial Gatinho sistemas que são tecnicamente possíveis em outros motores de jogo, mas ao construí-los a partir do zero, os desenvolvedores podem responder à pergunta “o que estou tentando fazer?” antes que perguntem “como estou tentando fazer isso?”

Hall e Falanghe disseram que isso foi possível graças a uma série de eventos muito coincidentes que aconteceram paralelamente à produção de Brutal: o avanço e a popularização de grandes modelos de linguagem em IA generativa.

Fluxos de trabalho brutais são o oposto da codificação vibratória

“É difícil para mim falar sobre isso sem parecer um membro de uma seita”, disse Hall timidamente, ao descrever como usa o ChatGPT enquanto trabalha no Brutal. Mas ele e Falanghe concordaram: o uso de LLMs tornou a codificação baseada em linguagem uma tarefa mais fácil.

Não que muito mais fácil, para ser claro. Ambos disseram que, ao consultar um LLM, raramente copiam e colam qualquer código que ele gere. Em vez disso, eles fazem perguntas sobre bibliotecas C# ou documentação Vulkan, e o software é capaz de retornar respostas de alta qualidade. Respostas que normalmente exigem que os programadores fiquem sentados por horas para examinar a documentação ou vasculhar fóruns antigos para encontrar aquela postagem com a solução (que provavelmente foi escrita em 2014).

“Um LLM é essencialmente tokenizar uma linguagem e, em seguida, colocar muitos vetores em torno dela para construir ligações entre esses tokens”, disse Hall. “O que poderia ser melhor do que um sistema altamente estruturado, na verdade brutalmente linguagem estruturada?” O Vulkan e a versão mais recente do C# são muito “altamente estruturados, com sintaxe muito clara”.

Os desenvolvedores que criticam o OpenAI, fabricante do ChatGPT, devem ser capazes de replicar esse processo em modelos de código aberto como o DeepSeek, disse Falanghe (embora ele mesmo não tenha tentado fazer isso).

Este processo não funciona tão bem com Unity e Unreal porque ambos são “altamente espaciais” como resultado de suas ferramentas de script visual. Uma solução para o problema de um jogo pode não funcionar com outro devido aos diferentes elementos do script. LLMs vasculhando a web não conseguem produzir respostas consistentes.

É também o oposto da codificação vibratória, um método em que os programadores dizem a um LLM o que desejam que um sistema faça e isso gera código – e não é a conclusão do código, onde as ferramentas de IA “prevêem” o que alguém está digitando e terminam a string para acelerar seu fluxo de trabalho. A única coisa que o LLM faz pelos desenvolvedores do Brutal é agilizar o acesso às informações, permitindo que pesquisem sem assistir a um vídeo de 40 minutos no YouTube.

Falanghe disse que até tentou “codificação vibratória” em determinado momento com o ChatGPT, mas achou-o inadequado. Ele comparou a experiência a ser “um gerente de projeto que não é programador” e se comunicar mal com um programador sobre como fazer um aplicativo. Eles lhe darão algo que está quase correto, mas não exatamente o que você queria, e você simplesmente irá iterar e tornar tudo cada vez pior.

“Você não precisa pagar alguém para ter essa experiência, você pode simplesmente fazer isso com uma IA e ficar frustrado”, brincou.

Como os frameworks podem mudar o desenvolvimento de jogos?

Você pode resumir a teoria de Hall sobre o que ele chama de “a morte dos grandes motores” a isto: se os LLMs tornam a codificação baseada em linguagem mais acessível, o script baseado em visual perde sua vantagem. Os desenvolvedores que adotam o método Brutal tornam-se responsáveis ​​por compreender cada peça de tecnologia que impulsiona seu jogo.

É uma tarefa difícil, mas que não exige que eles entendam as partes de suas ferramentas que não entre no jogo deles.

E apesar da dificuldade de usar a estrutura, Hall disse que Rocketwerkz teve mais facilidade em recrutar programadores usando esta ferramenta do que usando Unreal. A programação Unreal de alto nível requer conhecimento altamente especializado, ajustado não apenas ao motor, mas também aos tipos de jogos que estão sendo feitos. Um programador já familiarizado com C# pode adotar o fluxo de trabalho Brutal se estiver disposto a abraçar sua… bem, brutalidade.

Hall descartou a noção de que Brutal seria a única estrutura que conduziria os motores de ponta a ponta. Ele até ficou um pouco irritado com a noção de que algumas empresas poderiam se estabelecer como especialistas brutais que podem construir ferramentas para outros desenvolvedores no topo da estrutura, semelhante aos desenvolvedores que fazem plug-ins para Unity e Unreal. “Brutal foi feito para entregar um jogo muito específico e difícil de fazer, onde você precisa sentar e fazer um monte de perguntas (sobre como funciona).”

“Não gosto da ideia de que Brutal se tornaria um canivete de tamanho único porque não acho que isso seja verdade. No fundo, acho que outra pessoa pode criar algo que siga uma abordagem semelhante, mas mais simples.

A visão de Hall da futura indústria de jogos é quase o oposto daquela apresentada pelas plataformas UGC e impulsionadores de IA. Em vez de um mundo onde o desenvolvimento de jogos se torna mais fácil através de ferramentas simplificadas, torna-se mais acessível através de uma compreensão mais fácil da programação baseada em linguagem através de LLMs.

Os céticos poderiam ignorar isso dizendo que a codificação baseada em linguagem nunca poderia se mover tão rápido quanto o desenvolvimento de jogos baseados em motores. Se isso fosse verdade, o Programa Espacial Gatinho alfa levaria anos para ser produzido, certo?

Hall abordou este ponto enquanto voava através do sistema solar simulado da sua equipa, deslizando pelos desfiladeiros de Marte rapidamente depois de dirigir uma nave para iniciar uma aterragem na superfície detalhada da Lua da Terra. “Fizemos tudo isso em cerca de um ano”, disse ele.

Deixe um Comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *