A Pokemon-inspired monster taming RPG game built with Rust and Macroquad.
Monster Tamer is a turn-based RPG where you explore a world, catch monsters, battle wild creatures, and build your team. Experience classic Pokemon-style gameplay with a modern Rust implementation.
- Exploration: Navigate through a vibrant world map with various terrain types
- Monster Battles: Engage in turn-based combat with wild monsters
- Catching System: Use different types of monster balls to catch wild creatures
- Party Management: Build and manage a team of up to 6 monsters
- Type System: Fire, Water, Grass, Electric, Ice, and Normal types with effectiveness multipliers
- Inventory System: Collect and use items like potions and monster balls
- Shops & Services: Visit shops to buy items and hospitals to heal your team
- Leveling System: Monsters gain experience and level up through battles
- Animated Battles: Visual attack animations and catching sequences
- Smooth Transitions: Fade transitions between scenes
- Rust (latest stable version)
- Cargo (comes with Rust)
- Clone the repository:
git clone https://github.com/Sahil-Gulihar/monster-tamer
cd pokemon-go- Build the project:
cargo build --release- Run the game:
cargo run --releaseOr for development (faster compilation, slower runtime):
cargo run- Start a New Game: Select "New Game" from the title screen
- Explore the World: Use WASD or arrow keys to move around
- Encounter Monsters: Walk through tall grass to encounter wild monsters
- Battle: Fight wild monsters to gain experience or catch them
- Build Your Team: Catch monsters to add them to your party (up to 6)
- WASD or Arrow Keys: Move around
- Space or Enter: Interact with buildings/doors
- P: Open party menu
- I: Open inventory
- WASD or Arrow Keys: Navigate menus
- Enter or Space: Select option
- Escape or Backspace: Go back/cancel
- WASD or Arrow Keys: Navigate
- Enter or Space: Confirm selection
- Escape or Backspace: Close menu
- Tall Grass: Walk through tall grass (darker green) to encounter wild monsters
- Buildings:
- Hospital (red building): Heal all your monsters for free
- Shop (blue building): Buy items like potions and monster balls
- Catching Monsters: Use monster balls during wild battles. Different ball types have different catch rates
- Type Effectiveness: Learn type matchups to deal more damage:
- Fire > Grass, Ice
- Water > Fire
- Grass > Water
- Electric > Water
- Ice > Grass
- Party Management: Keep your team healthy and switch monsters when needed
- Language: Rust (2021 edition)
- Game Engine: Macroquad
- Rendering: Immediate mode rendering
- Game Loop: Frame-based update system
src/
├── main.rs # Entry point and window configuration
├── game.rs # Main game state and scene management
├── monster.rs # Monster types, stats, and creation
├── battle.rs # Battle system and turn-based combat
├── attack.rs # Attack definitions and types
├── inventory.rs # Item system and inventory management
├── world.rs # World map, tiles, and player movement
└── ui.rs # UI components and rendering helpers
macroquad: Game framework for rendering and inputrand: Random number generation for encounters and catch rates
Optimized release build:
cargo build --releaseThe binary will be located at target/release/monster_tamer (or monster_tamer.exe on Windows).
The project follows Rust conventions and best practices:
- Functional programming patterns
- Clear separation of concerns
- Modular architecture
This project is open source. Feel free to use, modify, and distribute as needed.
Contributions are welcome! Feel free to submit issues or pull requests.
- Inspired by the Pokemon series
- Built with Macroquad
- Developed in Rust
Enjoy your monster taming adventure! 🎮✨


