Oxid is an arcade-style game where you fight waves of monsters in a fixed-screen maze. This is more or less a clone of Verminian Trap (2013, Locomalito). Verminian Trap was originally inspired by Wizard of Wor (1980, Midway).
Oxid is written in the Zig programming language (requires version 0.7.x).
Note: After cloning the oxid repository, make sure to update the submodules (
git submodule init followed by
git submodule update).
Oxid can be built into a native executable or a WebAssembly binary.
Native (OpenGL) build
The native build requires SDL2 and should work on Linux, Mac and Windows (untested).
To build and run the debug build:
zig build play # or, equivalently: zig build zig-cache/oxid
To build and run the release build:
zig build -Drelease-safe=true zig-cache/oxid
Oxid supports a few command-line options for things like refresh rate and audio sample rate. Run
zig-cache/oxid --help for a listing.
The WebAssembly build has no third-party requirements.
To build and serve:
sh build_web.sh www # choose any destination directory cd www python3 -m http.server # or any other web server of your choice
How to play
Game controls (these can be rebound in the menu):
- arrow keys: move
- space: shoot
- esc: open menu
- arrow keys: move cursor
- enter: select
- esc: go back
- backquote: fast forward (4x speed)
- shift-backquote: super fast forward (16x speed)
- backspace: skip to next wave
- F2: toggle rendering of move boxes
- F4: toggle profiling spam (not available in web version or in ReleaseSmall)
Some sound effects from https://opengameart.org/content/512-sound-effects-8-bit-style