NKM Game Server¶

About¶
This is a backend for a turn-based multiplayer game played on a hexagonal board. The game features characters with unique abilities and statistics, providing strategic gameplay in a multiplayer environment.
Tech Stack¶
- Scala - Primary programming language
- Akka - Actor-based concurrency framework
- Akka HTTP - HTTP server toolkit
- WebSockets - Real-time communication
- ScalaTest - Testing framework
- MariaDB - Database
- Docker - Containerization
- Traefik - Reverse proxy and load balancer
Features¶
- Turn-based multiplayer gameplay on hexagonal maps
- Character system with unique abilities and effects
- Multiple game modes (Deathmatch, Capture the Point)
- Different pick types (Blind pick, Draft pick, All random)
- Real-time communication via WebSockets
- Lobby system for game creation and management
- Comprehensive testing suite
Quick Start¶
Getting Started
New to the project? Start with the Game Rules to understand how the game works, then check out the Development Guide for setting up your development environment.
Navigation Tips
- Search: Use the search bar to quickly find documentation
- Theme: Toggle between light and dark modes using the theme switcher in the header
- Colors: Check out Theme Colors for popular color scheme options
- Mobile: All features work seamlessly on mobile devices
Documentation Sections¶
📚 Game Rules¶
Learn how to play NKM, understand the game mechanics, and explore different game modes.
🔧 Backend Development¶
Comprehensive guides for developers working on the server-side code.
- Architecture Overview
- Development Setup
- Docker Configuration
- Adding New Characters
- Adding New Effects
- Adding New Actors
🎨 Frontend Development¶
Resources for frontend developers integrating with the game server.
Contributing¶
We welcome contributions! Please check our development guides and feel free to submit pull requests or open issues on our GitHub repository.
License¶
This project is licensed under the terms specified in the LICENSE file.