About this project

MakaMek is an open-source tactical combat game featuring giant walking war machines, inspired by the MegaMek project but focusing on simplicity and accessibility. It is designed with a mobile-first and web-first user experience in mind, leveraging .NET 10 and AvaloniaUI for cross-platform support across Windows, Linux, macOS, Web (WASM), Android, and iOS. The project is structured into several implementation phases: **Phase 0: Game Foundation** This phase established the core gameplay loop, including a complete turn flow with initiative, movement, attack declaration, heat management, and critical hits. It supports single-player combat for up to 4 players on one device and LAN multiplayer via SignalR. The game includes a hex map generator with basic terrain and supports importing mechs defined in MegaMek's MTF format. **Phase 1: Bot Framework** MakaMek includes a bot player framework with a decision engine for each game phase. Bots can make basic movement and weapon targeting decisions, evaluate tactical positions, and manage heat and ammo. An experimental LLM-powered bot system is also available. **Phase 2: Map Levels and Terrain** This phase introduced support for map levels, detailed Line of Sight (LOS) highlighting, rough terrain, water bodies, roads, and bridges. A separate Map Editor project is provided for creating custom maps. **Phase 3: Internet Multiplayer** Online play is supported via a relay-hub architecture using WebSockets. Shareable room codes allow players to host and join games from any supported client, including the web version. **Technology Stack and Architecture** The project uses a client-server architecture with a modular structure. Key components include: - `MakaMek.Core`: The core game engine and logic. - `MakaMek.Map`: Map generation and management. - `MakaMek.Avalonia`: The UI implementation. - `MakaMek.Bots`: The AI framework. **Assets and Licensing** The source code is licensed under GNU GPL v3.0. Art assets, including unit and terrain images, are sourced from the MegaMek Data Repository and are distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. These assets are intended to be downloaded separately. MakaMek is currently in maintenance mode, with future possibilities including support for advanced tech rules, vehicles, and a 3D Monogame version.