Sanet.MekForge.Avalonia
0.31.4-alpha
The package has been renamed
dotnet add package Sanet.MekForge.Avalonia --version 0.31.4-alpha
NuGet\Install-Package Sanet.MekForge.Avalonia -Version 0.31.4-alpha
<PackageReference Include="Sanet.MekForge.Avalonia" Version="0.31.4-alpha" />
<PackageVersion Include="Sanet.MekForge.Avalonia" Version="0.31.4-alpha" />
<PackageReference Include="Sanet.MekForge.Avalonia" />
paket add Sanet.MekForge.Avalonia --version 0.31.4-alpha
#r "nuget: Sanet.MekForge.Avalonia, 0.31.4-alpha"
#:package Sanet.MekForge.Avalonia@0.31.4-alpha
#addin nuget:?package=Sanet.MekForge.Avalonia&version=0.31.4-alpha&prerelease
#tool nuget:?package=Sanet.MekForge.Avalonia&version=0.31.4-alpha&prerelease
MekForge
A cross-platform implementation of tactical turn-based mech combat game, inspired by MegaMek. Built with .NET 9 and AvaloniaUI.
Overview (Planned)
MekForge is an open-source tactical combat game featuring giant walking war machines. The game focuses on strategic combat, unit customization, and both single-player and multiplayer experiences.
Features
Implemented
- Hex map generator with the simplest terrain types (clear, light and heavy wood) (MegaMek assets)
- Client-Server app architecture with RX communication for local play
- Units deployment and movement, including path finding for all the basic movement types
- Weapon attack declaration and resolution (no crits yet)
- Cross-platform support (Windows, Linux, macOS, Web, Android, iOS)
- Test UI built with AvaloniaUI
- Importing mechs defined in MTF format
Planned
- Single-player combat against AI opponents
- Multiplayer support (LAN and Internet, WebSockets/SignalR)
- Unit customization and management
- Compatible with common community data formats
- Monogame version with 3D graphics and possible VR/AR support
Technology Stack
- .NET 9
- AvaloniaUI for cross-platform UI
- xUnit for testing
Project Structure
MekForge/
├── src/
│ ├── MekForge.Core/ # Core game engine and logic
│ └── MekForge.Avalonia/ # UI implementation
└── tests/ # Unit tests
Project Status
- MekForge.Core:
- MekForge.Avalonia:
- Web Version (WASM):
Development Setup
Prerequisites
- .NET 9 SDK
- Your favorite IDE (Visual Studio, Rider, or VS Code)
Building
- Clone the repository
- Open
MekForge.slnin your IDE - Build the solution
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
The Windsurf/Cascade AI workflow from Codeium is dramatically accelerating development of MekForge. Try it out for yourself using the link above!
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Acknowledgments
- Inspired by MegaMek (https://megamek.org/)
- Thanks to the BattleTech community for their continued passion.
Disclaimer
This is a fan-made game and is not affiliated with or endorsed by any commercial mech combat game properties. All trademarks belong to their respective owners. This project is primarily a learning experience and a labor of love - developed for the enjoyment of the development process itself.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Avalonia (>= 11.2.5)
- Avalonia.Fonts.Inter (>= 11.2.5)
- Avalonia.Themes.Fluent (>= 11.2.5)
- Avalonia.Xaml.Behaviors (>= 11.2.0.9)
- Microsoft.Extensions.DependencyInjection (>= 9.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.2)
- Sanet.MekForge.Core (>= 0.31.4-alpha)
- Sanet.MVVM.DI.Avalonia (>= 1.1.1.1113)
- Sanet.MVVM.Navigation.Avalonia (>= 1.1.1.1113)
- Sanet.MVVM.Views.Avalonia (>= 1.1.1.1113)
- System.Reactive (>= 6.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 0.31.4-alpha | 597 | 3/24/2025 | |
| 0.31.3-alpha | 582 | 3/24/2025 | |
| 0.31.2-alpha | 382 | 3/23/2025 | |
| 0.31.1-alpha | 396 | 3/23/2025 | |
| 0.31.0-alpha | 385 | 3/23/2025 | |
| 0.30.7-alpha | 395 | 3/23/2025 | |
| 0.30.6-alpha | 271 | 3/22/2025 | |
| 0.30.5-alpha | 281 | 3/22/2025 | |
| 0.30.4-alpha | 216 | 3/21/2025 | |
| 0.30.3-alpha | 265 | 3/20/2025 | |
| 0.30.2-alpha | 264 | 3/17/2025 | |
| 0.30.1-alpha | 269 | 3/17/2025 | |
| 0.30.0-alpha | 278 | 3/17/2025 | |
| 0.29.1-alpha | 279 | 3/16/2025 | |
| 0.29.0-alpha | 248 | 3/15/2025 | |
| 0.28.14-alpha | 206 | 3/15/2025 | |
| 0.28.13-alpha | 199 | 3/15/2025 | |
| 0.28.12-alpha | 201 | 3/15/2025 | |
| 0.28.11-alpha | 210 | 3/14/2025 |