Profile Image

Nir Yomtov

An ever-so-curious Game Developer with a passion for creating polished experiences_
Interested in Gameplay & Graphics Programming, A.I, UI/UX and the way they all tie together to form experiences that leave a lasting impression

Bubble Bobble Remake

Github repository

Download Build

  • Engine Design
  • C++
  • OpenGL
  • SDL
  • Photoshop
Key Takeaways (What have I learned?)

Game Programming Patterns

This game was the result of a course that had us follow the Game Programming Patterns book by Robert Nystrom. As a result the game engine I created features patterns such as Command, Singleton, State, Observer, Game Loop, Update Method, Component, Service Locator, Dirty Flag & a few more. Reading the book, one quote in particular stuck with me - "If you want to make something fun, have fun making it." I applied it to this project, by having fun & making the most polished Bubble Bobble I could, instead of only a prototype to prove the utility of my game engine.

Using Threading To Load Sounds On A Separate Thread

Loading sound files without precaching them all as the game loads can be a bit tricky. To make sure the main thread doesn't hang while loading a particular sound for the first time, I set up a thread to run in parallal and take care of loading the sounds, and playing them as soon as they're loaded.

Next Steps (Given the chance, what would I improve?)

More Levels & Enemy types

I would like to add more than 3 levels, and more enemy types - especially the ghost that spawns when you take too long to complete the level.