Games As Database Projects

Several years ago I heard a talk by a professor who taught a database course. The case study if you will was a massively multi-player role playing game. is explanation was that all a MMRPG really is is a database with a cool (usually graphical these days) front end. All the complexity of a serious database is still there. Plus there is the added complication of multiple people making updates, spreading information across multiple systems and oh by the way it has to be fast. This all came back to me as I was playing Spymaster last week.

Spymaster is an online game that is closely tied to Twitter. Liz Lawley has some thoughts on the spymaster twitter game that explain what it is and some of the issues with it in some detail. Recommended reading even if the rest of my post isn’t so interesting. When I first started playing the game it reminded me of a project one of my students did many years ago. It was a single player simulation sort of game that allowed the player to play against the computer. It was really very simple and the user interface was crude and basic. It was a first programming course of course so that is to be expected. The problem I had with it was that it was all luck. How well you did was solely dependent on the random number generator. Still it demonstrated the concepts I was looking for which was good.

Spymaster also is highly dependent on chance. But the chance is affected by things that are somewhat under your control. That is where the database comes in. There are many properties associated with each player so when the “attack” each other those factors tip the scales of randomness. It’s not that difficult in theory to create such a game. Creating one that scales to the level of Spymaster is of course more difficult as is building the very nice looking user interface. But I’m toying with the idea of creating a template sort of game. A simplified game that students would be able to expand and examine to learn about databases. And network communication since what’s the point if there is not multi-player activity?

I figure that the first thing to do is to figure out the database. Well once I figure out the nature of the game that is. Right now it is just a thought in progress. I’m open to ideas, suggestions, people telling me that it is a stupid idea or a so-so idea or even a great idea. What do you think? Perhaps someone has done it already?

BTW you can follow me on Twitter @AlfredTwo and if you want an invitation to play Spymaster let me know. I can always use members of my organization. :-)