Creatures 4: Underneath the Norn’s Fur

shii_okay_smallUnderneath Creatures 4, like in previous episodes, there’s an entire matrix of codes and parameters that determine the behavior of Norns and their interactions with the eco-system. Today, we’re going under the hood to delve deeper into the mechanics and the inner-workings of a Norn, and present you with an overview of the in-house tools we used to debug our little creatures’ behavior.

In the making of Creatures 4, the main challenge resides in the fact that every time you implement a new feature, or change the way the Norns behave just a tiny bit, you need to go through hours of play-testing to make sure you didn’t mess up the complete balance of the game, that the various scenarios remain bug-free. This, knowing all the way that you can never truly harness a Norn’s behavior, since it’s conditioned by countless personal and environmental factors.

To this end, our tech wizards have developed several tools to monitor and debug our implementation of the original Creatures AI. As we established in previous posts, moving the Creatures engine to 3D proved to be a more daunting task than expected, for which we needed constant access to a certain set of variables.

Over the past year, our programmers have spent a lot of time on in-game debugging tools that help our game designers track the Norns’ attitudes as well as their environment. You’ll find some exclusive screenshots of these debugging tools here below.

The standard Creatures 4 in-game view, free of debugging clutter:

00_ingame_small

 Crowd/Physics status

 This view informs us about the status of our crowd management system (avoiding collision between agents) as well as the physics for each agent in the world.

Most agents in this demo-screen have been put in “custom” state which basically means they are doing something script-specific and do not belong in special groups like physics or crowd.

01_crowd_physics_small

 Attributes and Scripts

Opposite to what all the visual clutter would have you believe, this is one of the most informative views. It shows many properties for each agent: attributes, instinctive/genetic behaviors, category, running script etc. All this determines what a Norn can do with each agent in the world (e.g. an attribute sets a flower as eatable by a Norn).

02_agent_attributes_small

 Facial expressions

Norns have several facial expressions that inform the player on their current status or mood. Facial expressions are triggered by a sum of parameters that determine which expression has the higher “weight” and should therefore be displayed. This algorithmic approach makes the process slightly more opaque than simple “Norn is happy –> happy face”. What expression is displayed when a Norn is both happy and hungry? Which has priority between hunger and sleepiness?

While some choices are obvious (pain often wins), some are not. Hence, the debug options!

03_facial_expressions_small

Senses Range

The Norn’s focus and path are partly driven by its senses. Sight, hearing and smell play an important role in an agent catching the Norn’s attention.

Below you can glimpse at a Norn’s sight and hearing ranges, represented by the blue and green outlines respectively.

Each ray tells the ability for a Norn to see each agent. If the line is white, the agent can be seen; if it is red, rather not. The environment’s geometry is taken into account to compute this: in this case, most visible agents are on the same height as the Norn.

Hearing range is pretty self-explanatory.

04_view_hearing_range_small

 This picture below shows the smell propagation. In Creatures, smells are called Cellular Automata (CA). Technically speaking, CAs are not exclusively used for smell, they can be means to other ends, such as giving the Norn a sentiment of “being at home”. Still, most of the time we use them for smells and to be honest, we still have to tweak a lot of them.

The propagation display is made of small spheres: you can see some spheres fading out on the border of the screen… At those spots, the potency of the smell is lower.

05_smell_CA_propagation_small

 Outside the game, a handy webpage allows us to monitor the Norn’s drives and decisions. We can also access all this data in the game itself, through the science kit, but this raw and dry mode makes batch-processing tasks much more efficient.

06_chem

 Please note that, like in previous installments of the series, each Norn still has a set of organs that simulate its digestive system and comes into factor to determine when a Norn contracts an illness. They also carry an artificial “brain” so to speak, and are interiorly affected by over 150 chemical elements. And of course, genomes enter into play as much as before, naturally – After all, Creatures is essentially a Genetic Game, we’re kind of going all-in on this particular aspect ;-) Our next blog article will actually focus on that: genes and what you can do with them, breeding, splicingEndless possibilities really. If you didn’t catch it yet, we’ve released a teaser pic of various breeds on Instagram earlier this week!

