Bem, este artigo será levemente mais técnico do que o que temos atualmente no Hu3Br, mas é algo que me incomoda profundamente atualmente em diversos jogos. Separação de clientes por servidores é algo que simplesmente não agrada.
Vamos partir da idéia original pela a qual eu decidi criar este artigo, hoje à tarde eu me lembrei que deveria baixar League of Legends (apesar de não ser o maior fã hoje em dia) pois é sempre bom dar uma olhada em novos heróis disponíveis. Foi daí que me lembrei porque havia parado de jogar League, eu perdi a data de migração para o servidor nacional.
Na verdade… não é bem um servidor nacional, o cliente do jogo simplesmente está em português e a cada 10 mil anos, você cai numa partida em um servidor brasileiro. Com isto, eu fiquei preso com a minha conta no servidor US até a Riot ser boazinha e decidir que vão fazer outra migração.
Agora veja bem, nós temos Dota 2 com mais de 300 mil jogadores diários e servidores separados DENTRO do próprio cliente, independente se eu estiver no Camboja eu posso jogar em servidores na faixa de gaza se eu quiser.
Sabe, eu entendo quando você limita os usuários devido a disparidade de preços, por exemplo a própria Valve bane qualquer pessoa que comprar em loja que não seja de sua região com o VPN. A Própria PSN ou Xbox Live requer contas diferentes para acessar as suas respectivas stores. Eu fico +- ok com isso.
Mas porque diabos você não simplesmente cria um cliente unificado com CDN (Content Delivery Network) espalhadas pelo mundo inteiro, permite você jogar com quem quiser e vai pra cama dormir tranquilo? Creio eu que isto seja utilizado para o lançamento de atualizações, mas o jogo em si fica restrito aos servidores centrais da empresa, o que faz com que tenha menos sentido esta restrição.
Ah mas se eles burlarem para comprar de região com preço mais barato? Restrição por IP e ban para quem realizar isso.
Não afeta o rendimento de seu produto, sim permite com que jogadores do mundo todo joguem com quem bem entenderem e todo mundo fica feliz! Sério, é uma solução simples.
Outro exemplo que posso citar, Guild Wars 2. O cliente dele é restrito por região, ou seja, se você comprar a versão North America, você só pode logar de um IP norte-americano (ou qualquer região que caia nesta categoria, no caso, o Brasil). Apesar desta restrição que ao meu ver, vem de motivos mercadológicos, você pode criar um personagem em servidores europeus e mesmo assim jogar numa boa.
Starcraft II teve o dom de ser campeão de falhas neste quesito. Com uma versão lançada por R$50,00, ele não só possuía tempo de jogo limitado como permitia somente que jogadores brasileiros jogassem em servidores nacionais. Novamente não havia alguma diferença na localização dos servidores, os mesmos ficavam nos Estados Unidos.
Foi somente depois de muitas atualizações que a Blizzard liberou o global play para South America e North America. Em Diablo III isto não aconteceu, o Global Play já estava presente deste o lançamento.
Enfim, eu creio que separação de clientes por região é algo que se resume muito mais a preguiça de implementar um sistema de distribuição realmente decente do que alguma dificuldade técnica.
Use datacenters que permitam isso, parem de segregar os seus consumidores por regiões com desculpas como “Assim você pode jogar com pessoas da sua região” ou qualquer outra coisa, estamos em um mundo que está mais conectado do que nunca, eu posso acordar e conversar com alguém na Inglaterra, mas se eu quiser jogar com ela isso é impossível.
Vai entender.