- Conta o episódio em que o subtítulo de Street Fighter II, o jogo de arcade, “World Warrior” tinha um erro de grafia como “World Warrier” até pouco antes do lançamento
- O designer gráfico Akiman, como o GFX ROM já estava gravado e não podia mais ser corrigido, ajustou a composição dos sprites para fazer o “e” parecer um “o”
- Ele reutilizou parte dos tiles de “World” para substituir “ier”, mas o resultado acabou gerando um novo problema: “The World Warrlor”
- Depois, usando o tile da panturrilha de Guile (0x96), ele fez um ajuste temporário cortando a parte superior do “l” em nível de pixel para fazê-lo parecer um “i”
- Essa correção foi depois substituída oficialmente em versões posteriores e mostra a resposta técnica minuciosa e a solução criativa de problemas no desenvolvimento de jogos
Início da descoberta e da correção do erro de grafia
- Foi descoberto, 3 dias antes do lançamento, que o subtítulo de Street Fighter II, “World Warrior”, estava escrito incorretamente como “World Warrier”
- Akiman relembra: “descobri um erro terrível”, explicando que o GFX ROM já estava gravado e não podia mais ser alterado
- O GFX ROM armazenava os dados gráficos, enquanto o ROM do 68000 armazenava as instruções, e o ROM gráfico estava em um estado que não permitia modificação
- Akiman tentou sobrepor sprites para fazer o “e” parecer um “o”, implementando assim uma correção visual
Solução temporária com substituição de tiles
- O logo era composto por 16 tiles (
0xC8~0xDF), e Akiman removeu os três últimos tiles (0xDD~0xDF) e os substituiu por 0xCD, 0xCE
- Com isso, “World Warrier” virou “World Warrlor”, mas permaneceu o problema de o “l” não parecer um “i”
- Como a CPU 68000 não podia modificar os tiles diretamente, foi necessário um ajuste em nível de pixel
Correção em pixel usando o tile de Guile
- A chave da solução estava no tile da panturrilha do personagem Guile (
0x96)
- Esse tile mostrava apenas um único pixel no canto inferior esquerdo
- A CPU 68000 podia escolher a paleta livremente, e foi explorada a diferença de cores comparando a paleta de Guile com a paleta do logo
- O índice 14 da paleta de Guile era verde-escuro, enquanto na paleta do logo era azul-escuro
- Usando esse tile com a paleta do logo, 255 pixels ficaram transparentes e apenas 1 pixel foi usado como um “lápis”
- Com três comandos de desenho, a parte superior do “l” foi cortada para fazê-lo parecer o ponto de um “i”
Resultado e versões posteriores
- Graças a essa correção temporária, na tela final o resultado ficou parecendo “World Warrior”
- Em versões posteriores, o conjunto correto de tiles “IOR” foi incluído, mas não foi usado porque o subtítulo foi alterado para “Champion Edition” e “Hyper Fighting”
Significado técnico
- Esse caso mostra que é possível resolver problemas de forma criativa mesmo sob as limitações de um hardware de arcade baseado em ROM
- A correção usando um único pixel é avaliada como um exemplo da combinação entre controle gráfico preciso e compreensão do hardware
- O processo de correção do erro de grafia permanece como um episódio simbólico de debug minucioso e capacidade prática de resposta no desenvolvimento de jogos
1 comentários
Comentários do Hacker News
A verdadeira mídia social era o fliperama
No meio do barulho das bolas de boliche rolando no centro esportivo, dava para saber na hora qual era o meu gabinete de jogo
As pessoas se juntavam ao redor, assistiam, faziam piada, e era um espaço de concentração e comemoração
Por um tempo, o garoto que estava no controle recebia um pouco de respeito, até que um dragon punch perfeito mudava o dono do trono e todo mundo vibrava
Era a época de colocar outra moeda e esperar a próxima vez, compartilhando dopamina com desconhecidos
Hoje estamos mais conectados do que nunca, mas ao mesmo tempo parece que estamos mais distantes uns dos outros
Eu brincava com amigos hmong de segunda geração, filhos de imigrantes que vieram após a Guerra do Vietnã, e eu escolhia Ken enquanto eles escolhiam Ryu
Aquele tempo em que ensinávamos golpes uns aos outros, competíamos e ríamos foi uma verdadeira aula de convivência social
Talvez os amigos que estudavam em escola particular tenham perdido esse tipo de experiência
Tinha SF2 nos fliperamas, mas o foco era mais no modo solo do que em partidas versus
Cada ficha era cara demais, então todo mundo cooperava para curtir o single-player, e jogos PvE como Gauntlet ou Knights of the Round eram populares
Era uma cultura completamente diferente
No Japão, a cultura de fliperama ainda continua viva
Essas memórias me parecem um pouco irônicas
Como várias pessoas compartilham a mesma parede, você acaba conversando naturalmente com desconhecidos, e com apenas algumas horas já dá para aproveitar bastante
Acho que existem muitos outros esportes sociais adequados para cada faixa etária
História realmente interessante
Um dos meus casos favoritos é quando a Naughty Dog modificou Ratchet and Clank usando a EULA
Dá para ver os detalhes neste post de blog
Tem um gabinete de SF2 numa lanchonete de hambúrguer aqui perto, e ele tem um desenho feito à mão em vez de adesivo
Em cima está escrito ‘HYRER FIGHTING’, e considerando o erro de ‘WORLD WARRIER’, até que combina bem
Queria saber se você viu um vídeo no YouTube recente sobre isso
O título era “It sounds dumb but they really fixed a typo with a human leg”, e aqui está o link do vídeo
Era um vídeo bem feito
Depois de ver essa história hoje, fiquei curioso sobre como funcionava a renderização de texto
Isso me fez lembrar de novo que antigamente uma função como
drawTextnão era algo óbvioHouve uma época em que até a exibição de caracteres precisava ser implementada manualmente
Isso me fez lembrar da frase “Thank you for playing Wing Commander! ”
Era uma frase que acertava em cheio a sensibilidade daquela época
Era uma mensagem temporária para evitar conflitos no sistema de gerenciamento de memória
Lembrei do jogo Continental Circus
Há uma seção de curiosidades neste link do Arcade Museum
Em japonês, ‘Circuit’ é サーキット, e a pronúncia é completamente diferente de ‘サーカス’
Além disso, chamar a F1 de ‘circo’ é comum não só no Japão, mas no mundo todo
É engraçadíssimo dizer que usaram 3 draw calls para 3 pixels para desenhar a panturrilha do Guile
Era uma arquitetura em que se acessava diretamente a memória do hardware, numa época sem sistema operacional nem API gráfica
Alguém brincou que gostaria que consertassem o erro “Bimmy and Jimmy” de Double Dragon