If you recently tried to comment to our blog articles in the section below and found yourself stuck because of not having an account, please note that guest-commenting was disabled by mistake earlier (we omitted to toggle an option off during our Disqus plug-in implementation)… Guest posts are now enabled again! So if you don’t like sharing private information at the same as your opinions, you can take it easy and feel free to speak out anonymously again!

  • http://twitter.com/deminotweet Sam Mino

    Now we are talking. Finally some interesting stuff. Loving how you guys evolve the last weeks.

  • Pieter-Jan

    Cacti, this is an awesome post!
    I really like how you’ve changed your communication with the community. Keep these posts comming, they are briliant!
    Keep up the good work.

  • TehSamm

    Looks great Fishing Cactus! Really interesting stuff here, thanks for keeping us posted :)

  • http://discoveralbia.blogspot.com/ Jessica (Discover Albia)

    Awesome! Thanks for sharing a look behind-the-scenes: It’s wonderful to see all of the different elements going on in the background. The environments look even better than the initial screenshots, and I love how you ended with a mention of the genetic aspect of Creatures 4! Updates like these are most appreciated. Keep up the great work!

    I also should mention that the sad/pained expression on the Norn in the facial expressions screenshot made me want to help him/her out. This looks promising for getting attached to Norns! I always found it difficult to care a lot for the Norns in C2 and C3/DS, though I’m sure it’s mostly personal preference. I look forward to finding out more about the range of expressions!

  • http://twitter.com/AlanZucconi Alan Zucconi

    I’m really happy to see a post that finally shows debug details! :-)

    However, I personally would have not reused the Chemistry engine of Creatures 3. I do not deny that I never liked the way in which the Creatures series has dealt with the chemistry. The genome of a creature can, essentially, re-write the laws of chemistry. It is very easy to have super norns with single mutations that constantly regenerate life or ATP. Despite the very few chemicals that are directly involved in the survival of a creature, the vast majority plays a marginal role and, for this reason, is pretty much unaffected by the process of evolution. It would have been nice to have a proper set of chemistry laws and then, on top of that, building a DNA that actually has to deal with them! My concern is that a huge effort might have been directed into the genetic transmission of phenotypes (i.e.: the appearance of a creature) leaving very little for the actual evolution.

    But yes… I am definitely curious to see more in the next post about genes! :-)

  • http://www.facebook.com/lauraavalentine Laura Valentine

    Thank you for the update (not to mention all your continued hard work), Fishing Cactus! I was really excited to read about the more mechanical side of Creatures 4; it’s fascinating and makes the game’s release seem even more real and closer somehow!

  • http://twitter.com/ChosenPredator Marco

    Incredible and to be frank all that data to a creature fan is utter bliss. I love reading this as it’s really fascinating, glad you guys are going all in and leaving nothing unchecked.

  • Spykkie

    I love that you all keep us up to date with your progress, the wait isn’t so bad since we get to see you’re doing good work! :)

    All the chemistry and brain works of norns is definitely something complex that I don’t really understand very well, and this might have been mentioned before, but I think it would be nice if there was something reminiscent to the free-will meter/option seen in The Sims 3. Some fans prefer C1 norns because of how helpless they seem, requiring constant attention; while others prefer C3 norns because they are extremely good at surviving on their own and allow for interesting activities like ‘wolfing runs’ and breed-a-thons. You can leave C3 norns alone for a few hours and return to a crowded population; not the case with C1 norns who generally all die out rather quickly. Neither setting is worst nor better then the other; it all depends on the player’s preference. I feel that option to turn independence up or down could help draw in a wider array of players and allow a fun experience for all. :)

    Anyway, that was just my 2 cents. Keep up the good work!
    I’ll definitely catch myself a norn statue next time…! :D

  • Caroline

    Ws a bit scared that they’d have pre-programmed behavior like a virtual pet, but it seems everything will work as in previous titles. Excited!