/reicaster

A 3D raycaster using C++/SDL2

Primary LanguageC++GNU General Public License v3.0GPL-3.0

reicaster

License Issues GitHub pull requests


A 3D C++ raycaster written in C++ with SDL2, using the DDA algorithm.

Clone with

$ git clone --recurse-submodules https://github.com/lordoftrident/reicaster

Table of contents

Quickstart

Bootstrap the builder with

$ cc build.c -o build

And then use it to build the project

$ ./build

Dependencies

Milestones

  • 3D rendering
  • Textured walls
  • Slabs
  • Sky
  • Jumping on slabs (z collision)
  • Textured floor, ceiling
  • Doors, thin walls with transparency
  • Lighting system (possibly with shadow casting)

TODO

  • All of the milestones
  • Proper z player position and velocity
  • Multiple textures from a sheet
  • Load texture sheet from a folder in the same directory as the executable
  • Optimize and remove lag
  • Loading maps from files
  • Better collision
  • Proper mouse look
  • Comment source code
  • Wall x and y size and position inside a block property
  • A wall property to attach it either to floor or ceiling (for DOOM-like doors)
  • DOOM-like doors (sliding up using the wall height and z position property)

Bugs

If you find any bugs, please create an issue and report them.