Этот проект включает в себя однопоточный игровой сервер, написанный на C++. Игра разделена на три основных компонента: сеть, игровой мир и коммуникационное промежуточное программное обеспечение.
Он использует настроенный сетевой протокол UDP, в который вы можете добавлять флаги для обработки важных пакетов, компенсации задержек, восстановления или обновления пропущенных данных, повторной отправки и т. д.
Игроки смогут войти в свою учетную запись, создавать и выбирать игры в лобби, сражаться с существами, взаимодействовать с предметами, получать очки, получать опыт, повышать свой статус, и это лишь некоторые из них.
Для взаимодействия с сервером использовался собственный клиент Unity, написанный на C#. За сетевой связью следуют сериализованные сетевые пакеты. Пакет состоит из заголовка, включающего идентификатор пользователя компьютера, уникальный идентификатор и количество номеров, за которым следуют один или несколько заголовков сообщения и соответствующие им сериализованные данные.
Часть стандартной библиотеки C++, некоторые библиотеки boost и коннектор mysql, весь сервер написан с нуля. Он управляет собственной памятью из соображений производительности.
Для этого требуется boots::asio и коннектор mysql.
Для взаимодействия с сервером использовался собственный клиент Unity, написанный на C#.
Бруно Мигель Библиотеки Boost Стандартная библиотека MySQL Многоплатформенное программирование игр Джошуа Глейзер и Санжар Мадхав Шаблоны программирования игр Роберт Нистром
Массачусетский технологический институт
Фотография сделана на конкурсе игр Heartland, где она получила 2-е место по решению жюри и 2-е место по выбору зрителей.
Создание учетной записи.
Лобби.
В игре.