Exploring raycasters and possibly make a little "doom like" game based on it.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Zed A. Shaw 7228bdf210 Trying out an FSM for controlling the main loop. 1 month ago
amt The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2 months ago
assets Tiles now record their textures and this is loaded from the map then converted to an indexed integer on the fly. 1 month ago
magick Some quick hacks that do the seamless texture splits. 2 months ago
scratchpad Now the sprites are rendered in the 3d scene with just SFML sprites. 2 months ago
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. 2 months ago
shaders Playing around with shaders for effects on the scene. 1 month ago
tests Trying out an FSM for controlling the main loop. 1 month ago
tracy The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2 months ago
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. 2 months ago
.gdbinit My gdb debug thing. 2 months ago
.gitignore First build that actually works. SDL_main errors before but didn't figure out the cause. 2 months ago
.vimrc_proj First build that actually works. SDL_main errors before but didn't figure out the cause. 2 months ago
Makefile The tracy directory now has an experiment in getting Tracy to work. It's _not_ as easy as it is touted to be. 2 months ago
README.md A quick warning in case people are funding the thing. 1 month ago
animator.cpp Tiles now record their textures and this is loaded from the map then converted to an indexed integer on the fly. 1 month ago
animator.hpp Implement a little junk camera on its own that we can use later for movement and views. 1 month ago
camera.cpp Trying out an FSM for controlling the main loop. 1 month ago
camera.hpp Trying out an FSM for controlling the main loop. 1 month ago
combat.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
combat.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
components.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
components.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
config.cpp Amit's code mostly converted to use the new texture.hpp but there's an error on line amt/pixel.hpp:472 2 months ago
config.hpp Finished the first pass of moving everything around and cleaning up as much as possible. 2 months ago
constants.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
dbc.cpp Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago
dbc.hpp First cut at a replica of the python raycaster. Left side almost works the same but have to sort out math differences. 2 months ago
dbg.h Fixed that crash and cleaned up more variables for some study next. I might also try out my debug macros. 2 months ago
devices.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
devices.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
dinkyecs.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
events.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
fsm.hpp Trying out an FSM for controlling the main loop. 1 month ago
inventory.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
inventory.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
levelmanager.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
levelmanager.hpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
lights.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
lights.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
main.cpp Trying out an FSM for controlling the main loop. 1 month ago
map.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
map.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
matrix.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
matrix.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
meson.build Trying out an FSM for controlling the main loop. 1 month ago
meson.options Add the tracy wrap and meson options. 2 months ago
pathing.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
pathing.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
point.hpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
rand.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
rand.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
raycaster.cpp Mostly working junk camera that can do turnbased lerp smooth motion. 1 month ago
raycaster.hpp Mostly working junk camera that can do turnbased lerp smooth motion. 1 month ago
save.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
save.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
shiterator.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
spatialmap.cpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
spatialmap.hpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
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. 2 months ago
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. 2 months ago
systems.cpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
systems.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
texture.cpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
texture.hpp Raycaster now controls the sprite locations with SpatialMap rather than the old way. Quick hack job in main.cpp that shows how they can move too. 1 month ago
tilemap.cpp First hack to get a random gen map going. 1 month ago
tilemap.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
tser.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago
worldbuilder.cpp Tiles now record their textures and this is loaded from the map then converted to an indexed integer on the fly. 1 month ago
worldbuilder.hpp Brought over a bunch of code from the roguelike and now will use it to generate a random map. 1 month ago

README.md

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.