Especial: A história dos heróis secretos do Xbox: o time da retrocompatibilidade
A história dos heróis secretos do Xbox: o time da retrocompatibilidade
Deu mais trabalho do que você imagina
Atualizado 23 de Outubro de 2017 às 18:15
Publicado 23 de Outubro de 2017 às 11:40
Cont.: A história dos heróis secretos do Xbox: O time da retrocompatibiidade
Mas isso não resolveu outro problema: testar as fases mais difíceis do game com arquivos de salvamento que não funcionavam em uma nova plataforma. Então, eles tiveram de jogar eles mesmos para obter todos os dados necessários. "Não tínhamos como usar um save da versão original", lembra Morrison. "Kevin tornou-se nossa máquina de save games". La Chapelle acrescenta, com uma risada: "Você não iria gostar de jogar Castle Crashers a dinheiro comigo".
Depois que esse problema foi resolvido com um sistema especial que permitia a transferência de arquivos de save de um perfil de desenvolvedor para outro, a equipe se comprometeu a anunciar a novidade na E3 e ao lançamento no terceiro trimestre de 2015. O primeiro lote de games foi realizado, mas eles deveriam entregar uma centena deles ao final daquele ano. A questão é que, um pouco antes da E3, diversos games simplesmente não funcionavam bem. "Houve um jogo que funcionou a um quadro por segundo no começo", recorda La Chapelle. "E ainda assim o tester conseguiu chegar no final".
La Chapelle, Morrison e a equipe de compatibilidade de 25 pessoas quebraram a cabeça sobre o problema, até que Morrison teve uma epifania. Ele pensava: O que seria tão diferente sobre como o próprio Xbox 360 rodava, comparando ao emulador Fusion do Xbox One? A resposta: o "agendador" (scheduler) -- que é basicamente o controle interno da CPU, que informa aos dados aonde ir e a qual velocidade -- operava a uma certa velocidade no X360, mas a Fusion estava rodando na especificação padrão do agendador do Xbox One. Quando Morrison revelou aos parceiros sua conclusão durante a E3, La Chapelle disse a ele: "Bem, eu já sei o que você vai fazer hoje quando chegar em casa!"
Um pôster, assinado pelo time de retrocompatibilidade, comemorando os 100 games lançados no primeiro ano do programa.
A modificação no agendador funcionou -- melhor até do que eles poderiam esperar A equipe se reuniu em torno de Morrison para deixar tudo pronto a tempo, e eles conseguiram lançar 104 jogos retrocompatíveis nesse primeiro ano.
O game Halo Reach foi inicialmente problemático no Xbox One. "Nós não escondemos o fato de que estávamos errados com Halo Reach", diz Stillwell. "O método que nós usávamos não era o método que funcionaria no futuro". A equipe de compatibilidade ficou devastada. "Nosso objetivo sempre foi alcançar a equivalência com o Xbox 360", diz La Chapelle. "Halo Reach foi o primeiro jogo em que não conseguimos cumprir essa promessa. Foi aí que aprendemos que a subjetividade de nossos testes não era boa o suficiente. Então, construímos um conjunto objetivo de ferramentas."
Halo Reach acabou funcionando, graças, em parte, à uma ferramenta criada pelo engenheiro de software Brian Spanton, a Xbox Compatibility Performance Analyzer (XCPA). "É difícil descobrir o que realmente é um bug", diz ele, explicando que alguns erros já se encontravam no jogo original, e alguns novos foram criados pelo emulador. Spanton me mostrou a ferramenta, que exibe duas janelas executando um jogo (Gears of War 3) e um gráfico que mede a temporização de frames -- no caso, quanto mais baixo, melhor. Então ele me mostrou uma cena do game em que o fato de o tempo dos quadros ser muito alto resultava em um bug de difícil descoberta, que a equipe provavelmente não teria conseguido pegar antes.
Avançando para o futuro olhando para o passado
Com centenas de jogos Xbox 360 já recriados e o processo de trabalho funcionado -- a equipe criou um documento para os desenvolvedores do Xbox sobre como escrever melhor um código que resistirá ao teste do tempo na retrocompatibilidade, e é o que também está alavancando o Xbox One X para tornar alguns jogos de 360 ​ainda melhores na nova máquina --, o time estava pronto para um novo desafio: fazer os jogos feitos para o primeiro console Xbox funcionarem no Xbox One. O projeto recebeu o nome interno de "Fission", e foi o engenheiro de software Spencer Perreault que alertou para a chance de isso acontecer, em novembro de 2016.
"Um dia [Perreault] veio até mim e disse:" Acho que consigo fazer isso funcionar ", diz La Chapelle. "[Então] nós deixamos ele solto. Foi o trabalho de amor dele que proporcionou isso à comunidade ".
Perreault começou na Microsoft em 2009, assim que saiu da faculdade, trabalhando primeiro na primeira equipe do Kinect original e depois na equipe do Kinect 2.0. Quando surgiu a oportunidade de se juntar à equipe de compatibilidade em 2014, ele agarrou a chance. "Há muito tempo eu tenho um interesse pessoal em emulação", diz ele.
Ele primeiro pensou em tentar imitar o emulador Fusion do Xbox 360, assumindo que não daria certo. Foi o que aconteceu, e foi "bastante previsível", acrescenta Perreault. O Xbox original gerencia sua memória em incrementos de 4 kilobytes, enquanto o Xbox One faz 64k de cada vez. Isso provou ser um desafio que precisava ser resolvido, assim como o fato de que o primeiro Xbox usava uma CPU de 32 bits, e o One, de 64-bit. Perreault diz que acordava todas as manhãs pensando em como faria essa retrocompatibilidade funcionar.
Spencer Perreault, talvez o maior responsável por trazer os games do primeiro Xbox ao Xbox One.
A Dolphin, uma ferramenta de desenvolvedor que estava em cada debug kit do primeiro Xbox, foi a primeira coisa que La Chapelle conseguiu executar. Assim, ele levou ao escritório alguns jogos de Xbox de sua coleção pessoal. Sua "taxa de sucesso" -- porcentagem de jogos que realmente funcionou -- foi de 10% no início. Alguns funcionavam, enquanto outros tinham graves problemas gráficos. Ele me mostrou um vídeo de uma tentativa inicial com Forza Horizon. Os elementos do tela até apareciam, mas o jogo em si mostrava apenas uma tela preta.
Após um mês ou dois de experiências, a taxa de sucesso subiu para 90%. "Testar um monte de jogos diferentes foi útil para fazer as coisas darem certo", diz Perreault. De fato, 13 jogos do Xbox original poderão ser jogados no Xbox One a partir desta terça-feira, 24 de outubro, incluindo clássicos como Ninja Gaiden Black e Star Wars: Knights of the Old Republic. E melhor ainda, eles não são apenas compatíveis. Eles estão melhores. Todos os games rodam em 1080p com taxas de framerates mais alta e/ou mais suaves. Joguei KOTOR lado a lado com a versão original (sim, rodando em um Xbox das antigas), e a diferença era óbvia. Ninja Gaiden Black parecia quase um jogo moderno graças ao seu suporte nativo a widescreen. E também foi possível misturar e combinar diferentes consoles Xbox em uma partida multiplayer de Crimson Skies: High Road to Revenge: eu joguei em um Xbox clássico contra uma pessoa em um Xbox 360, outro em um Xbox One S e um quarto jogador em um Xbox One X.
"Estes recursos sempre estiveram lá, mas a tecnologia da época nos impedia", diz o engenheiro principal Eric Heutchy.
Infelizmente, questões legais deverão limitar o número total de jogos primeiro Xbox que poderemos jogar no Xbox One, já que algumas das publishers desses jogos não existem mais, enquanto outros títulos perderam seus contratos (que foram feitos em papel) e outros possuem músicas cujas licenças podem ter expirado. A equipe de compatibilidade teve o cuidado de não prometer, mas provavelmente, com o tempo, ela será capaz de se superar.
E o que os fãs podem fazer para que mais jogos sejam adicionados à lista? "Apoie o programa", diz o diretor de marketing Albert Penello, dando a entender que as publishers irão analisar esses dados. "Se os fãs dessas franquias aparecerem, isso vai ajudar a destravar alguns desses desafios [legais]". Stillwell concorda. "Os fãs têm a chave disso nas mãos. Nós estamos fazendo o trabalho. Em alguns casos, existem motivos comerciais legítimos para que algo não dê certo. Mas quanto mais os fãs transmitirem essa mensagem [às publishers], mais nós poderemos fazer. Dito isto, não podemos reclamar. A gente tem tido um grande apoio."