anthropograph demo

time velocity
faster slower
population: {{stats.populationSize}}
current year: {{stats.currentYear}}
iterations: {{stats.iterations}}
name gender nationality religion age MBTI parent1 parent2 {{}}
{{}} {{p.gender}} {{p.nationality}} {{p.religion}} {{p.age}} {{p.mbti}} {{persons[p.parent1].name}} {{persons[p.parent2].name}}
name {{}} overall avg (0-100)
{{}} {{n.traitAvg}}
name population avg appearance avg creativity avg health avg talent
{{}} {{n.populationSize}} {{n.avgs['appearance']}} {{n.avgs['creativity']}} {{n.avgs['health']}} {{n.avgs['talent']}}
name {{}} overall avg (0-100)
{{}} {{r.traitAvg}}


This is a demo for that started off as a project for Dan Shiffman's ITP course, Nature of Code.

Originally this was made with Processing and the toxiclibs library, but has been ported to HTML5 canvas and toxiclibs.js, plus angular.js for the tables and data.

The eventual plan is to integrate this with the main site so that user data can be imported into it (easily via JSON endpoint) and modeling/simulation can be done, either for gaming or for supplemental dataviz.

Assumptions & Design:

  • Currently God is only connected to those with a religion and not to agnostics or atheists. Monotheism is assumed.
  • Two persons of age may flirt(), haveChemistry(), and even have sex() regardless of genders or whether they are fertile, but procreate() requires specific conditions including gestation time, age, etc.
  • Currently procreate() only takes place between a male and a female. Other methods of adding children can be added later.
  • There's a small chance (2%) that beer() will assist in helping with partner chemistry, but not with procreate().
  • Persons are all connected to each other with a weak link and gravity.
  • Offspring have a small chance (5%) of mutation in a specific trait from their parents, and a small degree of variance from the dominant parent's trait.
  • Nations and family have the strongest gravity, but do not affect offspring's chance of procreate().