Wednesday, November 23, 2011

Intermediate Social Engine data

http://blogs.msdn.com/b/ericlippert/archive/2011/11/18/why-il.aspx

Nice little aside from the Roslyn project about Intermediate Language targets as a solution to the permutation of platform targets.  Mentions the economics of compilers and intermediate forms of representation. 

This got me thinking about intermediate forms of some of the things I have been working on recently. Would it be possible to transform social engine data into some sort of intermediate form... but as there is really only one runtime platform its not solving much of a problem at the moment. More of a potential future problem.

However as a thought exercise it does suggest a number of issues that might arise in the future which could be avoided by a big of forethought. 

Can a social engine data set be portable between games? Could it be expressed in terms of a different set of game assets? Would it be the same game with a different paint job?

What differentiates games of similar genre?  Bugs? Scenery? Unique rulesets? Different loot? Skill trees? Scenario? Mythologies? Price?  Economic models? UI?  Are these things significant or just decorative?

How ties into all this stuff is the social layer?  It certainly ties into the players experience so its not insignificant. 

Like all really abstract library systems, there is an increasingly high cost to applying an abstraction that someone else has developed, in that if you can't "see" how to implement your solution using their abstraction, its often easier to build your own, no matter how bad it may be rather than trying to use an abstraction that is an ill fit for your mental model. 

Its an ugly problem that boils down to "people factors". 

Modelling this stuff at a concrete level is hard enough, build a reasonable and bulletproof abstraction for the model with some options is exponentially harder.  Even harder when we only have a few examples to test it all against.  This is due to the fact that most social systems in games are really really bad.  Trying to use them for testing is like trying to test an iPhone with a hammer... somethings going to happen but its probably not going to provide a useful test scenario.


No comments:

Post a Comment