All Projects

C++ Asteroid Shooter Game

cpp asteroid game 01

Article WIP

GitHub repo WIP

This is one of my bigger C++ projects where I gained some skills in exploiting the modern features the language has to offer. Some of these include: partial template specialization (e.g. ResourceManager<sf::Music, IDENTIFER> is a specialization of the general ResourceManager<RESOURCE, IDENTIFER>), perfect forwarding (of universal references e.g. template <typename... Args> void Entity::setPosition(Args&&... args) { _sprite.setPosition(std::forward<Args>(args)...); }), and OOP.

Moving forward, I might explore creating applications or games with concurrency (asynchronous I/O on the UI thread which offloads expensive computations to worker threads and thread synchronization) using the C++ standard library.

Much credit to SFML Blueprints book by Maxime Barbier for the assets such as graphics and sounds and also the skeleton code.