Os tempos de carregamento notoriamente longos do GTA Online eram piada entre os jogadores: mais de seis minutos encarando uma tela de carregamento antes de entrar em uma partida. Em março de 2021, um programador conhecido como t0st se cansou disso, desmontou o jogo e criou sua própria correção.
O culpado era banal: a forma como os desenvolvedores do GTA Online escolheram analisar e depois ordenar os dados de um grande arquivo JSON de vários megabytes. A correção de t0st produziu uma redução de aproximadamente 70% nos tempos de carregamento segundo seus próprios testes informais, e seu relato observou que o problema central de análise e armazenamento "não deveria levar mais de um dia para um único desenvolvedor resolver".
Em duas semanas, a Rockstar entrou em contato com t0st, reconheceu que ele havia revelado uma melhoria genuína nos tempos de carregamento da versão para PC, pagou-lhe US$ 10.000 no âmbito de seu programa de recompensas por bugs e se comprometeu a implementar mudanças em uma atualização de título futura.
Seis minutos de carregamento se resumiram a uma única análise e ordenação limitada pela CPU de um arquivo JSON de vários megabytes — uma correção de um dia escondida à vista de todos por anos.
O código de inicialização que roda a cada lançamento fica escondido à vista de todos — ninguém faz profiling daquilo que sempre foi lento.
Uma análise e ordenação ineficiente sobre um arquivo de vários megabytes se multiplica em minutos de espera do jogador a cada lançamento.
Um outsider com um desmontador e sem suposições encontrou em dias o que anos de desenvolvimento rotineiro nunca revelaram.
A coisa mais lenta do seu produto pode ser uma estrutura de dados que ninguém nunca fez profiling — e às vezes só um cliente com um desmontador vai algum dia olhar.
A declaração da Rockstar ao PC Gamer confirmou que t0st "de fato revelou um aspecto do código do jogo relacionado aos tempos de carregamento" que poderia ser melhorado, e disse que as mudanças seriam lançadas em uma atualização de título futura, embora nenhum prazo tenha sido dado. O episódio se tornou a citação padrão tanto para profiling pela comunidade quanto para pagamentos de recompensas por bugs nos jogos.
CONFIRA AS EVIDÊNCIAS
As fontes
- Developers to update GTA Online to address poor load times after community fix Ars Technica · arstechnica.com ·