ssloy/tinyraycaster
ssloy/tinyraycaster has 2,089 GitHub stars and 149 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-04 07:17 UTC. Last push 2019-02-20.
486 lines of C++: old-school FPS in a weekend
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalProject based learning: build your own 3D shooter in a weekend
Check the wiki for the detailed description of what is under the hood. Screw the source code, read the wiki.
If you are interested by this project, you might want to check my other tiny* repositories, they were fun for me to make, I hope it will be fun for you to read.
This video shows what lies in this repository:

At the time I write this text, the repository contains mere 486 lines of code:
haqreu@daffodil:~/tinyraycaster$ cat *.cpp *.h | wc -l
486
Few things tinyraycaster is NOT:
- it is NOT a game, it is a mere stub;
- it is NOT even a 3d engine;
- it is NOT a place for design patterns lectures;
- it is NOT a competitor for id Software products. People, please, I am not John Carmack and neither my students are. Focus on the word "initiation".
Few things tinyraycaster IS:
- it IS fun;
- it IS a blank you can start from;
- it IS created in one day, check the commit history. I broke my leg, so I wrote some code instead of walking!
- it IS a project you can participate to, pull requests are welcome, and anyone can edit the wiki;
- it IS full of bugs. Bugreports are welcome!
As an example, here are the sources for the game made by my students Salih Nascimento and Stephane Hulot, also check the following youtube video for a preview:
Compilation
sudo apt install -y libsdl2-dev git
git clone https://github.com/ssloy/tinyraycaster.git
cd tinyraycaster
mkdir build
cd build
cmake ..
make
You can open the project in Gitpod, a free online dev environment for GitHub:
On open, the editor will compile & run the program as well as open the resulting image in the editor's preview. Just change the code in the editor and rerun the script (use the terminal's history) to see updated images. Note how awesome Gitpod is, it allows to run SDL2 games directly in the browser!
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,454 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,131 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,563 starsmrdoob/three.js
JavaScript 3D Library.
117,544 stars