Human Simulator Design Resources. (think 13th floor)

After watching the 13th floor that day, I was obsessed to the point of writing a simulator like this.

I have written some simulations with a base human class that has a male and female subclass. They have a routine called runYear and they interact. They meet, work, die, have children, be sad, commit suicide, divorce, etc.

It will work for thousands of "years" and, depending on the parameters of the seed, it grows very strongly or dies off.

My question is, I've really maximized what I can do with this, and I'm looking to rewrite this from scratch, but I want the foundation to go ahead. Are there any good books or articles that can point me to me that will help me better understand how I need to design this one or what are the core funds that I should include?

At the technical point:

  • Should I be using an object-oriented database to store this information?
  • I was planning to write this in C # (for comfort reasons), would learning LISP be better?
  • Are there any other open source simulators anyone have come across I can possibly get some ideas from

Any other ideas / suggestions would be great.

Eric

+1


source to share


5 answers


The hardest part about this simulator is not how to implement it, but how you model your creatures and their interactions with each other and with the environment.

Just use the tools you like best with. I would most likely not use any database at first, I would use datastructures that my programming language uses, and perhaps write and read data as simple files when persistence is required.

Here are some links on simulations like this. Most of them are not at the human level, instead they work at the "low" level, thinking about insects, bacteria and DNA.



A few examples about existing systems:

+2


source


Swarm



+1


source


First, you need to start by creating a World class. Your world will encompass everything the world can do. You will want to include Gravity, Air, Ground, Walls, etc. You might want to start by giving the sky a limit, since you don't want someone to just leave your world and go do something in memory somewhere.

Once you've got the World setting, create yourself an abstract Human class. This class will have basic human abilities. You can specify things like height, weight, age, etc.

From there, you inherit the human class and create the Female and Human classes, each with their own specialized attributes. The woman class can have BreastSize, CookingSkill, SexualPrownessLevel, Etc ... The Man class will be mainly for keeping track of who is bald.

From there, you can go even further and split into ethnic classes like Asian, Indian, etc. Each ethnic class will have its own characteristics.

Once you get rid of it all, you can start working on some fun stuff. You can create objects to wreak havoc in their lives, such as disease, religion, money, crime, poverty, hunger, floods, tornadoes, etc.

+1


source


I think the first step is to describe your problem in a descriptive way first.

I like to think of this as a problem System-of-Systems

. For this take a look at SysML . This way, you can start at a high level and then add more and more fidelity as your system evolves.

+1


source


You should look at the framework for discrete events (there is a link to the list at the end). I only know SimPy for Python, but there are others that are open source and commercial. The basic structure is also pretty simple, so this should just be a "programming exercise".

0


source







All Articles