Code Walhalla ... Avatar

Utopia: a first overview of involved modules

So the idea is to build a distributed ecosystem of Utopias. Each Utopia is something like a Rules Engine simulating a society. Rules are defined by human being, or groups of, using a DSL like in cucumber. At the beginning Utopia will be like a game.

We would like to let people try different options of society. A kind of SimCity but multidimensionnal => Politic, Economy, Cultur, Social; distributed =>as a MMORPG with instance running all over the world; realistic => Society behaviour modelisations are based on actual scientific state of the art; flexible all componants can be replaced and consequenlty evolve depending of Utopian beliefs and know-how.

I dont want to rebuild the wheel so for example,

  • Distributed interactions between utopias could be managed by node.js or EventMachine. That’s why Diaspora kernel is interesting as it is supposed to support a kind of distributed nodes of Human Being. I need something FAST. Why because, from the begging, the idea is to simulate a distributed brain. Ok web will never do it. TOO SLOW It’s like asking me to code a Cucumber tested controller as fast as Shay Arnett.
  • For the Rules Engine, Ruleby sounds good and simple enough in the early stage. But maybe, from a lower level point of view, stuff like Treetop is more profitable in the long term. As I know that I wont get anything really complex with a damned Rules Engine except for basic configuration.
  • The simulator kernel could reuse the principle of neural networks to agregate all inputs and learn from all thoses applied rules. It’s a really efficient way for a program to learn and also simulate dynamics. Ok but that could wait. Even if I know the basic theory pretty well I will need something better than a BackPropagation NN and probably a bind to a C lib you know to take care of  that heavy CPU consuming stuff…
  • We will need also in the kernel something like a Time simulator able to compute rules applied on the world to produce the system dynamic.

Ok that’s a really quick overview to focus attention on main areas of interest. Will be developped later.

References:

  • Diaspora is a distributed Opensource social network 
  • Ruleby yet another Rule Engine but at leat in Ruby
  • Treetop cause building a home-made rule parser could be useful
  • An interesting paper about simulation in Social Sciences bu Stephan Hartmann