Alfa Técnico para PC - Blog dos Desenvolvedores
Olá a todos, meu nome é Ian Norris e eu lidero a equipe de engenharia do Windows 10 de Sea of Thieves. O Ted já compartilhou alguns detalhes sobre o que vem por aí na atualização em vídeo da semana passada, mas eu queria compartilhar alguns aspectos mais técnicos com aqueles da comunidade que ligam para isso.
A equipe que eu lidero é focada puramente na versão do jogo para Windows 10. Isso inclui recursos como configurações de vídeo, layouts de teclado personalizáveis, resoluções para panes específicas de PC e otimizações para todos os seus queridos PCs! Todo o esforço da equipe está concentrado em fazer a melhor versão de jogo possível para PC.
Como fizemos nossas versões para Xbox One e PC em paralelo, qualquer trabalho feito na versão para Xbox também beneficia a versão para PC. Todos os recursos que vêm para o Xbox também virão para o PC ao mesmo tempo, pois o conteúdo do jogo é feito em completa paridade para ambas as plataformas (e logo para Scorpio!).
Então você deve estar se perguntando: se as versões de PC e Xbox são desenvolvidas ao mesmo tempo, por que só agora estamos deixando os jogadores terem acesso à versão de PC? Na verdade há algumas razões para isso:
Estabilidade
Desenvolver jogos estáveis é difícil. Desenvolver jogos estáveis para PC é ainda mais difícil. Com tantas variáveis diferentes, desenvolver jogos que possam aproveitar ao máximo os processadores multinúcleo requer muito esforço.
Em um estúdio como a Rare, para tornar o desenvolvimento de jogos mais fácil nós temos um ambiente "homogêneo". Isso significa que a maior parte dos desenvolvedores possui a mesma configuração "monstra" de PC, com a mesma CPU, GPU e versão do Windows. Isso é para ajudar a reduzir situações em que Bob, o artista, encontra um problema que o impede de trabalhar, mas que Jenny, a engenheira, não consegue reproduzir em sua própria máquina. (Jenny e Bob podem ou não ser nomes fictícios usados para proteger suas identidades.)
Para ajudar a encontrar problemas de desempenho, a equipe do PC possui um pouco mais de hardware que os outros no estúdio. Temos nossos próprios PCs principais de desenvolvedores, que são iguais aos de todo mundo, mas também temos PCs adicionais para usar em testes, como hardwares e laptops mais antigos. Nós também requisitamos máquinas projetadas para usar configurações similares às mais comuns, e as usamos para testes manuais regulares em nosso próprio laboratório de compatibilidade. Além disso, fizemos um ótimo uso dos laboratórios da SHIELD dentro da Microsoft, sobre os quais o Ted também já falou anteriormente. Usando esse laboratório, nós descobrimos e consertamos diversas falhas que teriam arruinado o dia de nossos mais importantes e dedicados jogadores.
Um pequeno número de usuários no Alfa Técnico relatou problemas ao simplesmente iniciar o jogo. Durante as próximas semanas, estaremos investigando esse problema como nossa prioridade, de forma que todos os participantes do Alfa Técnico possam jogar o jogo conosco!
Desempenho
Nada irrita mais a mim – e ao restante da comunidade do PC – do que um jogo que não está bem otimizado. As pessoas querem sentir que seu hardware está sendo plenamente aproveitado. Esperamos que o jogo tenha a melhor aparência possível e esperamos que ele tenha taxas de quadros sólidas ao mesmo tempo.
Nós não podemos prometer uma experiência completamente fluida na rodada inicial de Alfas Técnicos para PC, pois ainda há muito trabalho a ser feito, mas é exatamente por isso que queremos que você dê a sua contribuição sobre o jogo agora. Saber quando chegamos ao ponto de ser "bons o bastante" é algo complexo, especialmente quando cada melhoria de desempenho que fazemos diminui potencialmente as especificações mínimas, permitindo que mais um grande número de pessoas desfrute do jogo.
Essa é, em grande parte, a razão pela qual ainda não divulgamos nenhuma informação sobre nossas especificações mínimas – simplesmente não sabemos! Achávamos que tínhamos baixado para um mínimo razoável, mas ao rodar um Alfa Técnico com nosso recurso de detecção automática ativado pudemos verificar o quão perto estamos disso e se podemos baixar ainda mais as especificações. Contudo, com mais ajustes por vir, é possível descobrir que dá para baixá-las ainda mais, e o que é considerado hoje como especificação mínima pode ser a especificação média de amanhã. Nosso mantra é simplesmente: "o quanto mais nós podemos baixá-las"?!
Acertar nosso código de detecção automática é muito importante. A maioria dos jogadores de PC não vai nem entrar na tela de configurações de vídeo, então precisamos tomar a decisão correta automaticamente por essas pessoas.
Inicialmente não vamos revelar aos jogadores em qual faixa de especificações os colocamos. Por dois motivos: a maioria não vai se importar com quais configurações escolhemos se o jogo tiver a melhor aparência possível; e aqueles que se importam não gostam de saber que os consideramos como especificações mínimas! Assim que estivermos satisfeitos com o código, os jogadores poderão ver suas configurações detectadas automaticamente na tela de configurações de vídeo quando a habilitarmos em uma futura atualização.
Então, como sabemos se funcionou? Com telemetria! Telemetria é nossa forma de mensurar como os jogadores estão jogando. Ela também reporta coisas como taxas de quadros e as configurações de vídeo sendo usadas para jogar. Combinando esses dados, podemos ver se os jogadores estão conseguindo as taxas que esperamos que eles obtenham com o hardware que eles têm.
Nós liberamos o Alfa Técnico 1 com um problema de desempenho conhecido, mas uma causa desconhecida na época. Isso não afetou nossa habilidade de utilizar os dados da detecção automática que coletamos, pois éramos capazes de identificar, no geral, quando o problema ocorria, mas pensamos que seu feedback pudesse nos ajudar a mapeá-lo também!
Essa é uma rara oportunidade de mostrar a vocês uma imagem dos bastidores do conserto de um problema real de desempenho!
O primeiro passo consiste em nossa equipe de testes encontrar o problema. Isso geralmente resulta em uma falha chegando até o líder da equipe relevante, neste caso, eu. Este é o relatório de falhas real:
Obviamente, problemas de desempenho são tratados com muita seriedade, então essa falha foi classificada como tendo severidade "crítica". O pessoal dos Testes vai continuar experimentando com esse problema para tentar encontrar mais informações sobre ele e para ajudar o pessoal da Engenharia a corrigi-lo. Nesse caso, encontramos uma máquina específica que conseguiu "reproduzir" muito bem o problema, com especificações bastante comuns!
Ao saber disso, pedi para a equipe de testes reproduzir o problema na minha presença. Então usei uma ferramenta chamada "xperf" para coletar mais informações sobre ele. Infelizmente, ela gera uma quantidade monumental de dados, então pode ser bem difícil e demorado para identificar o problema neles.
Usamos algumas ferramentas diferentes para encontrar falhas no desempenho dependendo da pessoa ou do problema. Minha escolha para essa falha foi a Media Experience Analyzer. É assim que fica minha tela ao usar essa ferramenta (e outras também):
Como resultado dessa análise (depois de várias semanas) nós identificamos, na verdade, 3 problemas diferentes que estavam contribuindo para longas interrupções. Nosso próximo passo é testar para ver se as correções funcionam em todos os computadores, se não quebram a versão do jogo para Xbox e se não causam nenhum novo problema! Se a equipe de testes concordar, então poderemos "encerrar" a falha. O passo final, é claro, é deixar que os participantes do Alfa Técnico também experimentem jogar novamente.
Recursos para PC
Não deve ser nenhuma surpresa o fato de que ter que passar por todo o trabalho descrito acima é uma exigência e tanto, mas estejam seguros de que essas correções e mais recursos específicos para PC vêm por aí, e que estamos trabalhando duro em nosso segundo Alfa Técnico para Windows 10 agora mesmo!
Uma coisa que nos pegou de surpresa foi a exigência por um recurso de "apertar para conversar". Era algo que havíamos planejado para mais adiante, pois tínhamos outros recursos para adicionar antes dele. A grande quantidade de pessoas pedindo por ele nos fóruns, contudo, fez com que o adiantássemos no cronograma – então vamos procurar adicioná-lo antes do nosso próximo Alfa Técnico.
Sabemos que nosso público de PC está aguardando ansiosamente para ver como será nossa interface de configurações de vídeo. É preciso muito trabalho para criar interfaces de usuário, e queremos garantir que acertaremos a nossa de primeira. Criar interfaces facilmente navegáveis para jogos como Sea of Thieves não é uma tarefa fácil. Observamos uma série de telas de configurações de outros jogos e as combinamos naquilo que julgamos ser a melhor tela de configurações que vocês já viram!
Estamos muito ansiosos para deixar vocês brincarem com esses novos brinquedos, especialmente porque decidimos que este será o momento certo para convidar mais jogadores para o Alfa Técnico de Windows 10...
Obrigado pela leitura!
Ian, engenheiro de software sênior
