Este proyecto incluye un servidor de juegos de un solo subproceso escrito en C++. El juego se divide en 3 componentes principales, la red, el mundo del juego y un middleware de comunicación.
Utiliza un protocolo de red UDP personalizado donde puede agregar indicadores para manejar paquetes importantes, compensar latencias, recuperar o actualizar datos perdidos, reenviar, etc.
Los jugadores podrán iniciar sesión con su cuenta, crear y seleccionar juegos desde el lobby, luchar contra criaturas, interactuar con elementos, recibir puntuaciones, experimentar, mejorar su estado, solo por mencionar algunos.
Se utilizó un cliente Unity personalizado escrito en C# para interactuar con el servidor. La comunicación de red es seguida por paquetes de red serializados. El paquete consta de un encabezado que incluye la identificación del usuario de la computadora, un identificador único y un recuento de números, seguido de uno o varios encabezados de mensaje y sus respectivos datos serializados.
Aparte de la biblioteca estándar de C++, algunas bibliotecas boost y el conector mysql, todo el servidor está escrito desde cero. Gestiona su propia memoria por motivos de rendimiento.
Requiere boots::asio y conector mysql.
Se utilizó un cliente Unity personalizado escrito en C# para interactuar con el servidor.
Bruno Miguel Bibliotecas Boost Biblioteca estándar MySQL Programación de juegos multijugador por Joshua Glazer y Sanjar Madhav Patrones de programación de juegos por Robert Nystrom
MIT
Fotografía tomada en el Concurso de Juegos Heartland donde obtuvo el 2do lugar por parte del Jurado, y el 2do lugar por elección del pueblo.
Creando una cuenta.
Vestíbulo.
Dentro del juego.