Game Written in C and SDL2

This is a project I submitted as a university project during my 1st year, which also happened to be my very first experience with SDL2 and game development, where I learnt many useful technologies and skills.

For the development of this project, a lot of learning and research had to be done. The following are the biggest learning points:

  • Project structure and control flow planning (e.g. flowchart)
  • Writing a game engine from scratch, covering the game logic in its entirety (e.g. collisions, movement, health, damage, projectiles, camera movement)
  • Designing a simple, custom map tileset file format
  • Developing a custom map reader to view created maps (also written in C and SDL2)
  • Simulating game events in real time and displaying appropriate sprites and animations
  • Simple Enemy AI design
  • Using SDL2 to create a screen renderer
  • Multi-file I/O

This project also proved to be a valuable lesson in project structure and organisation. Although I do not plan on maintaining this project any longer, my other projects make use of standard project structure and build tools such as CMake and Make, to ensure that a organised structure can be designed and maintained.