Skip to content

Online multiplayer board game, with a server written in Go, and a client built with Godot and C#.

License

Notifications You must be signed in to change notification settings

hermannm/casus-belli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Casus Belli

Casus Belli ("justification for war") is a game of strategy, diplomacy and battle. It was originally created as a gift by the father of hermannm, a developer of this project. This digital edition of the board game consists of a server written in Go, and a client built with the Godot game engine and C#.

Project Structure

  • server
    • lobby manages lobbies of players with WebSocket connections to the server, and messages between them
    • api defines API endpoints for finding, creating and joining game lobbies
    • game implements the game logic (resolving player orders on the board)
  • client
    • src contains C# game scripts
    • scenes contains Godot scene files
    • assets contains textures, images, icons and fonts

Development Setup

Server

  • Install Go: https://go.dev/
  • Run the server: navigate to casus-belli/server, then go run .
    • To run in single-lobby mode for local server hosting: go run . -local
  • To run cross-compilation build script, install Mage: https://magefile.org/
    • Run mage crosscompile (in casus-belli/server) to compile server for all supported OSes

Client

Credits

About

Online multiplayer board game, with a server written in Go, and a client built with Godot and C#.

Resources

License

Stars

Watchers

Forks

Releases

No releases published