Powered by Mojo 🔥 + MAX Tensors + Pygame
A space-themed bullet hell game where you play as MAX the Astronaut, dodging waves of increasingly chaotic bullet patterns while fighting a boss. The game demonstrates Mojo↔Python interop by offloading intensive particle physics to a compiled Mojo module, with MAX Tensor operations for batch vectorized math.
- Arrow keys / WASD — Move MAX around the screen
- SPACE / Z — Fire bullets at the boss
- Left Shift — Focus mode (slower movement + visible hitbox)
- Dodge bullets, graze them for bonus points, and defeat the boss!
- Tiny hitbox: Your actual collision area is just 8px radius — much smaller than the sprite. This is classic bullet hell design.
- Graze system: Flying close to bullets without getting hit earns bonus points. Risk vs. reward!
- 3 boss phases: As the boss loses health, patterns become denser and faster.
- Invincibility frames: After a hit, you get 2 seconds of invulnerability.
max_adventure/
├── pixi.toml # Pixi project manifest (Mojo + Python + Pygame)
├── max_adventure.py # Main game — Pygame loop, rendering, game logic
├── tensor_ops.py # MAX Tensor API — batch vectorized operations
└── README.md # This file
Install pixi if you haven't:
curl -fsSL https://pixi.sh/install.sh | sh# Clone or copy this project directory, then:
cd max_adventure
# Install all dependencies (Mojo, MAX, Python, Pygame)
pixi install
# Play the game!
pixi run playpixi init max-adventure \
-c https://conda.modular.com/max-nightly/ -c conda-forge
cd max-adventure
pixi add modular python pygame numpy
# Copy the game files into this directory, then:
pixi run python max_adventure.py