Skip to content

libGDX Client and Server architecture for multiplayer game (with CI/CD done for deploying Docker images on AWS ECS)

License

Notifications You must be signed in to change notification settings

HannesRakete/marvelous-bob

 
 

Repository files navigation

Marvelous Bob

Top-down multiplayer coop Defend-Your-Base game.

latest

Project structure

This repository contains 4 modules:

  1. client
  2. server
  3. common
  4. desktop

The common is used by both the server and the client.

The desktop is the launcher for the client.

Other folders

  • .github: CI/CD (GitHub Actions)
  • .run: the provided IntelliJ Run Configuration
  • utils: miscellaneous stuff for the developers

Tech Stack

Common to all modules

  • Java 14 (language)
  • Gradle (build)
  • JPackage + JLink (lightweight releases)
  • libGDX (framework)
  • KryoNet (networking)
  • Lombok (boilerplate)
  • Slf4j (logging)

Server module

  • AWS ECS (cloud)
  • Docker (container)
  • GitHub Actions (CI/CD)

(older) Demonstrations

server

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.

server gif 1

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).

server gif 2

Below is a showcase of the procedurally generated levels.

proc_gen

Useful references concerning real-time multiplayer games

About

libGDX Client and Server architecture for multiplayer game (with CI/CD done for deploying Docker images on AWS ECS)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%