The Sims 4 tinha tudo para ser Online!

Um modder conhecido já nosso e com certeza vocês já devem conhecer ele também, o TwistedMexi, é um novo membro do SimsVIP e trouxe uma matéria exclusiva sobre o The Sims Olympus, uma versão do The Sims 4, mas só que com um Modo Online, temos mais informações clicando aqui. A matéria a seguir foi traduzida pelos nossos companheiros da O Sim BR.

Com o lançamento do The Sims Mobile, que é um The Sims para celular com funcionalidades multiplayer, surgiram algumas menções ao The Sims 4 Olympus. Devido a isso, muitos jogadores começaram a pensar que o The Sims 4 Olympus sempre foi destinado a ser o The Sims Mobile. Mas eu estou aqui para dizer que, na verdade, o The Sims 4 para computador (o jogo que vocês jogam hoje) é absolutamente o projeto Olympus, ou mais especificamente, a The Sims 4 UI (interface de usuário) é o Olympus. Abaixo está uma imagem de um dos arquivos UI descompilados onde você pode ver que a palavra Olympus é refe renciada. Asseguro a vocês que o termo está atrelado a todos os componentes da interface de usuário, e se você precisar de mais provas, localizei o termo Olympus dentro do código fonte principal do jogo, algo que era inacessível até agora. Nele você pode ver que Olympus está ligado diretamente ao núcleo do jogo, e com isso, vou vou lembrar aos que duvidam de que em um dos vídeos conceitos do Olympus realmente tinha o logo original do The Sims 4.

Resumindo, The Sims Mobile não é o The Sims 4 Olympus. Olympus foi um codinome para o componente de interface de usuário do The Sims 4 para PC. Eu sei que é comum as pessoas pensarem no Olympus como a funcionalidade online do jogo, mas na realidade uma coisa não tem nada a ver com a outra. Na verdade, os jogadores passaram a fazer conexão entre The Sims Olympus e funcionalidades online devido a alguns conceitos mostrados em vídeos que vazaram. O The Sims Mobile parece pegar emprestado de forma pesada muitos componentes do The Sims 4, embora tenham sofrido diversas reformulações. O que não foi copiado é o motor que vimos nos vídeos conceituais de 2013. Não é viável que um mecanismo de PC seja convertido diretamente para plataformas como Android e iOS. Ele é muito restrito a sua própria plataforma. (Com exceção de ferramentas de desenvolvimento multi-plataforma como Unity). Eu descompilei o arquivo APK do The Sims Mobile e o mecanismo utilizado no jogo vem do stúdio Firemonkey da EA, que é o estúdio que desenvolve jogos para celulares (e o mesmo que desenvolve o The Sims FreePlay). Trata-se de um jogo que provavelmente foi desenvolvido utilizando alguns conceitos ativos não utilizados a partir do projeto Olympus.

The Sims 4 tinha Modo Online?

