Na maioria das vezes, dos desenvolvedores de jogos, você pode ouvir uma frase muito simples: é surpreendente que os jogos geralmente saiam. Os jogos são monstros complicados e indomáveis, conectados por um tipo de fita elétrica digital. Não é de admirar que eles desmoronem.
Estrangeiros: fuzileiros navais coloniais era problemático por muitas razões, mas rapidamente se tornou motivo de piada quando
clipes virais semelhantes apareceram nos quais xenomorfos vagam sem sentido pelos níveis. Este mês, o desenvolvedor do mod
descobriu que o motivo do comportamento estúpido dos “aliens” da IA era um erro no código do jogo. (Sobre isso, havia
um artigo sobre Habr.) Opa. Mas este não é o único caso este ano em que o jogo acabou sendo humilhado devido a um erro de digitação no teclado. No início de 2018, os fãs descobriram que a
Civilization VI AI estava suspeitando de atacar uma religião: descobriu-se que a
palavra "rendimento" no código foi escrita como "yeild" .
Portanto, não é surpreendente saber que no desenvolvimento de jogos está cheio de tais momentos.
Lea Miller trabalhou por vários anos como designer em um ex-desenvolvedor de jogos MMO, Mythic Entertainment. Ela esteve envolvida em scripts, conteúdo e design de sistemas para
Dark Age of Camelot e
Warhammer Online: Age of Reckoning . No momento do lançamento, o estúdio começou a receber reclamações dos fãs: o jogo parecia lento e sem resposta. Os jogadores não conseguiram determinar qual era exatamente o motivo.
Foi apenas ... uma sensação?
"A equipe de desenvolvimento revisou o sistema de batalha para torná-lo mais rápido e procurou operações ineficazes do lado do servidor que poderiam ser eliminadas", diz Miller. “Mas, de qualquer maneira, as críticas eram vagas demais, ninguém sabia dizer exatamente qual era o motivo. Isso foi uma falha no design geral do jogo? "Muitas mudanças foram feitas para melhorar a experiência de jogo e, embora muitas tenham sido melhorias reais, a raiz de todos os problemas não pôde ser corrigida."
O Warhammer Online não reuniu um grande público e, como resultado, foi fechado em 2013.Digitando o código por seis meses, a equipe de desenvolvimento não conseguiu encontrar uma solução.
Um dos programadores relativamente novos estudou o código
do Age of Reckoning e descobriu algo estranho. Ele ainda tinha uma linha do estúdio MMO anterior,
Dark Age of Camelot . Ela estava lidando com jogadores em um dailap. Sim, no dailap.
Dark Age of Camelot foi lançado em 2001, em uma época em que a banda larga ainda não era o padrão. Naquela época, os jogadores tinham que garantir que ninguém atendesse ao telefone, caso contrário, a conexão seria interrompida. (O dia em que minha família comprou um modem de 56K foi mágico.)
"Ele trabalhou na empresa recentemente e não estava familiarizado com o código", diz Miller. "E talvez seja por isso que ele estudou esse fragmento com mais cuidado do que os outros anteriores."
Depois de excluir a linha, o problema desapareceu. O jogo tornou-se suave novamente.
Então o que aconteceu? Hoje em dia, os computadores são poderosos e a Internet é rápida. Mas no início da era do MMO, tudo era diferente, ou seja, os jogos tinham que se comprometer.
“Havia apenas uma linha no código de rede
da Idade das Trevas de Camelot que desacelerava artificialmente a frequência de transmissão de um determinado tipo de dados pelo cliente e servidor”, explica Miller. “Suponho que o principal objetivo disso foi otimizar a carga da rede, mas talvez isso fosse parte de um sistema projetado para tornar competitivos os jogadores que se conectam via dailap no PvP. Esse atraso foi quase invisível para os jogadores no
Dark Age of Camelot , porque o combate do jogo foi ajustado à largura de banda padrão e ao poder de processamento daquela época. Apenas uma porcentagem muito pequena de players possuía sistemas capazes de processar dados mais rapidamente do que eram enviados e recebidos. ”
Ao contrário do Warhammer Online, o Dark Age of Camelot ainda está à tona.Durante o desenvolvimento do
Dark Age of Camelot, seu código de rede também evoluiu e se envolveu em funções como gerenciar valores máximos de latência, fazer logon em servidores e outras tarefas. Após uma década de
Dark Age of Camelot , Mythic decidiu portar o mesmo código para
Age of Reckoning .
Como se viu, ele quebrou a funcionalidade em um lugar completamente inesperado.
Quando o Mythic resolveu o problema, a maioria dos jogadores havia retornado ao
World of Warcraft . Esse bug não foi a única causa dos problemas do
Age of Reckoning , mas contribuiu para eles.
Miller me escreveu quando pedi publicamente ao Twitter que contasse outras histórias horríveis, mesmo que os exemplos não fossem tão absurdos quanto erros de digitação. A discussão coincidiu com discussões em outros círculos após o incidente com os
fuzileiros navais coloniais , e eu gostaria de compartilhar as histórias mais destacadas.
Brian Sharp: Literalmente, toda vez que escrevo a palavra “a quired”, experimento um flashback pós-traumático com Deus Ex 2, no qual denominamos erroneamente a pasta de recursos AquiredDataText e não conseguimos renomeá-la. Eu tive que escrever por três anos seguidos.Truque de Dempsey: Logo antes do lançamento de Red Dead Redemption: Undead Nightmare, o iterador de script de dinamite isca zumbi descomentou a linha que direcionava os atores diretamente para a isca. Portanto, ela de repente começou a trabalhar no próprio Marston (o personagem principal).
Uma reviravolta inesperada na trama!Matt Lacey: Lancei um jogo para PSP (ou seja, sem a capacidade de corrigi-lo), que travava completamente se o ano fosse um ano bissexto ...Ailey: erros de digitação que permanecem no código para sempre são incrivelmente comuns. Além disso, muitas vezes são difíceis de eliminar, porque, para não adicionar novos bugs, você precisa renomear tudo de uma única maneira. É por isso que, no software médico em que trabalho, a palavra Su rig cal é usada em todos os lugares (em vez de Su rgi cal).Andrew Eike: Quando eu estava em uma demo séria, cliquei em um botão com as palavras "agora você verá uma bola azul" e uma enorme bola verde apareceu. Esqueci de aplicar a função. Tentei conversar com esse arquivo, mas ninguém o comprou.Dolph Ziegler: Alguns dias atrás, @cukiakimani me informou que o jogo Semblance começou a funcionar de repente a 19 quadros por segundo.
Aconteceu que uma linha do meu código devora 41 FPS. Eu acho isso absolutamente incrível.Tentando o seu melhor: Eu tinha um projeto que precisava ser concluído até meia-noite, mas não funcionava corretamente. Apenas uma hora restava, eu estava esperando o assistente do professor por três horas e estava pronto para chorar. Finalmente, o assistente veio, olhou meu código por meio minuto e disse-me para alterar uma variável em uma linha. Tudo funcionou perfeitamente.Gostaria de destacar um erro de digitação que
explodiu meu cérebro .
Quando criança, eu era obcecado por
Super Mario 64 . Este foi o primeiro jogo que joguei em japonês, graças à loja de importação, localizada ao lado do cinema, onde costumamos ir. (Eles tiraram dinheiro das pessoas por uma hora jogando uma cópia importada do primeiro jogo de plataforma 3D sobre Mario! E valeu a pena.) Quando finalmente consegui obter minha própria cópia do
Super Mario 64 em casa, fui uma das muitas pessoas que coletou 120 estrelas e pesquisa Yoshi se perguntou por que é tão incrivelmente difícil nadar através dos anéis subaquáticos. E a razão foi encontrada!
Vincent Kinian: Esse bug pode ser visto em vários jogos sobre Mario. No Super Mario Bros. Lakitu deveria jogar tartarugas espinhosas diretamente no jogador, mas isso não aconteceu devido a um erro de digitação no código. E existe esse bug no Super Mario 64: https://t.co/GddMkpMZh4 .Awesome. Não está claro como os videogames existem.