A 2D point and click movement survival game developed in C++ using SFML.
In this game, players must survive waves of zombies and skeletons using a variety of weapons, strategic movement, and quick reflexes. The project demonstrates core OOP concepts, including inheritance, polymorphism, encapsulation, and composition.
The game was built with modular class architecture:
Game: Menu navigation and start game logic with the core game loop and state manager.Entity: Everything interactive the game itself.-
Projectile: A subclass ofEntitythat is the projectiles fired by everyCharacter.
-
Character: A subclass ofEntitythat is everyCharacterin the game.
-
- -
Player: Subclass ofCharactertthis is you the player that you control.
- -
-
- -
Enemy: Subclass ofCharactercontaints the enemy AI.
- -
-
-
- -
Zombie: Subclasses ofEnemychases you around doing damage on contact.
- -
-
-
-
- -
Skeleton: Subclasses ofEnemystays stationary on the screen shooting projectiles at you.
- -
-
Weapon: EveryCharacterholds a weapon which determines the damage they do and the size of projectile.
- Language: C++
- Library: SFML (Simple and Fast Multimedia Library)
- Tools: Git, Visual Studio / VS Code
- Launch the game with "make files" in the terminal.
- The Main Menu will appear click
Play!. - Choose your weapon in the Weapons Menu.
- Use your right mouse button to move and space to shoot with the mouse position to aim.
- Survive as long as you can!
- When defeated, the Death Screen will show your stats.
- You can press continue to play again and beat your high score!
- Launch the with "make tests" in the terminal.
- Various unit tests will be conducted and if there are no errors there will be a confirmation all the tests passed succesfully
- Lilith Jackson
- Isaac Sheehan
- Jason Liang
- C++17 or newer
- SFML 2.5.1 or later
- CMake (optional)
- Mouse (optional but creates a more fun experience)