Qual é a linguagem mais popular na codificação de servidores de jogos?
Total depende da sua definição de Servidor de Jogos.
Se ele'é um jogo multiplayer em tempo real como Call of Duty, League of Legends, etc... então cada cliente irá manter uma conexão de estado pesada e de alta frequência com um único servidor, e provavelmente irá se comunicar através de uma interface de socket raw com um protocolo binário terse. Neste domínio it's provavelmente uma linguagem de nível de sistema como C ou C++ seria 'mais popular', embora não necessariamente mais apropriado.
If it's um jogo assíncrono multiplayer ou um jogo onde os 'servidores' estão realmente apenas armazenando estado de metagame (e.g. para leaderboards, guild play, etc...) como Clash of Clans, Words With Friends, etc... então cada cliente irá se comunicar através de um protocolo stateless de baixa frequência como HTTP ou Thrift para um cluster de servidores de aplicações. Neste caso, que é muito mais próximo dos servidores tradicionais de aplicações web, é mais provável que seja utilizada uma linguagem de nível mais elevado concebida para a manutenção e portabilidade. Novamente o 'mais popular' neste domínio pode ser Java ou PHP, embora eles'não são necessariamente os mais apropriados.
Um outro fator motivador na escolha da linguagem pode ser o cliente e o servidor compartilhando alguma parte da lógica do jogo. Isto é muito comum no domínio síncrono em tempo real onde a maioria das arquiteturas evoluiu a partir da Arquitetura Unreal de Tim Sweeney's e assim usam um modelo autoritário de servidor onde tanto o servidor quanto o cliente executam simultaneamente a lógica do jogo (C++). Outro exemplo disso pode ser um jogo Android compartilhando alguma lógica de jogo central entre o cliente e o servidor, ambos escritos em Java.
Embora C++, Java e PHP sejam provavelmente os mais populares, a maioria dos bons desenvolvedores seriam igualmente capazes de construir tais sistemas em linguagens mais modernas, como Rust ou Go para opções de nível de sistema, ou Scala, Erlang ou C# para as de nível superior.
Artigos semelhantes
- Qual é a diferença entre linguagem de máquina, linguagem de montagem e linguagem de alto nível em computadores?
- Qual é a linguagem de codificação mais fácil para fazer um jogo 3D?
- Quão difícil é a linguagem de montagem e é muito mais difícil do que a linguagem C?
- A linguagem da assembleia é mais poderosa do que uma linguagem de alto nível? Porquê?