All Projects → TheMozg → Awk Raycaster

TheMozg / Awk Raycaster

Licence: mit
Pseudo-3D shooter written completely in gawk using raycasting technique

Programming Languages

awk
318 projects

Projects that are alternatives of or similar to Awk Raycaster

Libgdx
Desktop/Android/HTML5/iOS Java game development framework
Stars: ✭ 19,420 (+1165.97%)
Mutual labels:  game, 3d
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-92.44%)
Mutual labels:  game, 3d
Exengine
A C99 3D game engine
Stars: ✭ 391 (-74.51%)
Mutual labels:  game, 3d
Stuntrally
The main repository containing Stunt Rally sources and game data. A 3D racing game based on VDrift and OGRE with track editor.
Stars: ✭ 314 (-79.53%)
Mutual labels:  game, 3d
Pioneer
A game of lonely space adventure
Stars: ✭ 979 (-36.18%)
Mutual labels:  game, 3d
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+143.02%)
Mutual labels:  game, 3d
Aterriblekingdom
Scripting the Timeline for games in creative ways. Includes a small RTS game build on the 'A Mighty Kingdom' assets
Stars: ✭ 428 (-72.1%)
Mutual labels:  game, 3d
Rustarok
Multiplayer, fast-paced Moba style game
Stars: ✭ 223 (-85.46%)
Mutual labels:  game, 3d
Buttons And Boxes
A Sokoban-esque puzzle game developed in unity 3D in 2016
Stars: ✭ 17 (-98.89%)
Mutual labels:  game, 3d
Veloren
[Mirror] An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World
Stars: ✭ 868 (-43.42%)
Mutual labels:  game, 3d
Glportal
🎮 Open Source teleportation based first person puzzle-platformer
Stars: ✭ 297 (-80.64%)
Mutual labels:  game, 3d
Vulkust
An engine for Vulkan in Rust, tries to implement modern graphic features. (suspended for now)
Stars: ✭ 64 (-95.83%)
Mutual labels:  game, 3d
Huejumper2k
2 Kilobyte 3D racing game in JavaScript
Stars: ✭ 236 (-84.62%)
Mutual labels:  game, 3d
Vue Babylonjs
A ready-to-go 3d environment for Vue.js using Babylon.js
Stars: ✭ 356 (-76.79%)
Mutual labels:  game, 3d
Openswe1r
An Open-Source port of the 1999 Game "Star Wars Episode 1: Racer"
Stars: ✭ 236 (-84.62%)
Mutual labels:  game, 3d
Cpp 3d Game Tutorial Series
C++ 3D Game Tutorial Series is a YouTube tutorial series, whose purpose is to help all those who want to take their first steps in the game development from scratch.
Stars: ✭ 400 (-73.92%)
Mutual labels:  game, 3d
Vu
Virtual Universe 3D Engine
Stars: ✭ 183 (-88.07%)
Mutual labels:  game, 3d
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-86.44%)
Mutual labels:  game, 3d
Dwarfcorp
An open-source 3D colony management game for PC, Mac and Linux
Stars: ✭ 460 (-70.01%)
Mutual labels:  game, 3d
Clash Royale Clone
A Unity clone of Supercell's Clash of Clans spin-off mobile game Clash Royale with possibly some twists.
Stars: ✭ 43 (-97.2%)
Mutual labels:  game, 3d

awkaster

Bring some old-school fun to your terminal! Explore the dungeon and shoot monsters in this pseudo-3D game inspired by the classic Wolfenstein 3D and Doom.

Screenshot

Running the game

gawk -f awkaster.awk

You need gawk version >= 4.0.0

OS X users must install gawk first. The easiest way to do this is to use Homebrew. Once it has been installed, run the following commands:

brew update
brew install gawk

NetBSD users require gawk. The easiest way to do it is install it with pkgin:

pkgin install gawk

Alternatively install from sources using the pkgsrc framework:

cd /usr/pkgsrc/lang/gawk && make install

OpenBSD users require gawk. The easiest way to do it is install it with pkg_add:

pkg_add gawk

Alternatively install from sources using the OpenBSD ports:

cd /usr/ports/lang/gawk && make install clean

Your machine will now be ready to run awkaster.

How to play

Your objective is to navigate the map and activate exit elevator, killing hoards of monsters in the process.

Controls:

  • WASD - movement
  • J/L - turn left/right. Hold shift to turn quicker
  • spacebar - shoot
  • num 1-4 - change color mode
  • x - activate elevator (arrives after 1000 moves)

Adjusting resolution

By default game resolution is 64x48 "pixels", which are just a pair of ASCII symbols. That means your terminal needs to be at least 128 chars wide. You may change variables w and h to your liking.

Game engine

Wall rendering is done using ray casting. Monsters and projectiles are added after that as sprites. Ray casting is a simple rendering algorithm that doesn't require any 3d modeling or complex computation.

You can find an excellent tutorial here: http://lodev.org/cgtutor/raycasting.html

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