September 15, 2007

p

AGDC 2007 - Day 3

Filed under: Game Industry — Joe @ 11:54 am

9:30am Friday - Coming to America: Nexon’s Microtransaction Revolution

Minho Kim - Nexon

This was the keynote for the third day of the conference and it was every bit as good as the Habbo Hotel talk.  The talk centered around Nexon’s experience bringing Maple Story to the US.  Gamasutra has an excellent write-up.

Unfortunately I was distracted during the talk trying to get my slides onto the laptop I borrowed.  Turns out that some thumbdrives, including mine and Brian’s, require a driver install that is incompatible with Vista. Fortunately Damion was able to read the thumb drive and the convention center WiFi was working well that morning, so the day was saved! Thanks for the help, guys.

11:00am Friday - Flogging: Data Collection on the High Seas

Me!

I think it went pretty well.  You can find the slides here.

1:30pm Friday - Massively Modernized Online: MMO Technologies for Next-Gen and Beyond

Shannon Posniewski - Cryptic Studios

Shannon is the technical lead for game play programming on all Cryptic titles. He described the architecture of the City of Heroes servers, and then went on to detail how they are simplifying things for Marvel Universe. I expect we will go through a similar process with our servers for whatever our next game turns out to be.

The big shocker in the talk is that Cryptic is writing its own database server for Marvel. They were dissatisfied with the performance they got from Microsoft SQL Server for CoH, so they are writing an object-oriented database form scratch. That’s one approach to the object-relational mapping problem, I suppose. It just seems like a risky move for something that’s so fundamental to the game.  I hope it works out for them though.  I loved CoH and I’m really looking forward to Marvel.

And that’s it!  While this wasn’t the strongest conference I’ve been to, there were some solid talks. It was also good to get down to Austin and see everybody. I’m definitely going back next year.

8 Comments »

  1. The big shocker in the talk is that Cryptic is writing its own database server for Marvel.

    Uhm… wow.

    Can you clarify what “the object relational problem” is? Or post a link?

    Comment by Jeff Freeman — September 15, 2007 @ 11:31 pm

  2. MMO state is usually represented at runtime by a hierarchy of objects. An entire object is either in memory or out of memory, and most transactions operate on an object by ID. It’s relatively uncommon to need to look up an object by any of its fields apart from its ID. Character name is the obvious exception.

    Relational databases are all about flat tables of records. SQL queries are very good at gathering that data up in lots of different ways based on any of the data, but they really only support a list of flat records as their output. The simplest implementation of storing objects into a relational database would be to have a table for each object type and have each object field be a column. Depending on how you do the lists, that might involve a query per sub-object, which for a character and his inventory could be hundreds of queries.

    Ben Zeigler, another engineer from Cryptic, posted his take on the subject last year.

    Comment by Joe — September 16, 2007 @ 7:23 am

  3. Great link, thanks.

    All I’d read about object db’s before seemed to talk about an entirely different sort of thing, totally irrelevant to what we’ve been needing.

    Case in point, from today:
    Startup City: DB4Objects Takes A Run At The Object Database Market

    …but reading that, it seems that when they say “object-oriented db” they mean “a db which is embedded in an “object”, such as a photocopier or a cellphone, for example.

    Hell of an opportunity for a db software developer to sell everyone in the entire MMO industry a db, there.

    How did all those middleware merchants miss that one?

    Comment by Jeff Freeman — September 16, 2007 @ 8:49 pm

  4. It seems that DB4Objects is actually both embedded (like in a photocopier) AND an object DB. If you have a cache server as part of your architecture anyway, it may not be too big a deal to embed the database directly into that instead of having it talk over the network to a DB server.

    Versant has been trying to sell their object DB at AGC for years. I don’t know of anyone who has actually licensed it, or even evaluated it. I haven’t looked very closely, so I don’t know if that’s because “it sucks” or “nobody else has licensed it so I’m not going to either.” The database is such a critical component that I’d be reluctant to be the first one to license some unknown database.

    The database layer seems to be a weak spot for the general MMO middleware providers too. I’ve heard from one Big World licensee that their database layer is pretty weak and is causing the licensee to work around it for a lot of things.

    Comment by Joe — September 18, 2007 @ 11:04 am

  5. Sorry I got to the party late, but…

    That’s really weird, Joe. They HAVE Sql Server licenses already and they’re writing something new to handle base object storage and retrieval?

    Something tells me somebody’s either using the 2000 version or, and this is more likely, is not fully exploiting the capabilities of their DB platform, because I can get absolutely cracking performance out of SQL Server 2005 in object creation, storage and retrieval, even to the point of indexing on object IDs when objects are stored to a single field.

    SQL Server has become much more a programmer’s platform with 2005 than a DBA’s. I think maybe Cryptic haven’t spotted that yet.

    Comment by Rich Bryant — September 25, 2007 @ 1:54 am

  6. CoH was published and operated by NCsoft, so they’re the ones with the licenses. As I understand it, Cryptic was pushed into using SQL server late in the development of CoH and never really appreciated what they had. CoH came out in 2004, so they were obviously using the 2000 version at that time.

    We’re using 2005 for Pirates and it’s working just fine. Our objects are stored as BLOBs, which is fairly lame, but the performance is fine. Given enough time to write a strong object-sql mapping, I’m confident it would handle that too.

    What sort of schema are you using to store objects in SQL? One table per class? One table per field type?

    Comment by Joe — September 25, 2007 @ 8:39 am

  7. I’d wondered what you game devs used in terms of a DB. I’d heard rumor that SWG made oracle cry, so I wasn’t sure what you guys used. I’m glad to here it’s the same stuff we use out in business land. I’ve never heard of any successful usage (the old MUMPS system that the VA hospitals run on doesn’t count, since it’s older than dirt) of anything other than the standard 3 in business either (and Navision doesn’t count either, man that thing sucked…fast, but painful).

    Comment by BugHunter — September 25, 2007 @ 4:33 pm

  8. SWG _did_ make Oracle cry, but that was more of a design problem than a limitation of Oracle. Every stat on every item could be overridden on every instance of that item. They had to deal with a tremendous amount of data scattered across many different tables. One of the guys from the SWG server team is now building the database layer for the Bioware MMO, and seems to be doing things differently. In fact he gets a horrified look on his face whenever the SWG object scheme comes up in conversation, so I think maybe he was scarred by the experience. :)

    Comment by Joe — September 26, 2007 @ 9:22 am

RSS feed for comments on this post. TrackBack URI

Leave a comment