SDL Snake Game

1 / 1

This game engine was developed for the module "Games Programming" whilst studying at the University of Lincoln. The engine was later used for the space bubble game, because it proved to be a solid base and much easier to replace SDL rendering with OpenGL. After the engine was developed, a small snake game lasting 60 seconds was built. For this module, I primarily focused on elements such as engine development rather than gameplay itself, therefore the game suffered quite a bit gameplay wise. However, I felt I learnt much more by implementing my own collision detection, small file systems holding assets such as sprites and audio, and configuration files. Some development is still done to this project, mainly experimental mechanics such as a level editor and is used as a learning platform to experiment.

Features:

  • A basic level with a duration of 60 seconds.
  • Gamepad support.
  • External options file containing keybindings.
  • XML Serialization for levels, menus, audio and sprites.
  • Procedural Grass Generation.
  • Powerup system.
  • Discord Rich Presence.

Planned Features:

  • Introduce more levels.
  • Event-Based System.
  • Introduce Component System.
  • Improve menu classes and handling.
  • Introduce configuration system for gamepad.
  • Level Editor.

Developed Skills:

  • Developed knowledge of C++.
  • Developed my own engine from scratch using SDL.
  • Data serialization to store levels, and files for the game to use.
  • An understanding of the 'Game Loop' patteern used in games.
  • Knowledge of SDL and other external libraries.

Links