All Projects → LingDong- → asciimare

LingDong- / asciimare

Licence: MIT license
3D engine powered by ASCII art

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to asciimare

asciiarena
Terminal multiplayer deathmatch game
Stars: ✭ 34 (-27.66%)
Mutual labels:  ascii-art, terminal-game
TextGraphic
TextGraphic is a framework for creating Textual Graphics. It provides layers, styling, rich color, text justification, layouts, tables, view-ports, transparency, etc.
Stars: ✭ 83 (+76.6%)
Mutual labels:  ascii-art
RavEngine
A fast, easy to use C++20 3D game library for modern computers
Stars: ✭ 122 (+159.57%)
Mutual labels:  3d-engine
magrrite
Generate ASCII art from any image
Stars: ✭ 21 (-55.32%)
Mutual labels:  ascii-art
Python-project-Scripts
This repositories contains a list of python scripts projects from beginner level advancing slowly. More code snippets to be added soon. feel free to clone this repo
Stars: ✭ 627 (+1234.04%)
Mutual labels:  ascii-art
FWK
💎 3D game framework in C, with Luajit bindings now.
Stars: ✭ 423 (+800%)
Mutual labels:  3d-engine
exengine
A C99 3D game engine
Stars: ✭ 487 (+936.17%)
Mutual labels:  3d-engine
makegameengineatnight
从零编写游戏引擎教程 Writing a game engine tutorial from scratch
Stars: ✭ 1,348 (+2768.09%)
Mutual labels:  3d-engine
ascii-art
ASCII art images for Neofetch (and beyond)
Stars: ✭ 27 (-42.55%)
Mutual labels:  ascii-art
iupa2
Funcoding project - IUPA2 stands for 'InterfacceUtentePerArtistiASCII' aka 'User Interfaces for ASCII Artists'
Stars: ✭ 29 (-38.3%)
Mutual labels:  ascii-art
ColumbusEngine
3D cross-platform game engine written in C++
Stars: ✭ 45 (-4.26%)
Mutual labels:  3d-engine
GroundEngine
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Stars: ✭ 61 (+29.79%)
Mutual labels:  3d-engine
python-art
A ZTM Challenge for Hacktoberfest 2019
Stars: ✭ 25 (-46.81%)
Mutual labels:  ascii-art
termosaur
Dinosaur game for terminal.
Stars: ✭ 24 (-48.94%)
Mutual labels:  terminal-game
AsciiArt
A tool written in go to translate picture to ascii text and image.
Stars: ✭ 35 (-25.53%)
Mutual labels:  ascii-art
AsciiMap
Creates ASCII Art from Bitmaps
Stars: ✭ 21 (-55.32%)
Mutual labels:  ascii-art
android-3d-model-viewer
Android app to load 3D models in obj, stl, dae & gltf format using pure OpenGL ES 2.0. Published on Play Store https://play.google.com/store/apps/details?id=org.andresoviedo.dddmodel2
Stars: ✭ 150 (+219.15%)
Mutual labels:  3d-engine
frak
FRAK WebGL Engine
Stars: ✭ 20 (-57.45%)
Mutual labels:  3d-engine
PongC
Classic game of Pong in the terminal made in C.
Stars: ✭ 18 (-61.7%)
Mutual labels:  terminal-game
asciju
Conversion of Image, video, text into ASCII format
Stars: ✭ 11 (-76.6%)
Mutual labels:  ascii-art

asciimare

A 3D engine powered by ASCII art.

alt text

asciimare uses ASCII characters to display 3D graphics directly in the terminal. It is powered by python curses, and renders by raycasting on voxels.

asciimare utilizes the combination of 95 printable ASCII characters 8 ANSI colors in the terminal to emulate a variety of hues and brightness. It first analyzes a given font and generate a continous and uniform range of shades, e.g.

Menlo.ttc
          ````````````````````````'''''''''''''......-------
-,,,,,______::::::::^^^^^!!~~~"""""";;;;;;rrrrr++++||()\==>>
>>lllll???iiiccv[]ttzzjj7*ff{{}ssYYTJJJ111unnnnyyyyIIFFFFFFF
oooooowe22h3Zaa44XXX%%%555PPPP$$$mmGGAAUUUUbbbppKKK96O##H&&D
DDDRRRRRRQQ88888800000000WWWWMMMBBB@@@@@@@@@@@@@NNNNNNNNNNNN

and then plays with some color theory to create an illusion of depth.

Dependencies

  • PyPy 2 (pypy.org) (Python works but will be slow)

Usage

Try it out by typing

$ pypy demo.py

or

$ pypy explore.py -i maps/demo.txt

in your terminal.

Loading models

You can explore different maps by loading them into the second command. Currently, asciimare supports models exported from Goxel (plain text) or a batch of csv files each describing a slice along the y-axis. Alternatively, you can procedurally generate models using built-in functions.

Importing asciimare as a module

To use asciimare as a module, place the asciimare subfolder under your project folder and simply do import asciimare. Then, you can define your game class with some standard events and asciimare will figure out the rest. See demo.py for details.

import asciimare

class game(asciimare.GameTemplate):
  def start(self): pass         # use this for initialization
  def update(self): pass        # update called once per frame
  def draw(self): pass          # things to render upon redraw
  def keypressed(self,c): pass  # get pressed key
  
# run the game!
asciimare.run(game)
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].