Color Collision & Custom C++ ASCII Engine

March 2022 – April 2022

Engine and Game Programmer, Lead Designer

Development Info

Roles: Engine and Game Programmer, Lead Designer

Team Size: 1 (Engine) 2 (Game)

Development Time: 5 weeks (Engine) 1 week (Game)

Tools Used: C++, SFML, Visual Studio

Created as a class project for IMGD 3000 with Professor Mark Claypool.

Genre: Arcade

Platform: Windows

Project Status: Complete & Downloadable

Color Collision is an arcade-style game where you dodge across rails and match your color with oncoming blocks. Survive as long as possible and try to set the high score across different difficulties.

Extract and Run “Color Collision.exe” to play the full game!

Game Engine Development

During Mark Claypool’s Technical Game Development course, I was able to create a fully featured, text-based game engine from scratch using C++. The engine is based off the Dragonfly Engine, and features an object system with 2D physics, collisions, a full game loop with subscribable events, input management, and a robust error logging system. Objects are also rendered on screen with custom ASCII sprites and animations. This project strengthened my knowledge of C++ and gave me a greater understanding of the many different systems in game engines.

What I learned

  • Programming game loops, and creating event systems that allow for custom events and object subscriptions
  • Efficient C++ design conventions such as the singleton design pattern
  • Building a game world system; scripting and rendering gameobjects with world attributes
  • Incorporating the Simple and Fast Multimedia Library (SFML) to display text-based graphics
  • Implementing test driven development (TDD) to test game engine functionality