SDL Game Project Template

Job ID: 36726248

Budget: $30 – $250 CAD

Hi,

In this project, you will create a Game template for a side-scrolling 2D platformer game using SDL, C++, and visual studio.

Please check this YouTube Link for some ideas - https://www.youtube.com/watch?v=qIasQawEYbo

This project focuses more on creating a template for this sort of game so that the codes are reusable and the template can be used for creating similar styles of games like this. This project will be used to teach students about 2D game development and SDL, so you must leave detailed and useful comments where applicable. Please use visual studio community 2022.

The game doesn't need to be complicated. But it must include -
1. A singleton. Only one instance of the game it can be easily accessible from anywhere.
2. Add a state machine to run the game with Title state, game state, pause state, lose state, win state
3. Add a UI button to the states for transitioning to the next.
4. The game should have at least 2 levels. So that player can move to level 2, and from there, back to the main menu.
5. a HUD should feature essential things like life, score, etc.
6. At least two types of enemies with completely different features.
7. Animations for all major events like player running, death, idle, enemy attack, explosion, etc.
8. Should have background images (parallax background)
9. It Should have sound effects for every major event like player death, jumping, shooting, etc. There should be a background theme song.
10. Basic features like physics, collision, etc goes without saying.
11. Some obstacles like lava, spike or trap here and there, Some powerups which player can collect will boost them in some way etc.

Basically just need to build a fun working(no memory leak) game template that is easy to understand and can be build upon further. The code structure should be in a way that future development on this will not be an issue. You don't need to go too deep into a certain feature but please add as many essential features or gameplay mechanics as possible. Leave detailed comment in case they are required.

Please reach out to me if you require further clarification.
Related categories: C++ Programming Game Development