Tuesday, 22 March 2016

Mucking About with Norn Brains

The title sounds like I did something awful but don't worry, I haven't severely disabled any more Norns yet. Today was observation only.

There's this great website out there, don't know if I've linked to it before, but it's called The Creatures Developer Resource. It's no longer being updated, but it has some really good information about the Norn brain and some astoundingly useful tools for analysing Norn brains. Norn brains are something I'd love to come to understand, but due to their complexity it's not good to jump right in and start making random changes that I think might work (which seems to be my approach to other areas of Norn genetics, hehe...), especially because, even with Chris's awesome tools from CDR, it's hard to understand exactly what the changes you've made have done if you don't understand anything about Norn brains.

So I thought that, in order to properly accustom myself to using Chris's tools and to wrap my head around something Norn brain-y—the Norn learning process, which I know about but have never seen in action on a neuronal level—I thought I would do a little bit of an observational experiment: I would create a new baby norn in a new world, and using the monitoring tools from CDR, see if I could track some of the things it was learning. I downloaded the Brain Viewer, Lobe Study, Brain Cell Monitor and Brain Activity from here to assist me with this experiment.

Before I talk about what I did, I think I should spend a moment discussing how the learning process actually works in Norns. A standard Norn has nine brain lobes, but for the purposes of understanding learning it's best to reduce the discussion down to three lobes: the concept lobe, the decision lobe, and the perception lobe.

The perception lobe is the second biggest lobe in the Norn brain, and essentially it has all of the information that the Norn can discern from the world copied into it from other lobes. As such, the perception lobe contains all the information about what the Norn is paying attention to, what the Norn can sense around it, what words the Norn can hear being spoken, and what drives the Norn has. Each neuron in the perception lobe relates to a specific thing, such as the hunger drive, or paying attention to a toy.

The concept lobe is the biggest lobe in the Norn brain with a whopping 640 neurons. The concept lobe is not responsible for learning how to react in a situation—rather, it just remembers the situations. It does this by connecting to the perception lobe via dendrites. Basically, this means that every neuron in the concept lobe forms a connection with between 1–3 neurons in the perception lobe, and these 1–3 connections basically create a situation. For example, if a neuron in the concept lobe connected to the neuron in the perception lobe for being bored, the neuron for paying attention to a toy, and the neuron for 'It is active', then that neuron in the concept lobe would represent a situation where the Norn is bored and looking at a toy which is activated. See what I mean?

And this is where the decision lobe comes into play. You might have noticed that the concept lobe creates situations but it doesn't tell the Norn what it should do in that situation. Quite simply, that part of learning occurs between the concept lobe and the decision lobe.

Each neuron in the decision lobe represents a certain action—'push', 'sleep', 'drop', etc. And in the decision lobe there are two types of dendrites which connect to the concept lobe. Type 0 dendrites connect the neuron of an action to the neuron of a situation in the concept lobe, and if reward is introduced to the system when that action takes place in that situation, the connection between the two neurons is strengthened, and a stronger bond means that, when the Norn is faced with that situation again, they are more likely to take the same action they did before because the stronger bond between the neurons is telling the Norn that the action will have a positive outcome. Type 1 dendrites work exactly the same way as type 0, except the bond is strengthened by punishment and the connection is warning the Norn that it is a course of action that shouldn't be followed. There's also stuff about how the bonds weaken over time etc etc, but that's not really necessary to completely comprehend what I'm doing in my observational experiment, so I'll leave it out. (I also have only a very loose grasp of exactly how that works but shhh you don't need to know that.)

Okie dokie, now that I'm done with that, let's have a look at how I went.

Basically I ran the experiment like this: play Creatures for short while (30sec–1min only) with Brain Activity, Lobe Study, and Brain Cell Monitor open. But every couple of seconds, I'd pause the game and note any brain activity of interest, in particular in the concept lobe and decision lobe. After a little while has passed and the Norn has had some time to play around with a couple of things, I'd export the Norn and open up the .exp file in Brain Viewer to properly see what concepts have been formed and what neuron they connect to in the decision lobe.

Here's what I found. You can follow along to (maybe) get an idea of how a Norn learns in practice:

When I exported my little Norn, it was only a short while after she hatched. She spent a little while playing with the top, and so I decided this would be a good point to export her and see what kind of connections were forming in her brain. While she was playing, I noticed three concept neurons that seemed to be relevant. All of them formed a connection with the decision lobe that encouraged the Norn to push whatever it was focused on, but in slightly varying circumstances:

  1. When the Norn is bored and paying attention to a toy that is near them.
  2. When the Norn is hungry and paying attention to a toy that is near them.
  3. When the Norn is bored and near whatever it is that they are paying attention to.

All of these circumstances were true: the Norn was bored, hungry, and paying attention to a toy that was near her, and because playing with the toy alleviated her boredom it created some reward in her system which reinforced the idea that in any of those situations, a good thing to do would be push whatever she was looking at. It's interesting to see how something as unrelated to playing with a toy as hunger crept in there, and it would have been interesting to study the Norn further to see what other odd things develop and if they stick around, but unfortunately I don't currently have the time to carry this particular experiment further.

I will let you know, though, I'm not sure if the list of which perception neurons are what I'm using is correct; I couldn't find one so I had to infer what the list would be from this page, but all of those situations make sense based on what was happening in-game, so it's probably safe to assume that it's at least mostly correct. I'll probably post the list I compiled in a week or two so everyone can access it, but I'd like to test it a bit more first just so I can be sure it's fully accurate.


  1. This is really interesting! I've been curious as to whether Jessica's updated food items ( http://discoveralbia.com/downloads ) make any impact on the brain connections. I'd love to see more screenshots of Chris Double's tools in action. How did you get them to work? I've only been able to get BrainViewer to play nicely with my computer.

    1. I don't even know what I did to get them to work, they're just sitting in a folder in Documents along with the MFC .dll files. Sorry I couldn't be of any help haha.

  2. I've left Norn brains alone for awhile because as you said, they're rather complicated! However, Malkin also recommended these brain tools to me and I'm slowly trying to make sense of everything. This sheds an interesting light on exactly what goes on in Norn brains, and proves how complex they really are. If I can make some more sense of the programs and brains, I'll likely have a new post about them soon. Hopefully we'll both learn a lot more as we go!

    Malkin: I managed to get all of the programs, except the BrainCellMonitor, to work by putting the .exe files inside a folder in Program Files with the MFC Dynamic Link Libraries provided by Chris Double. Maybe that will work for you? Good luck, and thanks again for pointing these programs out!