Este projeto inclui um servidor de jogo único threaded escrito em C++. O jogo é dividido em 3 componentes principais, a rede, o mundo do jogo e um middleware de comunicação.
Ele usa um protocolo de rede UDP personalizado onde você pode adicionar sinalizadores para lidar com pacotes importantes, compensar latências, recuperar ou atualizar dados perdidos, reenviar, etc...
Os jogadores poderão fazer login com sua conta, criar e selecionar jogos no lobby, lutar contra criaturas, interagir com itens, receber pontuações, experiência, atualizar seu status, só para citar alguns.
Um cliente Unity personalizado escrito em C# foi usado para interagir com o servidor. A comunicação de rede é seguida por pacotes de rede serializados. O pacote é constituído por um cabeçalho incluindo ID de usuário do computador, identificador exclusivo e uma contagem de números, seguido por um único ou vários cabeçalhos de mensagem e seus respectivos dados serializados.
Além da biblioteca padrão C++, algumas bibliotecas boost e o conector mysql, todo o servidor é escrito do zero. Ele gerencia sua própria memória por motivos de desempenho.
Requer conector boots::asio e mysql.
Um cliente Unity personalizado escrito em C# foi usado para interagir com o servidor.
Bruno Miguel Bibliotecas Boost Biblioteca Padrão MySQL Multiplater Game Programming por Joshua Glazer e Sanjar Madhav Game Programming Patterns por Robert Nystrom
MIT
Foto tirada no Heartland Game Contest onde foi premiado em 2º lugar pelo Júri e 2º lugar por escolha do povo.
Criando uma conta.
Salão.
No jogo.