Isso é um assunto que tem ficado no ar durante anos sem nenhuma resposta, e hoje, ela tem. The Sims 4 era um jogo multiplayer. Não há nenhuma dúvida, boato ou teoria da conspiração por trás disso desta vez. Algumas informações vem diretamente do código executável do The Sims 4.
Referências a Convites Multiplayer e Interações Multiplayer em C++ e motor Python; Também há uma opção de comando chamada (simulação apenas off-line), implicando que há uma simulação online.
Referências C++ para configurações de junção multiplayer.
Eu vou continuar falando sobre o método de programação C++ logo abaixo, mas primeiro eu quero fornecer algumas informações sobre o estado atual em que a programação do The Sims 4 se encontra. Quando o jogo ainda estava sendo desenvolvido, a EA estava lutando contra aquele grande problema de conectividade relacionado ao novo SimCity lançado em 2013. Partindo do ponto em que a EA acreditava na estratégia de jogos online para seus produtos, faz sentido que o The Sims 4 tenha sido feito originalmente como uma plataforma multiplayer. E existem algumas razões pelas quais eu, pessoalmente, acredito que o jogo foi concebido para ser online.
  • A maior razão disso é a forma como seu código é estruturado hoje. Se você não sabe, o The Sims 4 é dividido em dois componentes principais. Você tem a estruturá “modding-friendly” (modificações fáceis – script mod) por conta do código Python do jogo, e o código fechado (off) C++. essas duas linguagens de código, Python e C++ não se comunicam entre si, em vez disso, ambas são direcionadas para algo chamado Protocolo de Buffers, ou “Protobuf”. O protobuf é uma ótima tecnologia, mas normalmente é utilizada apenas para a troca de dados em redes. Ao meu ver, parece que toda a razão pela qual recebemos o código python aberto se deve ao fato de que os programadores precisavam substituir parte do cliente do jogo rapidamente quando eles decidiram torná-lo offline. A parte C ++ é provavelmente parte do servidor original do jogo.
  • A exclusão da ferramenta Criar-um-Estilo pode ter sido resultado disso, uma vez que dados personalizados de objetos resultariam em muitas requisições de netcode a fim de exibir tudo corretamente para vários jogadores.
  • O mesmo pode ser dito sobre a modificação de terreno. Ao manter o terreno plano, o jogo remove o requisito de sincronizar o modelo de terreno entre vários jogadores diferentes (isso não vale para o jogo que temos hoje).
  • O sistema de lotes menores e fechados também é propício para a funcionalidade multiplayer. Este é o mesmo tipo de limitação que vimos no SimCity e é provável que seja por isso que temos lotes separados por telas de carregamento hoje em dia, na versão atual do jogo. Os bairros agiriam como um espaço social com cerca de 4 lotes para 4 jogadores, o que nos leva a próxima imagem.

(ATENÇÃO: dados de entrada)

Usuários 1 a 4 são mencionados aqui, isso quer dizer que haveria um limite de jogadores para qualquer caso particular. SendServerFPS e SendClock também são de interesse particular para o jogo ser sincronizado. Você também pode ver o “SendChatMessade” em português “mandar mensagem para chat”.

Numerosas referências à funcionalidade de chat, como vimos no vídeo de conceito Olympus. “Generalchat” tamém está presente, e era um conceito de janela de bate papo.

KloginStatusClientMustPatchOnline” – isso parece ser a condição em que os jogadores devem baixar atualizações antes de se conectar ao jogo. Uma situação comum em jogos multiplayer.
Também vale notar que  kLoginStatusUserIsBanned – envolve questões de banimentos? O servidor do jogo? Não se trata da galeria, como você pode ver, pois há uma bandeira separa para isso. –  “kLoginStatusUserGalleryBanned”.

Vale ressaltar isso: SIM_SERVER_RESPONSE_FAILED, SG_CONNECTION_STATUS_LOGINRESPONSE e SIM_REL_HANDSHAKE_UPDATE. Handchake é uma terminologia comum para rede. Um handshake é uma espécie de confirmação de novo status, seja do sim do jogador 1 em movimento ou o sim do jogador 2, como vimos no conceito de vídeo do Olympus.

Alguns registros extras que podem ou não estar relacionados à funcionalidade multiplayer. FRIENDSIMHOME, ConnectedNeighborhoodLot e CASConnectionTimeoutMS merecem destaque. O último implica que existe um limite de tempo em milissegundos para o Criar-um-Sim. Isso é algo que você normalmente veria se uma conexão de servidor fosse necessária, o que sabemos que hoje não existe no The Sims 4 atual pois o mesmo é offline.
Então, onde todas essas informações nos deixaram? Bom, você pode ver por si mesmo. Você está jogando o The Sims 4 Olympus (ou um descentente muito próximo dele) toda vez que você abre o seu The Sims 4. O The Sims 4 foi feito para ser um jogo online, mas acabou não sendo. Talvez os modders devem ser gratos porque isso possibilitou um grau de flexibilidade maior para fazer muitas modificações no jogo, ou talvez devemos fomos amaldiçõados por conta das limitações que toda a estrutura do jogo resultou para a versão final.
Agradecimentos mais uma vez ao O Sim BR e ao SimsVIP
pedrinhosr
Te faço rir (as vezes) no twitter do Alala Sims. Jogador "quase" profissional de The Sims e muito fã de super-heróis. Filmes/séries de ficção científica e animação são meu ponto fraco. Minha maturidade não condiz muito com o que parece.