June 12, 2007

Thoughts on database management in role-playing games

I’ve just started a research project on the IT-like technology of games and virtual worlds, especially MMORPGs. My three recent posts on Guild Wars attracted considerable attention in GW’s community, and elicited some interesting commentary, especially for the revelation of Guild Wars’ very simple database architecture. Specifically, pretty much all character information is banged into a BLOB or two, and stored as a string of tokens, with little of the record-level detail one might expect. By way of contrast, Everquest is run on Oracle (and being transitioned to EnterpriseDB), at least one console-based game maker uses StreamBase, and so on.

Much of the attention has focused on the implications for the in-game economy – how can players buy and sell to their hearts’ content if there’s no transactional back-end. Frankly, I think that’s the least of the issues. For one thing, without a nice forms-based UI you probably won’t create enough transactions to matter, and integrating that into the game client isn’t trivial. For another, virtual items can be literally created and destroyed by the computer, with no negative effect on game play, a factor which drastically reduces the integrity burdens the game otherwise would face.

Rather, where I think the Guild Wars developers at ArenaNet may be greatly missing out is in the areas of business intelligence, data mining, and associated game control. Here are some examples of analyses they surely would find it helpful to do.

And I could keep going.

What these questions have in common – other than that answering them helps make the game better and more appealing to its players – is that to answer them, it is extremely helpful to deploy one or both of two database technologies. One is ordinary relational DBMS; e.g., if you have the inventory info in traditional record formats, it’s easier to do cross-player queries. The other is memory-centric event processing. Thus, if you have a stream processing engine (StreamBase, Truviso) or an in-memory (fully or hybrid) RDBMS (SolidDB, TimesTen), you can capture, filter, and selectively keep all sorts of moment-by-moment gameplay info that otherwise gets discarded or else is aggregated only on a very gross basis.

My sense is that some other MMORPG makers are ahead of ArenaNet in these regards, but I don’t know how far ahead. I hope to find out soon.


Leave a Reply

Feed: DBMS (database management system), DW (data warehousing), BI (business intelligence), and analytics technology Subscribe to the Monash Research feed via RSS or email:


Search our blogs and white papers

Monash Research blogs

User consulting

Building a short list? Refining your strategic plan? We can help.

Vendor advisory

We tell vendors what's happening -- and, more important, what they should do about it.

Monash Research highlights

Learn about white papers, webcasts, and blog highlights, by RSS or email.