Data updates between nodes, which way?

Started by
5 comments, last by Hot Dog 17 years, 8 months ago
Hi, a fellow student and me are currently devising an object model for a massively multiplayer game framework. Since we both have no experience in game development yet, we would like to post a question here which came up today and can be probably answered by you. We considered two possible ways for data updates between network nodes: 1) Changes applied to the local object hierarchy are propagated to interested observers in the form of delta updates. 2) Changes to the data on one node may be attributed to actions in the game mechanics. The idea is - accompanied by an approach to represent actions as objects - to sent these command objects to the attached observers. There these commands would be performed as well and thereby change the local data set in the intended way. Since the first proposal seems to be the traditional one, we are interested wether the second one could be of use as well. Is it feasible to send whole actions together with their attributes via network? Furthermore, is the assumption that all changes in the data set are caused by game actions right? Does anybody has any comment on this? Are there other known possibilities? Thanks for your help in advance.
Advertisement
Both have been done, in different variations. I suggest starting with the Forum FAQ for this forum, which contains some pointers.

Note that, if you have no previous experience in game development, trying to build a format object model for a massively multiplayer game is likely not the best thing to do. First, you'll probably miss a variety of real-world use cases, which means you'll have a harder time doing it, and second, what you produce will likely have little application to actual games.
enum Bool { True, False, FileNotFound };
Thanks for the reply.

We are developing this system as part of our bachelor thesis, therefore we have no choice but to do it ;)
Apart from that, we are neither supposed to construct a high-performant nor very feature-rich object model since the overall framework is an academical study, which is not chiefly focusing on evaluating our part.

I had a short view into the FAQ before posting and we have of course conducted some investigations on the topic, but unfortunately there is little compared to other academical topics. So, we hoped we could receive some practical experiences on our specific question.
You could start with existing libraries that provide structure, such as replica.net perhaps. Or you could start with an available open source MMO, such as planeshift.it or nevrax.org.

When it comes to object model, there isn't a lot published, because it's applied engineering, and commercial games just develop what they need, as they need it. No two games have the same needs.
enum Bool { True, False, FileNotFound };
Ok, thank you so far. There are at least a few papers describing general concepts of object models in game development. Real world projects don't really offer useful information as you stated. We had a look at massiv, worldforge's atlas and nebuladevice yet. Planeshift and nevrax sound interesting for a further investigation so far.

The most interesting article we encountered yet was:
http://www.devmaster.net/articles/oo-game-design/
www.gamasutra.com has a number of articles, which have been published in the magazine Game Developer. I seem to recall a number of articles on object models from a while back (it's pretty much considered a "solved problem" so you don't get lots of those these days).

Another source would be the Game Programming Gems series of books.
enum Bool { True, False, FileNotFound };
Hello Yankee,

You could take a look at the Enginuity series of articles by Richard Fine. Pity he didn't finish the series...

Here is the link for what I think you are looking for:

http://www.gamedev.net/reference/programming/features/enginuity2/




Regards,
Joshua

This topic is closed to new replies.

Advertisement