The Next Big Gaming Platform: SQL Server?!

I realize that I'm normally off-topic, so it's weird for me to actually be blogging about SQL Server on my vacation... Figures.

 
 

I've blogged before about the Real Reason™ that most guys my age (at least in the USA) got into software development: video games. Back in my day, they wasen't even much "video" in our games. MUDs, MUCKs and MOOs were all text-based multiplayer games (think Zork over the internet)... But that didn't stop many guys I knew from flunking out of college for playing games instead of going to class, even guys on full scholarships like me. Not the outcome most people expect for National Merit Scholars. Needless to say, there's a lot of passion around computer games of all kinds for my generation.

 
 

I took some vacation time earlier this summer to attend the XNA Gamefest on my own dime, which was entertaining and educational. I've always want to write and play video games for a living, so I'm sort of a game developer fanboy extraordinaire. I even forced myself to play all the way through Braid last weekend, but that's another story for another day... Back to SQL Server.

 
 

One of the cooler sessions (to me) at Gamefest 2008 was delivered by Steve Jackson from XNA Live Server. (No relation to the game company Steve Jackson in Austin of GURPS and Paranoia fame that I know of.) It was titled SQL – The Next Great Gaming Platform, which is what caught my attention. Although I'm not a fan of Itzik Ben Gan's sudoko-in-sql puzzles and logic games of that nature, I figured that's what Steve was going to talk about. (Personally, I like my games with BIG EXPLOSIONS in 3D and cool music.) I didn't have high hopes for the kinds of games that run in SQL Server, but out of sheer curiosity I made room in my full conference schedule to go. And I was very surprised.

 
 

The session Steve gave was a good introduction (as much as you can get in an hour) to using SQL Server as a back end for Xbox and PC games ranging from MMORPGs to racing games to casual games built in Popfly... The message was simple: You guys are good at making great games, so focus on that and don't try to reinvent the wheel -- use an established RDBMS that somebody else who is good at it has built already.

 
 

It was an entertaining session given by a good speaker, but I didn't really learn anything new about database architecture or design. For my part, I thought it was somewhere between a 100 and 200 level session… but the rest of the audience apparently learned a lot and many thought the session was too deep! Which surprised the heck out of me. I always knew that game development was a pretty isolated niche of the software ecology (most of us have to don't worry about a few extra CPU or GPU cycles in the course of development), but I never realized that things that business software developers take for granted (like transaction logs, record locking, transaction isolation, fault tolerance, disaster recovery, etc) were totally outside the experience of the mainstream game developer.

 
 

I'd like to go on the record: if any game developer out there wants help with their SQL Server databases, I'd be happy to contribute database expertise and code in exchange for free games. Heh.