Rummage is aiming to be a robust end-to-end tested Magic: The Gathering Commander format game engine built with Bevy 0.15.x.
- Core MTG game loop implementation
- Phase and turn management
- Priority and stack system
- Commander-specific rules and mechanics
- Zone management (battlefield, graveyard, exile, command zone, etc.)
- Commander damage tracking
- Card representation and rendering
- Multiplayer networking with bevy_replicon
- Modern UI with Bevy's UI components
Rummage implements the specific rules for the Commander format:
- Starting life total of 40
- Commander damage tracking (21 damage from a single commander eliminates a player)
- Command zone mechanics (commanders can be cast from the command zone)
- Commander tax (2 additional mana each time cast from command zone)
- Color identity rules for deck construction
# Build the project
cargo build
# Run the game
cargo run
# Run tests
cargo test- src/game_engine/ - Core game engine
- phase.rs - Game phase system
- priority.rs - Player priority management
- stack.rs - Spell stack implementation
- state.rs - Game state tracking
- zones.rs - Game zones (hand, library, battlefield, etc.)
- commander.rs - Commander-specific rules
- actions.rs - Game actions
- turns.rs - Turn sequence
- src/card/ - Card data structures and functionality
- src/mana.rs - Mana system implementation
- src/deck/ - Deck management
- src/player/ - Player management
- src/camera/ - Camera control systems
- src/text/ - Text rendering utilities
- src/menu/ - Menu systems and UI
- src/networking/ - Multiplayer functionality using bevy_replicon
- State synchronization
- Rollback system
- RNG synchronization
The Rummage codebase adheres to the following standards:
- Bevy 0.15.x Compatibility: Using non-deprecated Bevy APIs
- End-to-End Testing: Comprehensive test coverage for all features
- Documentation-First Development: New features are documented before implementation
- Performance Focus: Optimization for smooth gameplay
For full documentation, including implementation details and architecture decisions, visit our GitHub Pages documentation.
The documentation contains:
- Commander rules implementation details
- Game UI system documentation
- Networking architecture information
- API references
The implementation is based on official MTG rules:
This project is licensed under the MIT License - see the LICENSE.txt file for details.