All Projects → salt-die → Terminal_dungeon

salt-die / Terminal_dungeon

Licence: mit
Doom-like raycasting engine that renders to ascii for playing in terminal

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Terminal dungeon

Sadconsole
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!
Stars: ✭ 853 (+376.54%)
Mutual labels:  game-engine, ascii
Ramen
A simple console emulator for ascii games written in go
Stars: ✭ 35 (-80.45%)
Mutual labels:  game-engine, ascii
Dhewm3
dhewm 3 main repository
Stars: ✭ 1,261 (+604.47%)
Mutual labels:  game-engine, doom
Rust Doom
A Doom Renderer written in Rust.
Stars: ✭ 2,048 (+1044.13%)
Mutual labels:  doom
Haskellspritekit
Haskell binding to Apple's SpriteKit framework
Stars: ✭ 165 (-7.82%)
Mutual labels:  game-engine
Ryzomcore
Ryzom Core is the open-source project related to the Ryzom game. This community repository is synchronized with the Ryzom Forge repository, based on the Core branch.
Stars: ✭ 171 (-4.47%)
Mutual labels:  game-engine
Monofoxe
Foxes made Monogame easy.
Stars: ✭ 175 (-2.23%)
Mutual labels:  game-engine
Crayon
A small, portable and extensible game framework written in Rust.
Stars: ✭ 163 (-8.94%)
Mutual labels:  game-engine
Goluwa
a game framework written in luajit
Stars: ✭ 173 (-3.35%)
Mutual labels:  game-engine
Expo Voxel
🎮🌳 Voxel Terrain made in React Native. ∛
Stars: ✭ 169 (-5.59%)
Mutual labels:  game-engine
Tuicss
Text-based user interface CSS library
Stars: ✭ 167 (-6.7%)
Mutual labels:  ascii
Arduino Canbus Monitor
Can bus monitoring tool based on arduino and can bus shield. Implements CAN ASCII/SLCAN protocol compatible with Lawicel CAN232/CANUSB. Can be used for monitoring low speed CAN (interior can bus of most cars, less than 500kbps). For higher speeds serial port can become a bottleneck in case data density is high.
Stars: ✭ 163 (-8.94%)
Mutual labels:  ascii
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-3.91%)
Mutual labels:  game-engine
Dagon
3D game engine for D
Stars: ✭ 165 (-7.82%)
Mutual labels:  game-engine
Uecs
Ubpa Entity-Component-System (U ECS) in Unity3D-style
Stars: ✭ 174 (-2.79%)
Mutual labels:  game-engine
Markdown Table
Markdown tables, with alignment
Stars: ✭ 164 (-8.38%)
Mutual labels:  ascii
Opentk
The Open Toolkit library is a fast, low-level C# wrapper for OpenGL, OpenAL & OpenCL. It also includes windowing, mouse, keyboard and joystick input and a robust and fast math library, giving you everything you need to write your own renderer or game engine. OpenTK can be used standalone or inside a GUI on Windows, Linux, Mac.
Stars: ✭ 2,284 (+1175.98%)
Mutual labels:  game-engine
Dot To Ascii
Graphviz to ASCII converter using Graph::Easy
Stars: ✭ 168 (-6.15%)
Mutual labels:  ascii
Ascii Progress
🍓 Ascii progress-bar(s) in the terminal.
Stars: ✭ 167 (-6.7%)
Mutual labels:  ascii
Flux
A real-time physically based rendering engine written in C++ and OpenGL
Stars: ✭ 171 (-4.47%)
Mutual labels:  game-engine

Terminal Dungeon

A Doom-like game engine that renders to ascii and outputs to terminal! From /terminal_dungeon/ root directory type python -m terminal_dungeon to play.

Terminal Dungeon Preview

This engine was used to power a maze solving robot during Advent of Code 2019:

Maze Solver

(see code here: AoC Raycaster)

  • 'esc' to exit

  • 't' to turn off textures

  • 'wasdqe' or arrow-keys to move

  • 'space' to jump


Depending on your terminal font, Renderer.ascii_map may need to be adjusted. If you'd like to make an ascii map more suitable to your terminal's font, check my Snippets repository for a script that grabs mean brightness of unicode characters.

Values stored in textures should range from 0-9. Values below 6 are subtractive and above 6 are additive.


This project wouldn't have been possible without the following valuable resources:

Lode's Computer Graphics Tutorial

PyRay - Python Raycasting Engine

pygame-raycasting-experiment

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