Sunday, January 10, 2010

Out Like A Lightbulb

My wife and I have really enjoyed playing the classic Bomberman games together.  We've looked for games in a similar style, and one day I decided I could build one.  We spent several hours over several days envisioning and discussing our new game and its game-play.  The basic idea was that each player would control a cartoony penguin, with the intent of finding a way through a maze as quickly as possible.  We elaborated on the maze idea, adding blocks which could be moved by either player to interfere with the progress of the opponent.

My wife sketched out a few mazes, and that led me to consider how to get the paper versions into a digital format.  I decided a map builder program would be ideal, with a two-dimensional display of the maze next to a separate toolbar.  The user could click on various points within the display, and alter the layout of the map.  The idea was to implement various tools, the selection of which would cause different layout changes to the map--walls and hallways; movable blocks and other obstacles; player starting positions; etc.

I had a little bit of OpenGL experience from a class I had taken, and decided I would like to learn more about the API.  I had used C# and the Tao framework for my class project, so was somewhat familiar with it.  Enough, I figured, to be able to get a good start.

I loaded up Visual Studio, started a new C# project, and included the Tao.FreeGlut and Tao.OpenGL references, as well as the freeglut.dll file.  During my class, I had made the mistake of not including the .dll file with my executable, so I couldn't get my program to run on others' machines.  This time, I made sure the .dll was exported along with the executable.

It turns out to have been a pretty futile exercise.  Soon after I got the program compiling (and not doing much else), I started thinking about how I would randomly generate an arbitrary-sized maze.  I came up with an algorithm, and started planning a new side-project, which (at the time) was to be entirely unrelated to the game.  Before too long, though, I had abandoned the map-building project altogether.

No comments:

Post a Comment