Dagget + Norbert

Gaming the Co-evolution of Social Traits

Dagget Plus Norbert

Daggett+Norbert (D+N) is a gamified version of Project CooperativeCritters (CC) described here. It can be played by 1 or more players (2 in the current version) and allows them to experiment with the evolution of individual and social traits and behaviors as they see fit. The game only loosely defines winning as working towards a greater good across all players: getting any many critters from A to B. What strategy players use to achieve their own interpretation of that goal, is up to them.


Game World

All aspects of the game world and the players in it are taken from Project CooperativeCritters, so have a look on the page describing some more details about the inner workings of each agent. Each player has a set of agents that can be set free into the game world. And regardless of the number of players, the goal is always the same: get as many agents as possible to move from their starting location to a target location.


Pre-Game

Agents are no longer spheres; players pick their own avatars or can even import them into the game. Here, I used Daggett and Norbert, the main protagonist of the Nickelodeon Cartoon "Two Angry Beavers". But like CC, under the hood Daggett and Norbert have similar 'brains'. They can sense objects around them, transform these inputs into meaningful outputs using a basic multilayered perceptron, and act upon those insight by moving in a specific direction, speed and acceleration. This includes the Multilayer perception model that is at the heart of the agents brain. And before the game, besides chosen their characters, they can also create random variants of agents saved during previous games or start anew with agents initialized with random values as the weights on the connections in their MLP brain.


Gameplay

D+N is somewhat like a turn-based strategy game, like XCOM or Civilization, but with some major differences. In D+N, a turn consists of two parts. In the simulation phase players do not interact with the game but watch closely as their agents start interacted with their environment. However, players can stop the simulation at any time, but this can only be done when 1) no agents whatsoever have reached their goal or 2) by the player currently having the most agents already at the goal. If the turn is not interrupted by a player, it will end after a predefined period. When the simulation ends, players will be asked to select a subset of their own agents. The game will then update all the selected agents: using conventional gradient descent it will change the weights on the MLP brain of each agent. However, the objective here is not to minimize the error between final location of the agent to the target location. It is instead to minimize the error between all positions visited by the agent during the simulation and the final location of the agent. Since players select their agents, they want to reintroduce during the next simulation, they actually have a big influence on what objective function is used during this trained phase. And because of that, a big influence on what behaviors and/or traits evolve in these agents. After training, players can choose to tweak a variety of parameters, primarily to distribute metabolic energy across agent processes (see above). Finally, a new generation of Daggetts and Norberts is created from those selected from the previous turn and placed at a starting location, and a new turn begins with the simulation phase.


Possible Strategies

The logic of the game might sound odd at first. But it serves a purpose. Since players decide which agents are selected for the next round, they also control what kind of individual or social behavior they deem important in their agents. If a player aims to get as many of their own agents across the finish line, the best strategy is to pick agents that ended up near the target location at the end of the simulation. This 'every man for himself' approach probably will get a few of the players own agents to the target location, However, hopefully players will quickly realize that some behaviors and traits in their own agents allow for more their own agents to actually make to the target, which I refer to as the tribe approach. Beyond that, under some circumstances (given the layout of the world) it might be even more advantageous for a players agents to behave in such a way as to maximize the total number of agents across all players making it to the target location, even if it means sacrificing some of their own agents in the process. I refer to this as the Ubuntu approach. How this actually plays out during actual gameplay, I honestly do not have clue. I hope the game will be thought provoking and fun at the same time, and people will actually enjoy playing it, and I will enjoy looking over their shoulder to see what behaviors actual emerge in their agents and in themselves.


Ubuntu

Ubuntu is an important social construct in some cultures in Africa. It is hard to define precisely, and opinions vary quite a bit. But the central tenant is that our own humanity derives from our interdependency on and with other human beings: a person is a person through other people. And for me, that means that our personal humanity comes from the affordances we ourselves create in our interactions with other human being, where I use the word affordances as introduced by Gibson to describe how we interact with everyday objects (and now: technologies)


End of the Game

The game does not have real ending. Players can go one indefinitely, creating new versions of their agents from the previous simulation run. I honestly don't know what clever things other people will invent and experiment with, so the game allows for that to happen.


Forward

The game is currently in development as a personal project. And frankly, I have no idea whether it result in the playable (and perhaps more important: fun) game. Only a stable MVP release will show how players approach the game. So, if you are interested, keen an eye on this page. If/when I make sufficient progress, I'll let people know and they can sign up as beta testers.


Collective and Individual Levels of fitness

Fitness is computed after some fixed amount of iterations after the agents were places at the own starting location. This is computed for each individual agent (how close it got to the target location B) and for the group (the number of individuals in the group that were successful in reaching target location B, relative to the group size). By adjusting how each of these two fitness metrics is weighted to produce the agents final true fitness, we can effectively vary the degree to which an individual is purely egoistic (the only thing that matter is reach the goal itself) to purely altruistic: despite not even reaching the target location itself, it is still considered to be extremely fit, as long as many other agents were able to make it).