Eyos (In Development)

A multiplayer RTS game written in C++ with data oriented design in mind. A learning project to deppen my C++ knowlegde and my network programming skills.

Eyos is a cross platform (Windows and Linux) targeting 2D multiplayer RTS focused on managing a massive amount of units. I see this project as a chance to enhance and challenge my network programming skills as well as my software engineering skills. The development of this project is open and can be found on github. (GitHub).

My main responsibilities

The network architecture

I am in charge for the network architecture which supports the synchronization of millions of entities via the network. The chosen architecture is an peer to peerish server-client approach, with deterministic lock step. As descripted in this article Age of Empire and in this book Architecting Networked Games by Joshua L. Glazer and Sanjay Madhav. The host starts up a dedicated server on their machine and that one confirms the gameplay.

QA Pipeline

I am working with GitHub Actions. It verifies that our game can be build on Windows (msvc) and Linux (our test environment is Ubuntu) with GCC9 and Clang9 tool chain. Our code gets also tested and verified with clang-tidy and clang format every time someone pushes. Besides this ctest runs our unit tests (Catch2)

Project Information
Type: Networking RTS
Duration: Decemeber 2019 - Ongoing Development
Teamsize: 3 Programmers
Roles: QA Engineer, Engine & Network programmer
Engine: Eyos Custom Game Framework
Platform: Windows & Linux
Languages: C++
Technologies: cmake, clang & msvc, git, bgfx, GitHub Actions, hack'n plan
Avatar
Simon Renger
Engine and Tools programming Student

Write programs that do one thing and do it well. Write programs to work together — McIlroy Unix philosophy

Related