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
- Host: GitHub
- URL: https://github.com/cobyj33/terminal-raycaster
- Owner: cobyj33
- Created: 2022-07-12T19:27:45.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-29T02:09:25.000Z (over 3 years ago)
- Last Synced: 2025-03-06T17:34:02.701Z (over 1 year ago)
- Topics: ascii, ascii-art, ascii-graphics, c-sharp, csharp, raycaster, raycasting, terminal, terminal-based
- Language: C#
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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