Skip to content

NKM Game Server

NKM

codecov

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.

View Game Rules →

🔧 Backend Development

Comprehensive guides for developers working on the server-side code.

Explore Backend Docs →

🎨 Frontend Development

Resources for frontend developers integrating with the game server.

View Frontend Docs →

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.