All Projects → dbandstra → Oxid

dbandstra / Oxid

Licence: mit
Arcade style game written in Zig

Labels

Projects that are alternatives of or similar to Oxid

Pilas
Pilas engine
Stars: ✭ 141 (-4.73%)
Mutual labels:  game
Magicallife
A 2d game that aspires to be similar to Rimworld, with more depth, magic, and RPG concepts.
Stars: ✭ 145 (-2.03%)
Mutual labels:  game
Lexica
Word Game for Android - A fork of lexic (https://code.google.com/p/lexic)
Stars: ✭ 146 (-1.35%)
Mutual labels:  game
Rpg Text
An object-oriented text RPG
Stars: ✭ 143 (-3.38%)
Mutual labels:  game
Zetawar
Zetawar is a turn based tactical strategy game implemented in 100% ClojureScript.
Stars: ✭ 144 (-2.7%)
Mutual labels:  game
Sfall
Engine modifications for Fallout 2
Stars: ✭ 145 (-2.03%)
Mutual labels:  game
Rillserver
skynet game server
Stars: ✭ 139 (-6.08%)
Mutual labels:  game
Kaboom
Cruel but fair Minesweeper clone
Stars: ✭ 148 (+0%)
Mutual labels:  game
Opensourcegames
Infos and build tips for open source games.
Stars: ✭ 144 (-2.7%)
Mutual labels:  game
Knightonline
OpenKO is an open source version of the old school Knight Online MMORPG
Stars: ✭ 146 (-1.35%)
Mutual labels:  game
Dieloli
Stars: ✭ 143 (-3.38%)
Mutual labels:  game
Openhow
Open-source reimplementation of Gremlin's Hogs of War (PC/PSX).
Stars: ✭ 144 (-2.7%)
Mutual labels:  game
Panda Run
A panda parkour game, based on Cocos2d-js, running on Android / iOS
Stars: ✭ 145 (-2.03%)
Mutual labels:  game
Rxjs Fruits
A game for learning RxJS 🍎🍌
Stars: ✭ 142 (-4.05%)
Mutual labels:  game
Cr Api
Clash Royale Public API that provides real-time data about players, clans, tournaments and more.
Stars: ✭ 147 (-0.68%)
Mutual labels:  game
Jump
微信跳一跳复刻 CocosCreator + Typescript 在线试玩 https://potato47.github.io/game/jump/
Stars: ✭ 140 (-5.41%)
Mutual labels:  game
Tetris
A simple tetris clone written in zig programming language.
Stars: ✭ 145 (-2.03%)
Mutual labels:  game
15puzzle
The Game of Fifteen written with Flutter
Stars: ✭ 148 (+0%)
Mutual labels:  game
Rpg Core
UNITY engine RPG framework
Stars: ✭ 146 (-1.35%)
Mutual labels:  game
Rs Asteroids
A variation on the game Asteroids, written in Rust
Stars: ✭ 146 (-1.35%)
Mutual labels:  game

Oxid

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).

Play online here!

Screenshot

Building

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 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.

WebAssembly build

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

Menu controls:

  • arrow keys: move cursor
  • enter: select
  • esc: go back

Debug/cheat controls:

  • backquote: fast forward (not available in web version)
  • backspace: skip to next wave
  • F2: toggle rendering of move boxes
  • F4: toggle profiling spam (not available in web version or in ReleaseSmall)

Code organization

See doc/Code organization.md

Notes

Low-level graphics code was originally based on andrewrk's Tetris demo for Zig. WebAssembly code was based on raulgrell's fork of the same project.

Some sound effects from https://opengameart.org/content/512-sound-effects-8-bit-style

Uses Dawnbringer's 16-color palette.

Uses Hejsil's zig-clap, my zig-hunk, zig-pcx and zig-wav one-file libraries, as well as zang for audio.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].