É verdade que quase todos os aspectos dos jogos melhoraram desde os dias do cartucho. Os gráficos são melhores, os jogos são mais longos e o multiplayer vai além de dois ou quatro controles e tela dividida em uma TV CRT. Um aspecto dos jogos que é muito pior, no entanto, são os tempos de carregamento e, apesar de atingir suamaior base de jogadores no final do ano passado, Grand Theft Auto Online é um dos piores infratores em relação aos tempos de carregamento.
Nos dias de hoje, é digno de notícia quando um jogo tem tempos de carregamento rápidos. Aedição para PlayStation 5 deSpider-Man: Miles Moralescarrega muito rápidoe muitos artigos foram escritos sobre o assunto de um jogo triplo A, pela primeira vez, não tirando minutos da vida do jogador entre os níveis. Como a versão onlinedo GTAestá notoriamente do outro lado dessa moeda, um jogador e programador partiu para descobrir o que exatamente estava demorando tanto.
A pessoa em questão atende por simspelaaja no Reddit, e depois de esperar que o desenvolvedor doGTA OnlineRockstar corrigisse o problema por anos, decidiu que se eles queriam que isso fosse feito, eles teriam que fazer isso sozinhos. Depois de revisar como o jogo estava carregando em sua máquina, simspelaaja sabia que os longos tempos de carregamento tinham que ser culpa da codificação ruim. “GTA decide maximizar um único núcleo na minha máquina por quatro minutos e não fazer mais nada”, eles escrevem, acrescentando: “O que, é mineração de criptografia ou algo assim? Sinto cheiro de código. Código muito ruim”.
Indo mais fundo, eles descobriram que o problema se origina de um catálogo formatado em JSON de míseros 10 MB que lista os itens do jogo disponíveis para compra noGTA Online. Emborao novo bote armado doGTA Onlineseja legal, simplesmente listar que está disponível no jogo não deve causar tempos de carregamento superiores a seis minutos. Bem, acontece que o problema é duplo.
Em primeiro lugar, devido ao estranho protocolo inerente a uma função C++ chamada sscanf, a cada poucos bytes de dados carregados, cada caractere na string de 10 MB é lido novamente, e novamente, e novamente. O segundo problema surge quando o sistema verifica todas as instâncias possíveis de um item, de uma lista de cerca de 63 mil entradas, o que, de forma simples, não é um processo bem otimizado. Com isso em mente, não é de admirar que oGTA Onlinedemore mais para carregar do que aslutasmais longas deDragonball Z.
Não contente em simplesmente provar que o problema existe, simspelaaja escreveu um arquivo .dll e corrigiu o problema de codificação JSON e agora tem tudo funcionando como manteiga em seu sistema pessoal. Na verdade, com os dois problemas corrigidos, eles reduziram o tempo de carregamento de seis minutos para um minuto e cinquenta segundos. Claro, a Rockstar está ocupada trabalhando nos lançamentos deGTA 5para PS5 e Xbox Series X, mas simspelaaja afirma que não deve demorar mais de um dia para um único desenvolvedor dar os mesmos passos que eles fizeram para que todos possam carregar muito oGTA Online, muito mais rapido.
GTA Onlinejá está disponível para PC, PS4 e Xbox One, com versões para PS5 e Xbox Series X em desenvolvimento.