/marvelous-bob

libGDX Client and Server architecture for multiplayer game

Primary LanguageJavaMIT LicenseMIT

Marvelous Bob

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

early_demo

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)

Assets

Most of them come from Kenney, licensed CC0 1.0 Universal. Thank you so much!

Useful references concerning real-time multiplayer games