Description
A custom 2D engine written in C++ with a euphemism as its name (for the record, this doesn’t imply anything on behalf of the quality of the engine though). This project was a final assignment for the “Programming 4” course, with the goal of finishing the start of a given base engine, which was made to be bad on purpose and re-creating the famous QBert game using your own improved engine version.
The engine supports a few neat features which make for the success of fun and nostalgic QBert and has been revisited a few times for refactoring/cleaning of the code.
Features/Patterns
Features
- 3 Playable Levels
- Score and Health System
- Menu's and UI
- Keyboard + Controller Support
- 2D Collision System
- 2D Spritesheet Animations
- Hexagonal Grid-System
- Enemy Game AI for Hexagonal Grid
- Multithreading
- SDL Audio
- .JSON Game Info Parsing
Patterns
“Patterns?”, you might ask yourself. Yes, I’m referring to Game Programming Patterns, a highly recommended book I used as a help/reference for any situations that fitted my needs.
- Commands
- Observers
- Singleton
- Game Loop
- Update Method
- Components
- Event Queue's
- Service Locators
- Dirty Flags