Last weekend I spent a few days developing a prototype for a game idea I had. The idea was to make something similar to Bomberman Quest (BMQ) but with stealth mechanics. BMQ is a Bomberman game with RPG elements. In any Bomberman game the player is required to time the placement of bombs such that they damage enemies who happen to be walking nearby. If you miss the timing or placement of a bomb it can become frustrating to wait for another window of opportunity.
My solution for relieving this frustrating is to modify the context in which it appears. It is a general fact that context has a lot to do with how we perceive a situation. By adding a stealth component, the player isn’t as bothered by waiting for another opportunity to damage enemies. It just makes more sense to wait for the opportune moment if the goal is to never be seen! From this simple idea I threw together a quick prototype.
The prototype was thrown together using the Love2D framework. Love2D is my GOTO framework for prototyping. It is awesome! I knew that since I wanted to make a stealth game that shadows would play a major role. I quickly learned that sticking to Love2D would only allow me to draw 2/3 shadow casters at a time and I felt this to be quite a low limit. The algorithm I chose for shadow casting is similar to the one described here. To bypass this limitation I switched to OpenGL rendering. Now I can draw 20/21 shadow casters without a substantial drop in FPS. This was my first time using OpenGL so naturally there were some glitches!