bfg
12-03-2008, 04:28 PM
I've been out of the gaming industry for a while now, but I still have a bunch of fairly strange design ideas I thought might be useful to someone. So, feel free to use or derive inspiration as you see fit. The following is really a generic mechanism to facilitate an MMO scale faction system rather than a design fleshed out for a specific game.
The problem that inspired this relationship system (for lack of a better name) is really a data representation problem. While thinking about modeling the relationships between game world factions, individual players, and AIs, especially in an MMO environment, I was quickly facing the possibility of storing and processing literally billions of relationships of the form: foo.feelsAbout(bar, [some numeric value]). The other side of the problem was presentation. How do you present this complex web of relationships to a player? This generated a short list of requirements:
1) model the dynamics of relationships between a variety of entities
2) present an graphic representation of these relationships to players
3) facilitate real-time processing
My solution was to think of social relationships as a sort of political shadow world, complete with its own objects and physics. In this paradigm I think of entities (factions and so on...) as objects in the political shadow world, and rules of social interaction as the physics of this world. The benefit of this is that the conceptual model suggests a presentational model. If the distance between two factions indicates, for example, their affinity, it's fairly trivial to render for the player a large number of proximity relationships in a 2D or 3D world. Likewise, it's fairly trivial to measure the distance between the locations of two factions in order to derive how they feel about each other, calculate how fast their relationships are decaying or improving, and a number of other analytic characteristics. Complex and dynamic social relationships can be modeled using simple and familiar physical mechanisms like gravity, speed, vector, distance, size, and so on.
So what? Some good things and bad things that emerge from this system:
- Good and Bad: when an object moves in relation to another object, it also moves in relation to every other object. Depending on how you utilize this constraint, it's a bug or feature. It does make some sense that altering your relationship with one faction affects all other relationships, but, it's not necessarily an intuitive result.
- Good: This would be a nice foundation for a dynamic quest generation system, or a player generated quest system, or a preferably a hybrid of the two. It conveys a lot of information in a dynamic model rather than the traditional static relationships one generally finds in games.
- Bad: Even a 3D world has limitations as far as representing complexity goes. If one thinks of faction metrics as dimensions, 3 factors isn't much. However, I might argue that humans live in a 3D world, so are, in general, existentially prone to getting confused when ideas grow beyond that complexity anyway. Still, it can be an annoying data constraint.
- Good: because the model behaves according to familiar physical rules, players can intuitively plan strategies in a political context, that then are reflected in "real" game world behaviors.
Questions? Comments?
The problem that inspired this relationship system (for lack of a better name) is really a data representation problem. While thinking about modeling the relationships between game world factions, individual players, and AIs, especially in an MMO environment, I was quickly facing the possibility of storing and processing literally billions of relationships of the form: foo.feelsAbout(bar, [some numeric value]). The other side of the problem was presentation. How do you present this complex web of relationships to a player? This generated a short list of requirements:
1) model the dynamics of relationships between a variety of entities
2) present an graphic representation of these relationships to players
3) facilitate real-time processing
My solution was to think of social relationships as a sort of political shadow world, complete with its own objects and physics. In this paradigm I think of entities (factions and so on...) as objects in the political shadow world, and rules of social interaction as the physics of this world. The benefit of this is that the conceptual model suggests a presentational model. If the distance between two factions indicates, for example, their affinity, it's fairly trivial to render for the player a large number of proximity relationships in a 2D or 3D world. Likewise, it's fairly trivial to measure the distance between the locations of two factions in order to derive how they feel about each other, calculate how fast their relationships are decaying or improving, and a number of other analytic characteristics. Complex and dynamic social relationships can be modeled using simple and familiar physical mechanisms like gravity, speed, vector, distance, size, and so on.
So what? Some good things and bad things that emerge from this system:
- Good and Bad: when an object moves in relation to another object, it also moves in relation to every other object. Depending on how you utilize this constraint, it's a bug or feature. It does make some sense that altering your relationship with one faction affects all other relationships, but, it's not necessarily an intuitive result.
- Good: This would be a nice foundation for a dynamic quest generation system, or a player generated quest system, or a preferably a hybrid of the two. It conveys a lot of information in a dynamic model rather than the traditional static relationships one generally finds in games.
- Bad: Even a 3D world has limitations as far as representing complexity goes. If one thinks of faction metrics as dimensions, 3 factors isn't much. However, I might argue that humans live in a 3D world, so are, in general, existentially prone to getting confused when ideas grow beyond that complexity anyway. Still, it can be an annoying data constraint.
- Good: because the model behaves according to familiar physical rules, players can intuitively plan strategies in a political context, that then are reflected in "real" game world behaviors.
Questions? Comments?