A brand-new, old-school game-engine inspired by the likes of Wolfenstein 3D (1992) and Ultima Underworld: The Stygian Abyss (1992). Uses simple raycasting techniques and a uniform cell grid to render 3D.
- Levels are represented in memory as Jagged Arrays (to save memory)
- Wall and Floor maps are just CSV's (So I can quickly make levels in Excel)
- Wall and Floor textures are represented by char's so I can very quickly make maps with a variety of textures
- Wall/Floor file io
- Remake / Demake a Pokemon town in this engine
- Texture animations
- Src directory
- Frames (must have at least 1)
- Store current frame index tracker
- Frame rate
- Looping
- Random start frame
- Random frame order
- Texture transparency (ray pass-through to next texture)
- texture collision enabled bitfield for floor wall or ceiling via 0bXXX (similar to texture surface type) so you can have hotbox detection for walls, floors, and ceilings
- Sprites are all square/rectangular like minecraft and always face the player, but can "change direction" by changing the texture currently displayed
- Separate drawing/raycasting logic from window width and height
- Fixed visual artifacts and pixel densities
- Wall collision detection
- Basic texture mapping for walls
- Very warped tetures with many artifacts
- Very basic ray-casting
- No collision detection