An open API service indexing awesome lists of open source software.

https://github.com/cobyj33/terminal-raycaster

A raycaster engine built completely for use in the terminal
https://github.com/cobyj33/terminal-raycaster

ascii ascii-art ascii-graphics c-sharp csharp raycaster raycasting terminal terminal-based

Last synced: about 2 months ago
JSON representation

A raycaster engine built completely for use in the terminal

Awesome Lists containing this project

README

          

# Terminal Raycaster

A small experimental raycaster engine created in the terminal. Reads in and creates maps from text files of 0s and 1s to create a psuedo-3D
I believe this was my first C# Project, not including dabbling in Unity unofficially (maybe one day I'll be able to show that off), and it'll probably be one of my last too, atleast personally.

C# was fun but everything that I like about C#'s high levelness is more concise in Python, more portable in Javascript, and more precise in C++. It falls into a no-mans-land for me.

To be honest, I think this project is done, as I'd opt for working on my [online raycaster that's inspired from this](https://www.github.com/cobyj33/raycaster) as it's much easier to show to people (Like most things on the web). You can prototype that version [here](https://cobyj33.github.io/raycaster)

This project still was rewarding to finish though, and it provided a basis for my web version, so of course I'll leave it up.

**Maybe** I'll try and add more later, but that's a very slim possibility, and it would probably be more so fixing and improving on what is already present rather than adding new features.

## Acknowledgements

[javidx9](https://www.youtube.com/watch?v=HEb2akswCcw), [Yazgoo](https://www.youtube.com/watch?v=lQF-OAN2dpE), and [David Ziemkiewicz (the best one in my opinion)](https://www.youtube.com/watch?v=94YOd0gimF8) have made much better implementations that you should check out

[3DSage on Youtube](https://www.youtube.com/watch?v=gYRrGTC7GtA) also has made a pretty great tutorial on raycasting, although it does use OpenGL and not a Terminal

And just like everyone else who has learned raycasting, I learned mainly from [here](https://lodev.org/cgtutor/raycasting.html). Amazing teacher

I hope anyone else can learn a little from the source code though