Top-down multiplayer coop Defend-Your-Base game.
This repository contains 4 modules:
- client
- server
- common
- desktop
The common
is used by both the server
and the client
.
The desktop
is the launcher for the client
.
.github
: CI/CD (GitHub Actions).run
: the provided IntelliJRun Configuration
utils
: miscellaneous stuff for the developers
- Java 14 (language)
- Gradle (build)
- JPackage + JLink (lightweight releases)
- libGDX (framework)
- KryoNet (networking)
- Lombok (boilerplate)
- Slf4j (logging)
- AWS ECS (cloud)
- Docker (container)
- GitHub Actions (CI/CD)
Above is a static image showing the console once SSH'd into the server. Below is a recording of that same interaction. In both cases, two different computers were used to connect to the remote server.
Below is a recording of me manipulating 2 clients (green and white) simultaneously connected to the remote server, while my partner manipulates 2 other clients on his own computer (red and purple).
Below is a showcase of the procedurally generated levels.
- Short and sweet, a high-level overview of the different challenges, with images: Client-Server Game Architecture
- Very detailed step-by-step coding guide specifically for a libGDX game: Developing Lag Compensated Multiplayer Game
- Deep dive into the complexities of OverWatch's NetCode: Overwatch Gameplay Architecture and Netcode