. .

development

Entity Based Programming?

June 29, 2010 10:55:44.798

Last night Michael pointed me to this article on something called "Entity Based Programming" - an approach that the author claims is better than OOP for MMOG (Massively Multiplayer Online Games). I read it with interest - the first three sections sounded interesting, and made some good points. Part four started to lose me though, as he veered into relational technology as the answer - by part five, I was completely off board. In a discussion of metadata, he had this to say about metadata for game objects:

You can’t do that with OOP: you can get some *similar* benefits by doing C-Header-File Voodoo, and writing lots of proprietary code … but … so much is dependent upon your header files that unless you really know what you’re doing you probably shouldn’t go there

This tells me that everything he knows about OOP comes from C and C++, which doesn't give me confidence in where he's coming from. It's the rest of part five that had me losing interest - his near obeisance to relational technology as a way to proceed. Apparently, he hasn't noticed that the large scale web apps - Twitter, Facebook, Digg - have all been bailing on relational technology, because it doesn't scale for their needs.

Based on what this guy writes - the need for speed - in MMOG systems, I simply cannot see relational as a scalable response. That's too bad, because the first three parts of his article were interesting. I'm not sure I'm sold on what he's pushing, but I was intrigued. Parts four and five? Totally lost me.

Technorati Tags: , ,

posted by James Robertson

Comments

Re: Entity Based Programming?

[swart] June 29, 2010 23:38:01.662

to be fair, there's not much OO in game engines beyond C++

Objective C will let you build Smalltalk-like object models, but unless you've got the math libraries and everything else properly wrapped you're looking at a world of Objective-C++ pain

Usually people build other language APIs on top of the game engine. A friend at work has integrated a GemStone/S database with the Torque engine. It sounds pretty cool, but you need layers and layers of tools as well.

In the end, it's only the big studios that can really afford these ambitious architectures, and their senior guys are all going to be blinkered by their formative years. It's very sad.

 Share Tweet This