Animism and Procgen

Fair use, https://en.wikipedia.org/w/index.php?curid=18039970I must have been about 4 years old. It was dark, and late, and I was crossing the unsafe territory of not quite understanding the rules about whether it was ok to get out of bed to go to the toilet. It felt like trespassing. I didn't notice them until I was halfway across the room. Little, shadowy, lumpen gnomes, like a darker version of Ghibli-style tree spirits. Furtive and watchful. Crowded into every corner, peering out from every nook and ledge.

They suffered me to pass. They might still be there...

Maybe my sleepy, half-dreaming young mind generated so many watchful eyes out of fear of getting caught up-and-about when I "should" have been asleep, but I also think it relates to the animism that all children display. The clearest part of the memory, at least visually, is the gnome-like creatures crowding around an area of my room where there were four or five stuffed toys in a row. Multiplied to hundreds, my little visitors were an extension or diffusion of the static life that my developing mind granted to all my toys and possessions, and the world around me.

Developmental psychologist Piaget attributed childhood animism to the egocentrism that developing children exhibit, imbuing all things with an internal life of thoughts and feelings, like an intrinsic understanding of imminent deity. That's part of what Bonbon is about, but also about the sheer volume of superfluous toys that infant gen-Xers (and later) might have been given by their affluent baby boomer progenitors. Combine these two ideas, and you get an overwhelming  crowd of living companions in lieu of parenting.

That's the "why". Here's the "how". In Bonbon, there will be a lot of toys, all of them somewhat personified. I mentioned last time that they will all have faces and names. There is a scene where I want the player to feel overwhelmed by the number of little faces watching you, not unlike my waking dream. Because of this, there'll be a bit of procedural generation going on.

Photo created and uploaded by the owner of a set of figures, https://en.wikipedia.org/w/index.php?curid=11341311Now, in Bonbon, there are little toy figures called "Tiny Folk". (Last week they were called "Lil Peeps" but that changed about half an hour ago!) They are based on Fisher Price "Little People", which were like the minifigs of the Fisher Price world, first in wood and later in plastic. I wanted to be able to drop 3, 10 or 100 Tiny Folk into the game and not worry about arranging them in any particular pattern, so I made them randomly procgen. This also helped with creating more variations.

Tiny Folk gif, from Bonbon, Aetheric GamesProcedural generation can be really complicated algorithms or gene-like mutations. Or it can be a really simple pick and mix kind of affair. The Tiny Folk are made of three separate models (body, head, hair) and variations on a material. Here's the procedure for randomising them:

  1. First they are given a random gender.
  2. They get a random age. There's a 2:7 chance they are a child, and a 2:7 chance they are elderly.
  3. Based on their gender and age, they are assigned one of four body shapes, which is given one of five colours.
  4. If they are a child, their head height is lowered.
  5. The head model is set to one of seven different meshes. They are all just little low-poly spheres, but they all have different UVs (texture co-ordinates), so as to show a different face. The head selected is random, but affected by age and gender. There are elderly-only faces and child-only faces, gendered faces and a generic face.
  6. The material of the head is set based on a random but weighted skin colour. I looked through Google image results of collections of 2nd gen-ish / 80's lookin' Little People and worked out that about 95% of them were white. The rest were uniformly brown. (And the odd native American stereotype complete with unfortunate headdress.) I decided to reduce that ratio to 75%.
  7. A hair mesh is chosen based on gender. In keeping with 80's inspired gender bias, I kept it entirely binary. There is a female hairstyle and a male hairstyle. Males can also be bald.
  8. Finaly, for adults and children, either brown or yellow hair colour is assigned. For the elderly, grey only. Dark skinned Tiny Folk are never blonde.

All of that happens in the construction script of the Tiny Folk actor, and randomisation can also be toggled by an exposed boolean, so that I can manually set the appearance if I should ever want to.

Tiny Folk, from Bonbon, Aetheric Games

Now, I'll be the first person to point out the many problems of exclusivity and over simplification of race, gender and age in this process. I put a surprising amount of thought into it and decided that I wanted to compromise between, on the one hand, keeping the toys in the game accurately similar to historical toys from the 1980s, and on the other hand, making them more inclusive. That's why I increased the number of non-white figures from 1:20 to 1:4. Whilst the toys and educational resources I remember from my childhood dared to make token gestures towards race, however non-binary genders and diverse body types were simply not up for discussion. It was Action Man or Barbie all the way, and that's why other characteristics remain simplified.

This is all by the by. The reason for procedurally generating the Tiny Folk is not political. Wait, I mean, everything is political, right? But it's more to do with reducing effort for me, in this case, whilst maintaining the general variation and distribution found across a typical collection that a young kid in the 80s might have. Another example could be the stuffed toy variations with the variegated colour pattern. You could also include the building blocks that assign their own random orientation, so as to not look repetitive. There will no doubt be other examples as development proceeds. As I said, the number of toys in this game is meant to feel overwhelming to the player, but using some wee randomisation tricks helps me to stay sane while making it.

The Tiny Folks, aren't a huge part of Bonbon, but I wanted to take a close look at how they are being generated as it ties in nicely with the themes I wrote about at the top of the post. In a way, procgen returns some of the animism to gaming. Take the contentious No Man's Sky as an example. Whilst the game had issues, did those creatures feel more real with the knowledge that they were generated genetically just for you? Did their incredibly simple lives of roaming and grazing feel a bit more significant and realistic because of this illusion?

The Tiny Folks in Bonbon, that huddle together in nooks and crannies, and watch you from the dark corners of your bedroom... I didn't arrange them like that... I didn't chose that face or that body colour... they wanted it for themselves. They want you to be good. They want you to be safe. They want you to go back to bed before you wake up Bonbon.

Get Bonbon

Buy Now$1.95 USD or more

Leave a comment

Log in with your itch.io account to leave a comment.