If you don't have Rust installed, get it from rustup.rs:
macOS/Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shWindows: Download and run the installer from rustup.rs
After installation, restart your terminal and verify:
rustc --version
cargo --versionmacOS:
# Install Xcode Command Line Tools (if not already installed)
xcode-select --installLinux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install build-essential pkg-config libx11-dev libxi-dev libgl1-mesa-devWindows:
- Install Visual Studio 2019 or later with C++ build tools
- Or install the Build Tools for Visual Studio
git clone https://github.com/Metatopia-Dev/metatopia-game-engine.git
cd metatopia-game-engineFirst, build all dependencies and the engine:
cargo build --releaseNote: The first build will take a few minutes as it downloads and compiles all dependencies.
Create and collect cubes — the simplest way to see the engine in action:
cargo run --example my_first_game --releaseControls:
- WASD - Move
- Mouse - Look around
- Walk over cubes to collect them
- ESC - Quit
Experience portals and different geometries:
cargo run --example basic_game --releaseControls:
- WASD - Move around
- Mouse - Look around
- Space - Move up
- Shift - Move down
- R - Reset to Euclidean origin
- Walk through glowing portals to transition between Euclidean, Hyperbolic, and Spherical spaces
- ESC - Quit
Play as an exterminator in Euclidean space:
cargo run --example pest_control_sim --releaseBuild scenes and write live scripts directly in the engine:
cargo run --example metatopia_editor --releaseControls:
- WASD + Mouse - Fly camera
- Space - Toggle Play / Edit simulation modes
- Tab - Cycle selected entity
- 1..5 - Spawn Cube, Sphere, Cylinder, Torus, Capsule
- G - Cycle Rhai script presets (Pulsing Glow, Hover & Bob, Color Shift, Orbit)
- R - Recompile and live hot-reload all scripts
- Arrow Keys / PgUp / PgDown - Move selected object
- Q / E - Rotate selected object
- X - Delete selected object
Controls:
- WASD - Move
- Mouse - Look/Aim
- Left Click - Use tool (Spray Bottle / Vacuum Gun)
- 1-2 - Switch tools (1: Spray Bottle, 2: Vacuum Gun)
- R - Reload all tools
- Space - Move up
- Shift - Move down
- ESC - Quit
Action-packed sci-fi arena shooter with 3 weapons, enemy waves, boss battles, powerups, dash boost, and synthwave audio:
cargo run --example cyber_arena_fps --releaseControls:
- WASD - Move
- Mouse - Aim & Look
- Left Click - Fire active weapon
- 1 / 2 / 3 or Q - Switch weapons (1: Plasma Rifle, 2: Scatter Cannon, 3: Heavy Railgun)
- R - Reload
- Shift - Cyber Dash / Boost
- Space - Jump
- Enter - Restart game after Game Over / Victory
- ESC - Quit
Infinite movie theaters without overlap:
cargo run --example vr_netflix_hyperbolic --releaseControls:
- WASD - Move
- Mouse - Look around
- 1-5 - Switch theater space:
- 1: Hyperbolic Lobby (Poincaré disk floor)
- 2: Spherical Dome (Starfield dome)
- 3: Escher Theater (Staircase screens)
- 4: Personal Pocket (Cozy curved room)
- 5: Social Hub (Shared space)
- Tab - Cycle selected screen
- Left Click - Play/Pause selected screen
- Space - Move up
- Shift - Move down
- R - Reset view
- +/- - Ambient brightness
- ESC - Quit
Real-time 3D fractal rendered via GPU ray marching:
cargo run --example fractal_explorer --releaseControls:
- Mouse Drag - Orbit camera
- Scroll / +/- - Zoom in/out / Change iterations
- 1-5 - Color palette (1: Fire, 2: Ocean, 3: Nebula, 4: Earth, 5: Monochrome)
- P / O - Increase / Decrease fractal power
- A - Toggle audio-reactive mode
- R - Reset view
- ESC - Quit
Minimal WGPU rendering setup demonstrating the engine's shader pipeline:
cargo run --example basic_graphics --releaseConsole-based demonstration of the manifold, ECS, and portal systems without GPU rendering:
cargo run --example simple_demo --releaseMake sure Rust is in your PATH:
source $HOME/.cargo/envThe engine requires a GPU with Vulkan, Metal (macOS), or DirectX 12 (Windows) support. Update your graphics drivers:
- NVIDIA: nvidia.com/drivers
- AMD: amd.com/support
- Intel: intel.com/content/www/us/en/support
Update your Cargo index:
cargo updateInstall additional libraries:
sudo apt-get install libudev-dev libwayland-dev libxkbcommon-devIf the examples run slowly:
- Make sure you're using
--releaseflag (optimized build) - Close other GPU-intensive applications
- Reduce window size in the EngineConfig
For faster compilation during development (but slower runtime):
cargo run --example basic_gameTo see detailed logging:
RUST_LOG=debug cargo run --example basic_game- New to game dev? Read the Game Developer's Guide for a step-by-step tutorial
- Start with
my_first_game.rs— it's ~130 lines and uses the zero-boilerplatequickstartmodule - Explore the code: Check out the examples in
examples/directory - Read the docs: See README.md for architecture details
- Create your own: Copy
my_first_game.rs, rename it, and start building!
- OS: Windows 10+, macOS 10.15+, or Linux (Ubuntu 20.04+)
- CPU: Dual-core 2.5GHz or better
- RAM: 4GB minimum, 8GB recommended
- GPU: Vulkan 1.2, Metal, or DirectX 12 compatible
- Disk: 2GB free space for build artifacts
To quickly verify everything works, run the engine's test suite:
cargo testThis runs 80+ unit, integration, and doc-tests without launching graphics.
Need help? Check the README.md for more details or create an issue on GitHub!