My 2D game engine with Raycast renderer, written in C.
Control the player's movement with WASD and look with Left Arrow and Right Arrow keys.
TASKS COMPLETED:
- Raycasting with DDA Algorithm
- Rendering Rays
- Map Rendering (Line and Rect render methods)
- Wall Rendering
- Texture mapping
- Sprites
- Movement
- Wall Collision
- Sprite depth sorting
- Z-Buffer (Bubble sort algorithm)
Demo video: https://youtu.be/hzF2T2mgris
Play JavaScript prototype here: https://safakonol.github.io/RaycastJS/
TODO:
- Floor & Ceiling Casting
- Sprite collision
- Sprite animations
- Collectables
- Door & key logic
- Projectile
- Enemies
- Health
- UI
References:
- Pikuma Raycasting Engine Programming https://pikuma.com/
- Lode's Computer Graphics Tutorial https://lodev.org/cgtutor/raycasting2.html#Introduction
- Permadi Ray-Casting Tutorial For Game Development And Other Purposes https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents/
