Creatures Community Chat

Wednesday, October 30, 2013

Gene Manipulation - Perfecio

Haha, and I thought I understood genetics. For those out there who enjoy the genetics part of Creatures, you really gotta try making your own Norns. I've learned so much from this little exercise.

Anyway, I think I've just about solved all the problems I set out to tackle, specifically sleeping, digestion and an improved immune system. Here's what we've got so far.

DRIVE RAISERS

The first thing I need to talk about is the Drive Raiser genes. In the past I've often said how I didn't like that the default Norns could receive punishment from basically any drive that rose (eg. HungerIncrease, tirednessIncrease, etc.), as quite often you'd expect a drive to rise under given circumstances and the Norns shouldn't be punished for some of these.
Since going through the genome a few more times I've revised my opinion on that. I believe these genes are not only good, but necessary. What could be changed in many circumstances is the way some drives increase.

The system basically works like this. The Norns have a bunch of drives that we're all pretty familiar with; pain, hunger, tiredness, etc. These will rise and fall under different circumstances and depending on their levels the Norns will be inclined to perform certain tasks in an attempt to lower said drives.
In terms of learning, the drives themselves really don't do anything though. It's the chemicals driveIncrease and driveDecrease that enable the learning. When the Norns drive decreases they are rewarded, when it increases they are punished.
This is all probably nothing new to people, but the part I didn't understand was that you can bypass the increase/decrease system and just inject the chemical straight into the Norn, thereby increasing the drive without having to worry about the learning system.

There are circumstances where this is very useful, such as in the digestion system. When a Norn eats they receive HungerDecrease, which rewards them. However when Glycogen converts back to Glucose they receive Hunger, not HungerIncrease. This increases their hunger, but doesn't punish them for something they don't understand and have no control over.

SLEEPING

As I said in my last post, most of the genes here just needed some tweaking to streamline just how much sleepiness they received vs how much reward. I also discovered I needed to add some extra boredom back in as these Norns weren't terribly active.
I also experimented with taking out the Reward and replacing it with NFPdecrease, which proved quite effective, but not as effective as I'd like.
There's not a lot more to add here. Basically all the Norns needed was more reward, less punishment and some subtle tweaking of how quickly sleepiness increased while resting. All these Norns sleep quite well now and all it required was to reward them for sleeping.

DIGESTION

Believe it or not but of all the changes I've made this one proved to be the most difficult. I tried a whole range of tweaks and adjustments, even to the point of creating entirely new genes to try and get the Glucose, Glycogen and Hunger to increase and decrease in tune with each other.

To reiterate, the problem was that a Norn could have the maximum level of both Glycogen and Glucose, but would still end up starving. As well as this, their Hunger drive would increase far too quickly, meaning they practically had to eat like cattle; constantly grazing, despite having good energy stores.
After failing time and time again to get the results I wanted I sat down and tried to theorize exactly how I wanted the digestive system to work. After some time I worked out this basic formula:

if Glucose > X
then Convert Glucose to Glycogen.

if Glucose < Y
then Convert Glycogen to Glucose.

The idea was to keep a certain amount of Glucose in the system for exercise, then store the rest of it for later use.
Armed with this basic but considerably thought out idea I set about trying to code it genetically, only to discover there are no genes that allow this kind of manipulation. But how then had Glucose been converting to Glycogen when the genes read:

1*Glucose => 3*Glycogen
3*Glycogen => 1*Glucose

It was a perfect conversion system that should have resulted in both chemicals remaining stagnant as one converted to the other and back again. The answer was time.
It turns out that Glucose converts to Glycogen twice as fast as Glycogen converts back to Glucose. This means that Glycogen will build up in the system as it takes much longer to convert back to Glucose.

Thus did this lead me to my solution, which has turned out to be incredibly simple. I made it take longer to convert Glycogen back to Glucose. This now takes roughly three times as long, rather than twice as long. Since HungerIncrease occurs when Glycogen converts back to Glucose, this now means Norns get hungry about one third slower.
As well as this I increased the amount of Hexokinase that is produced while exercising. This chemical combines with Glucose to form CO2 and Activase, both of which are essentially waste chemicals.
I also added a new gene that combines Glucose with Hexokinase and produces HungerIncrease.
Finally I tweaked the Glucose/Glycogen conversion rate to be 1=>2, not 1=>3 as I found the Norns glycogen levels didn't drop fast enough to induce proper starvation

This has all balanced out quite nicely and I think I'm pretty happy with it all. After so much back and forth I'm surprised that the original formulas were correct, they just needed some slight tweaking. Really I shouldn't be surprised though, considering this is Steve Grand's handiwork.

The final point worth mentioning is that a healthy Norn should now have a life-force somewhere between 90-98%, up from ~77%, which I think is pretty cool.

IMMUNE SYSTEM

What I really wanted to achieve with this new system was to have Antibodies actually fight Antigens. Unfortunately I don't think it's possible to have a completely realistic system due to how infections work.
From what I can tell, when a Norn is infected they temporarily get injected over and over again with specific toxins (a combination of antigens, toxins and histamines). These toxins will keep being injected until the correct antibody reaches the same value as its antigen counterpart, at which point all toxins will start to decrease until they leave the system.
This appears to be hardcoded, not driven genetics so I don't think I can change it. This prevents us from building a system where the body creates Antibodies, which kill off the Antigens. The Antibodies must reach a specific value before they can start curing the Norn.
This really sucks. I hope I'm wrong and that this can be changed genetically. But until then I've built a compromise.

When infected, similar to before, the Norn's body will start producing Antibodies in exchange for a little Glucose.
The amount of Antibodies produced has been increase. This is due to a bunch of new genes that make the Antibody combine with the Antigen to produce Hotness, thus killing the Antigen.
As I said, the infection will continue to produce Antigens, even while the Antibodies kill them off. To truly defeat the infection the Antibodies need to reach that specific value. So now Antibodies will both fight off the infection in a more realistic fashion, and will also increase until they reach the specified value, enabling them to kill off the infection.
I've also added some new genes that allow Antibodies to fight off the other toxins like HistamineA, Fever Toxin and Glycotoxin.
Finally, I lowered the Half-Lives of all the Antibodies. This is pretty unrealistic, however we've limited in how bacteria and germs can evolve in the game, and I wanted a system that could simulate this. So the lowering of the Antibodies is meant to account for bacteria evolution.
Not to worry, the Antibodies still deplete very slowly (it should take about 5 hours to completely disappear) so your Norns will still have a pretty strong immunity should they be attacked by the same illness twice.

Just to give you the heads up, this new system has made the Norns more susceptible to disease. This is mostly because they now use Glucose to fight off both Antigens and Toxins, whereas before the other Toxins didn't need to be fought directly. I've balanced it so a Norn should be able to successfully fight off 4-5 Antigens and/or Toxins at once, but should they be infected with a massive number of Toxins all at once it's possible they may not be able to build up enough Antibodies to recover. The only way to cure them would be to inject them with the correct Antibodies. Currently there is no way to do this by default. You'll need some COBs to get around this.

There's a handful of other small changes I've made, but they're small and frankly this post is long enough. Once I release the new breed I'll do a full write up and break down every single change I've made and why. But that will be a long list and some dry reading, and will really only be for the geneticists out there.

I'll be releasing a Beta for these guys soon, so stay tuned.

No comments:

Post a Comment