Bomberman Clone, Setting up everything and getting the engine ready!

Hello readers, in my current course “Spelprogrammering I” I have been given an assignment to remake an old game.  The game I have chosen to remake is Bomberman. I will also be trying to implement online multiplayer. So be sure to follow through my journey of discovery!

Some of the first thing I did was trying to get a clear idea how I would progress with coding the game. I started by making small notes of different classes and functions I would need for the game, and also get a clear idea how I wanted my Bomberman clone to be like. (What powerups I wanted to implement etc)

We had to use C++ and SDL for the game, but we’re also allowed to use other libraries, so I went with glew to get a nice interaction with OpenGL (http://glew.sourceforge.net/). I also went with OpenGL Mathematics (glm, http://glm.g-truc.net/0.9.7/index.html) to get access to a better mathematic library for the game.

The first days I used mostly to learn and get used to glew and glm. I made some test projects for just printing random colors on the screen to make sure I understood how it all worked. After learning a few of the basics of glew, glm and SDL, I started working on my engine. I choose to make my engine a separate project from the game itself and instead include it as a library. This was mostly done so the engine could be used for other games in the future and to separate the game and engine code.

After setting up the game as one project and the engine as its own, it was time to start creating the engine. My first task was to create a working engine, which I will later improve and upgrade as needed.

I won’t be going too deep into how the engine works for now, however I have made a simple picture to illustrate how the game and the engine works together. There are a lot more classes and functions that make it all work but I tried to include the “main” ones.

Simple version of bomberman and engine setup how the work and communicate

(It may be hard to see the picture; if it is you can press this link for a bigger version.)

Anyway, that’s it for today, the engine is shaping up to be quite nice and a lot of work has been done. If any reader would like me to go more into detail how a specific part of the engine work be sure to leave a message and maybe I will write about it in the future.

Thanks for reading!

About Pontus Berglund

2015 Programming