- Understand and implement 3D rendering algorithms (raycasting, DDA).
- Handle real-time graphics resources with operating system events.
- Model the interaction between data structures, mathematical logic, and rendering.
- Strengthen skills in modular design, working under constraints, and best practices in C.
- Basic real-time 3D rendering.
- Player movement (WASD, rotation).
- Parsing of
.cubfiles to define maps, textures, and colors. - Collision detection and camera logic.
- Support for textures (N, S, E, W) and floor/ceiling colors.
- System architecture: clear separation between rendering, parsing, and input handling.
- Graphics algorithms: solid understanding of trigonometry, geometry, and raycasting.
- Memory management in C: correct usage of pointers, dynamic structures, and manual debugging.
- Modular and maintainable design: code structured by responsibilities with reusable functions.