An audio-only, Berzerk-like shooter for the second No Video Jam.
The arena consists of a grid-like maze of rooms populated by angry robots. Collisions with walls and robots are deadly, though touching a wall will make a power-up sound and give you a second to move away.
A beacon is centered in each room exit. The beacon for the correct exit emits an alarm. Follow the alarms to successfully traverse each level, or hunt robots off the main path for (eventual) extra points.
There are three robot types, from easiest to most difficult:
- Dumbasses have minimal visibility range, and don't shoot far or accurately. Level 1 is populated exclusively with dumbasses.
- Jackasses have mid-level visibility and range, and shoot more accurately. The jackass is introduced on level 2.
- Badasses have as much visibility and shot range as you do, and are far more accurate. Badasses begin to appear from level 3 onward.
Robots can sometimes shoot or collide with each other. If a robot explodes, a shockwave takes out all nearby robots after a short delay.
Killing multiple robots in a 10-second window was supposed to grant a score bonus, but I haven't implemented scoring yet. I did add the bonus system, though, so you'll receive a slightly higher tone for each robot destroyed, and a series of tones when the bonus window clears.
The level exit plays a three-tone signal when it is visible. Move within range to activate it and advance. You cannot advance to the next level if any robots are visible.
Command | Keyboard | Controller |
---|---|---|
Move forward | Up arrow | Left stick forward, D-pad Up |
Move backward | Down arrow | Left stick backward, D-pad down |
Turn left | Left arrow | Right stick left, D-pad left |
Turn right | Right arrow | Right stick right, D-pad right |
Strafe left | Shift left arrow | Left stick left |
Strafe right | Shift right arrow | Left stick right |
Snap to nearest cardinal direction left | Control left arrow | Left shoulder |
Snap to nearest cardinal direction right | Control right arrow | Right shoulder |
Shoot | Space | Either trigger |
Speak coordinates | C | Left thumb |
Speak direction in degrees | D | Right thumb |
Speak lives remaining | H | |
Speak current level | L | |
Speak robots remaining | R | |
Restart or continue to next level when prompted | Enter | Xbox A, Playstation X |
Exit game | Escape |
The game has an unfortunate habit of crashing on higher levels. Sorry about that! Consider it the robots' last act of vengeance. I'll update this description if that changes.
- Player death bass drop: Talon
- Robot footstep: Sergenious
- Correct exit klaxon: jbum
Other sounds were sourced from Adobe Audition and other royalty-free libraries.
- Install Rust. If you've got Rust installed already, be sure that it is up-to-date. This project requires at least v1.0.51.
- Install Git LFS.
- Either initialize Git submodules the hard way or clone this repository with the --recursive option.
- Under Windows, copy the DLLs in lib/win32 or lib/win64, as appropriate, to the top-level directory.
- Under Linux, install the dependencies documented here.
- From the top-level directory, run
cargo build
to build, andcargo run
to build and run. Under Windows, note that you need to executecargo run
from the directory containing soft_oal.dll.
Mostly for my own benefit:
- Red
- Green
- Blue
- Yellow
- Fuchsia
- Cyan
- Grey
- Silver
- White
- Black