A retro raycasting engine written in Haskell and C. Uses no CUDA, no OpenGL. At first the idea was to do everything in Haskell but now it looks like most rendering will be outsourced to C.
- Textured walls
- Textured floors and ceilings
- crude collision against walls detection
- Sprites (moving and stationary objects, 2D images “billboarded” into the world)
- Point lightsources (per pixel lighting on floors, per column lighting on walls)
- Examples/Wolf3DStyle: Retro wolfenstein3d style dungeons where everything is made of “cubes”
- Examples/Portals: Walls can be at any angle towards eachother. There are “Portals” to make the number of walls needed to intersect against smaller.
- Examples/DungeonGame: Limited movement (like in the Old Eye of the Beholder games). (uses the cubeworld renderer).
- Implement an “all-Haskell” version for comparison.
- Find a way to present text on the screen that does not crash like SDL-ttf does.
- Collision agains walls needs improvement.
- Add Doors
- Lighting (lightmaps most likely)
- Really render ceiling, not just copy the floor onto the ceiling as well (as now).
- Monsters that move.
- I want to use the Int32 type to ensure what I do runs the same on 64 and 32bit architectures.