https://github.com/JacobSussan/AE2D-Games
A collection of 2D games and projects built using C++ & SDL/OpenGL
Zombie Game
This 2D wave based zombie defense game was something I created to learn about OpenGL. The game uses C++ and OpenGL to draw zombies to the screen, which use A* pathfinding to create a path to the nearest human. Once a zombie touches a human which I determine using collision testing, it becomes a zombie as well (unless it’s the player, in which case the game ends). The player has the goal to defend the humans and survive for as long as possible. The zombies, humans, and player are all agents, and I use polymorphism and the basics of Object Oriented Programming to make managing the different entity types easy.
There are multiple guns, with different stats like firing speeds, spreads, ammo, etc. If a bullet hits an agent, they will take damage and they will die once they reach 0 health. There is support for multiple levels, which are loaded from json files. The game has sound effects for shooting guns as well as background music using SDL Mixer. There are also turrets that shoot at zombies if they are within range. There is a simple GUI system using SDL TTF and OpenGL.
2D Block Game
This 2D block game made with C++ allowed you to place and remove different blocks in an infinite 2D world. Think like Minecraft, but 2D, or terraria. I used a chunking system to optimize performance and allow for an infinite world. I used Box2D for the physics. I started (but never finished) implementing multiplayer to the game. It has support for different block types, game modes, enemies, and more.