A retro style homage to 80s dungeon crawlers hand crafted in C++.
Find a file
2025-01-30 13:28:32 -05:00
amt The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2025-01-19 12:58:05 -05:00
assets Fix a typo. 2025-01-30 13:28:32 -05:00
magick Some quick hacks that do the seamless texture splits. 2025-01-22 11:14:57 -05:00
scratchpad Now the sprites are rendered in the 3d scene with just SFML sprites. 2025-01-23 11:24:06 -05:00
scripts Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2025-01-19 04:02:42 -05:00
shaders Playing around with shaders for effects on the scene. 2025-01-27 11:36:00 -05:00
tests Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
tracy The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2025-01-19 12:58:05 -05:00
wraps Tweaking the build to turn on various debug options in GCC and enable -Wall -Werror on only our executable configs because turning them on globally causes most of the dependencies to fail. One thing to note is if you try to move the -D_GLIBCXX options from the project() to the executable() then you get segfaults inside the libc++ and other places. This is because the ABI changes when you enable these options, so you have to recompile _all_ dependencies with these options. 2025-01-19 04:02:42 -05:00
.gdbinit My gdb debug thing. 2025-01-13 13:39:12 -05:00
.gitignore First build that actually works. SDL_main errors before but didn't figure out the cause. 2025-01-02 11:47:02 -05:00
.vimrc_proj First build that actually works. SDL_main errors before but didn't figure out the cause. 2025-01-02 11:47:02 -05:00
animator.cpp Playing around with shaders for effects on the scene. 2025-01-27 11:36:00 -05:00
animator.hpp Playing around with shaders for effects on the scene. 2025-01-27 11:36:00 -05:00
combat.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
combat.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
components.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
components.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
config.cpp Amit's code mostly converted to use the new texture.hpp but there's an error on line amt/pixel.hpp:472 2025-01-17 11:36:03 -05:00
config.hpp Finished the first pass of moving everything around and cleaning up as much as possible. 2025-01-17 03:45:05 -05:00
constants.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
dbc.cpp Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2025-01-18 00:44:25 -05:00
dbc.hpp First cut at a replica of the python raycaster. Left side almost works the same but have to sort out math differences. 2025-01-04 12:20:41 -05:00
dbg.h Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2025-01-18 00:44:25 -05:00
devices.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
devices.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
dinkyecs.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
events.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
inventory.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
inventory.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
levelmanager.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
levelmanager.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
lights.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
lights.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
main.cpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
Makefile The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2025-01-19 12:58:05 -05:00
map.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
map.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
matrix.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
matrix.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
meson.build Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
meson.options Add the tracy wrap and meson options. 2025-01-18 13:33:45 -05:00
pathing.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
pathing.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
point.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
rand.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
rand.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
raycaster.cpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
raycaster.hpp Playing around with shaders for effects on the scene. 2025-01-27 11:36:00 -05:00
README.md A quick warning in case people are funding the thing. 2025-01-28 02:45:02 -05:00
save.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
save.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
shiterator.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
spatialmap.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
spatialmap.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
stats.cpp Bring in the gnu omni font for text, and rewrite my stats code to use c++ and then use that to calc FPS stats for an FPS display on the left. Debug build gets about 48, release gets about 500fps. Amit's code will probably do even better. 2025-01-18 02:42:41 -05:00
stats.hpp Bring in the gnu omni font for text, and rewrite my stats code to use c++ and then use that to calc FPS stats for an FPS display on the left. Debug build gets about 48, release gets about 500fps. Amit's code will probably do even better. 2025-01-18 02:42:41 -05:00
systems.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
systems.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
texture.cpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
texture.hpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
tilemap.cpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
tilemap.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
tser.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00
worldbuilder.cpp First hack to get a random gen map going. 2025-01-30 13:23:12 -05:00
worldbuilder.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00

Simple Raycaster Study

This is a study project for me to learn the raycasting technique. It's an older technique that's not really used much but I'm learning game dev historically and it's definitely been used in the past (Doom).

Don't Study This Code

This code is mostly a tech study and demo, not an actual game. It could be a game but it will require a significant cleanup to improve the layout and design. It's also the culmination of studying about 6 different tutorials on raycasting so it has a weird mix-match code style as I brought ideas over from other tutorials.

Eventually this will be more understandable, but for now just browse it casually and ignore the inconsistent style and kind of stupid structure.