Started the project with the objective to learn Rust, ended up with an actual game!
Like the game or have cool ideas? Join the Discord!
Please consider buying the game on Steam to support the project 🙏
Available now on Steam for Windows and macOS, support for Linux coming soon!
- Adventure-action gameplay with close and long range combat
- Unlockable combat skills
- Nostalgic Gameboy-like pixel art aesthetics
- Local co-op multiplayer mode for PC
- Unlockable Fast travel
- Turn-based Pvp
- Coming soon! Linux & SteamOS support
- Pre-rendered backgrounds using a dual-layer tiling system
- AABB collision detection
# Run the game
cargo run --package game
# Run the game in creative mode to build levels
cargo run --package game creative
# Setup
rustup target add x86_64-pc-windows-gnu
brew install mingw-w64
# Build
cargo build --package game --release --target x86_64-pc-windows-gnu
The engine is the same, the rendering is a simple set of custom views for the game itself, menus and such
The game_core
create is compiled via cargo-lipo
and cargo-ndk
, bindings are generated using cbindgen
.
cargo install cargo-lipo
cargo install cargo-ndk # Requires getting the Android NDK
cargo install cbindgen
rustup target add x86_64-apple-ios
rustup target add aarch64-apple-ios
rustup target add armv7-linux-androideabi
rustup target add aarch64-linux-android
rustup target add i686-linux-android
rustup target add x86_64-linux-android
The build_all.sh
script will build game_core
, compile all resources and copy them to the correct folders for both mobile projects.
sh scripts/build_all.sh
The project uses Raylib, so there are some extra steps after setting up Rust.
Personally (but I have no idea what I'm doing and haven't used a windows machine in 10+ years) I did the following:
- Installed CMake from here
- Added CMake to path
- Installed LLVM via
winget install LLVM.LLVM
cargo run --package game
- Music by Filippo Vicarelli
- Sound Effects by SubspaceAudio
- Font by HarvettFox96
- Pvp weapon selection on mobile
- Finish writing "Consipiracy Theorist" quest
- Finish writing "Assassin Guild" quest
- Push notifications for updates and new content
- Better hints for mobile players
- Camera pan when turn changes in pvp
Warning: Spoilers!
Notes about lore, quests and characters can be found here.
Action | Keyboard | Gamepad | Mobile |
---|---|---|---|
UP | Arrow Up or W |
Left Side / Up or Left Joystick |
Drag gesture |
RIGHT | Arrow Right or D |
Left Side / Right or Left Joystick |
Drag gesture |
DOWN | Arrow Down or S |
Left Side / Down or Left Joystick |
Drag gesture |
LEFT | Arrow Left or A |
Left Side / Left or Left Joystick |
Drag gesture |
RANGED ATTACK | F or J |
Right Side / Down |
Dedicated button |
CLOSE ATTACK | R or Q |
Right Side / Left |
Dedicated button |
WEAPON SELECTION | TAB |
Right Side / Up |
Dedicated button |
CONFIRM | E or K or SPACE |
Right Side / Right |
Dedicated button |
MENU | X or ENTER |
Middle Buttons / Left |
Top-right button |
BACK | ESCAPE |
Middle Buttons / Right |
n/a |
- Local co-op available only on PC
- Requires using one controller per player
- Player one can still use the keyboard (but still requires a controller)
- Keyboard and Gamepad are only supported on PC
- On mobile "dedicated buttons" show up only when applicable, for example, the "fire" button only shows up if you have ammo.
- Controller is only supported on desktop
- Connecting or disconnecting a controller automatically pauses the game
- Cursor is automatically hidden when connecting a controller and when entering fullscreen