Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 1.93 KB

README.md

File metadata and controls

44 lines (34 loc) · 1.93 KB

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