A multiplayer online game with Godot client and Go server.
- User registration and login
- Highscores browsing
- In-game multiplayer with actors and spores
- WebSocket communication
- Protobuf for packet serialization
- Install Godot 4.x
- Open
client/project.godot - Run the project
- Install Go 1.19+
cd servergo mod tidygo run cmd/main.go
- Build:
docker build -t mmo . - Run:
docker run -p 8080:8080 mmo
client/: Godot game clientaddons/: Custom addons (protobuf, wakatime)classes/: UI components (login, register, highscores, logs)exports/: Exported web buildmmo33/: Alternative exportobjects/: Game objects (actors, spores)resources/: Assets and themesstates/: Game states (browsing, connected, entered, ingame)
server/: Go servercmd/: Main entry pointinternal/: Internal packagesclients/: WebSocket client handlingobjects/: Game objects and spawningserver/: Server logic, DB, states
pkg/: Shared packages (packets)
shared/: Shared protobuf definitions