With the cave free, I could get to work teaching the next generation, so they'd all be ready for the world when their time came. I decided to start with the Mernorns, but there was one catch: they're all male.
Search This Blog
The Tide is Turning
Creatures 3 and Docking Station are now on Steam
A Minor Update
Nothing particularly wild happened, which is good, because I needed the break. That said, once I get my energy back, I'll be vanishing back into WOTR for a while.
Bjorn wandered in the swamp, Sigurd hung out in the desert, and Magni lazed about in the incubator room. Inga's age was showing, but didn't darken her spirit, and aside from occasionally getting stuck on the airlock door, mostly took care of herself.I focused on getting Sigurd into a better location, as the desert is not friendly to Norns, and he was quite hungry. I lured him over to the calendar tree, where he made friends with the Grendel.
I had a brief scare when the Observation Kit reported Magni and Bjorn as sick, but it turned out they'd just eaten some badplants. At some point, Bjorn went up the lift and across the glass walkway, so I activated the teleporter and sent him elsewhere. Ultimately, he ended up joining Sigurd by the calendar tree.At this point, everyone is well over six hours old, and I suppose Mernorns must age faster than their land dwelling counterparts, because nobody else is going gray yet. They've got quite a bit of time left in them, yet!
Grand Botanical Overhaul I: Cacti
I've recently begun my most ambitious project yet: the Grand Botanical Overhaul for Creatures 2. The plan here is to do something similar to my Creatures 1 Herb Update, to improve consistency in plant behaviors and streamline their use for creatures, while also including some quality of life improvements for the player. This includes:
- Including launchers for the plants that don't have them
- Making sure the main plants (pear, triffid, trumpet, aubergine, tomato, and acorn) have proper life cycles including plants, fruits, seeds, and detritus. This includes fixing any bugs in their life cycle.
- Ensuring that anything inedible is invisible - both plants that are naturally inedible and plants that simply aren't ready to eat yet.
- Implementing behavior similar to my updated C1 Herbs: creatures eat directly off the plant, hand pushes plant to pluck the fruit.
- Reclassifying harmful members of edible classes into badplants.
As I go through this process, I'm thoroughly analyzing the code for each plant, so this will be a series of in-depth looks at the CAOS involved. I will be going into the changes I've made, but won't put anything up for download until the project is finished. I'm beginning with the cacti - technically badplants, but still in need of some fixes.
The most boring colortrue creature ever
All around Albia
I'm a One-Woman QA Department
Things have been slow working from home lately and I finally decided I was utterly fed up with... well, pretty much everything that's wrong with Creatures 2. So with the help of Bella the Beta Norn, I set out to fix as much of it as possible, which turned out to actually be quite a lot.
You're gonna need a bigger better boat.
I began with my archnemesis: the boats. I've previously expressed my gripes with the boats, especially the light ocean one:
"Not only do creatures constantly get stuck in it, not only are the controls located where you can't click on them when the boat is occupied, but the boat itself is completely pointless because it leads to a small, dead end patch of island with no food on it."
I initially "solved" this problem by just deleting the boat, but did not release a COB for it because the hard part would be re-creating the boat. I started work on that, and then I figured, the dark ocean boat isn't so bad but it's still an annoyance, so I should go ahead and fix that too. So at that point, why settle for just deleting the light ocean boat? If I'm replacing the dark ocean boat, I might as well replace the other one too.The scriptorium makes the event scripts for any official object trivial to obtain, but with COBs like this, the hard part is always in restoring the original object as part of the COB removal script - while event scripts are easy to rip from the game, the injection/creation script is generally a mystery, and that's where a lot of important values are set: initial values for object variables, attr and bhvr values, and various physics traits. With complex objects like the boats, you need to create the parts in the correct order, too.
The Last Children
In my last post I mentioned that the C2 Norns produced seven new hatchlings, so I'd split the genetic analysis off to a separate post. And here it is!
The first two hatchlings were from the Mernorns. This makes four, and all of them are male, so for the next generation, I'll have to introduce a new female. First up was Vragi! He has seven pigment mutations and one pigment bleed mutation but all are invisible.He has a minor brain lobe mutation that I expect won't affect him at all; his decision lobe rest state is 81 instead of 80. He also has a stimulus mutation that makes falling through the air a little scarier for him, but given that he'll live underwater, that shouldn't be a problem!
His brother, Halfdan, may look similar right now, but I expect that to change! He inherited the male pigment bleed gene on both slots, although one has mutated to kick in at childhood instead of birth. He also has several pigment mutations, of which four actually changed pigment values, albeit only from 128 to 129. This may explain why he looks ever so slightly different from Vragi already. Aside from these, he has only one mutation, changing an output value in a stimulus from 0 to 1 - but that slot has <NONE> for the chemical, so it doesn't matter.Continuing the green parade, Baldur is the spitting image of his mother, Gunhild! He inherited none of Bjorn's looks. He has eight mutations. One of them is a half-life mutation for an unused chemical, and one is an instinct mutation that changes the cell number for one of the unused lobes, so no big deal. There's also a small change in the gain value for the crowdedness receptor, which shouldn't have much effect in practice. And he has a small lobe mutation: a relax susceptibility value changed from 0 to 1, which I'm not even sure has a measurable effect given that the slider in the genetics kit will only jump to multiples of 8. At any rate, the associated susceptibility rule is undefined so it probably wouldn't do anything anyway.The End is Nigh
Though I spent this session just playing with Norns, believe you me, I am definitely putting together a to-do list, because there is a lot wrong with this game. Speaking as a professional game performance tester: Creatures 2 should never have released in the state it was in. Even with all the haphazard patches released after launch, it's still buggy as all get out, and should have remained in development for another year or two. But it didn't, so for now I just have to deal.
One of the biggest issues, and the one that might be beyond my ability to fix on my own, is that the creatures are constantly tired. I haven't yet confirmed my theory that most of the food items are busted and that's the cause of their issues with eating, but the sleep problem is almost certainly a genome issue. This didn't stop them from producing seven hatchlings, though! I'll split the genetic analysis into a separate post.Topsy Turvy Toxic World
So, last session I said that "while I like Toxic Norns well enough, it's a huge hassle to keep and interbreed them with other Norns" and that got me thinking. I'm not going to attempt keeping Toxics in the main world, but I realized I could easily have a separate world for them. So I created the Mire, dropped the Ettin and Grendel eggs into the water, and started spreading nastiness around the whole world.
Of course, a world full of one breed of plain Norns wouldn't be that much fun, and I was curious about how colortrue creatures worked, so I cracked open a genome and whipped up a colortrue Toxic Norn. I'm sure there are better varieties out there currently that can interbreed with other colortrues (at least as well as any Toxic could interbreed), so I'm not going to put this variety up for download, but it was interesting to see how simple the edits really are. The pigment genes are just moved around so they fall under different organs, their mutations are turned off, and they're unlinked from age/gender. There are four of each color channel, and the base creature of any color has all four of a given channel set to the same value.
I'm not a big fan of the overlay look of high pigment values, so I stayed in the middle as I created six Norns: three male, three female. The males each have one color channel that is higher (set to 192 instead of 128), and the females each have one color channel that is lower (set to 64 instead of 128). And of course, I created a new name generator catalogue for this world too! From left to right, these are Foulvenom (magenta), Acidfilth (yellow), Witchphlegm (green), Rotgut (blue), Ruinbile (red), and Slimestump (cyan). I definitely prefer the look of the females with the lowered channels, so hopefully we'll see colors leaning toward the middle over time.
In with the new
Then it was time to test that name catalogue out with a round of new 1st generation creatures. I hatched ten breeds of Norn that I want in the world - I have all of them, but I'm just not a fan of Bruin, Civet, or Harlequin Norns, and while I like Toxic Norns well enough, it's a huge hassle to keep and interbreed them with other Norns. I then introduced the Grendels (which seem to now be only Jungle Grendels; perhaps it's fixed now). I had to regenerate one name because it happened to come out as Cedarcedar (and yes, Moonmoon is a potential name from this list too), but otherwise I'm quite happy with the results.
Out with the old
After much thought, I made a decision. All eggs would be stashed in my inventory, and once the existing population died out, I'd hatch the eggs and put them up for download on the blog. The world itself would be the same, but I'd be starting from scratch with the creatures.
Fig, Acacia, Spruce, and Sequoia were hanging out in the Woodland, in a very loud feedback loop of opinions about each other. Maple and Sycamore had extracted themselves from the noise and gone to the Jungle for a respite. Daisy had similarly moved to escape the noisy boys and was chilling on the bramboo terrace. Amaranth, Carnation, and Tulip were in the Meso with Dogwood the Grendel, while his brother Coconut was off doing his own thing somewhere.Alas, my comments about the Grendels behaving surprisingly well were apparently tempting fate, because I was a split second too slow to intervene when Dogwood unexpectedly turned on poor Amaranth and killed her. At least he had the decency to look like he felt guilty about it, something he didn't bother to replicate when he killed Tulip. Carnation, however, with her Hardman blood, could hold her own and gave him what-for when he picked a fight with her. In the moments after that, I got another death notification for Fig, though I'm not sure of the cause in that case.Glub glub
I'm starting to see why Jessica separates generations, as it's becoming increasingly clear to me that I'll never get all the breeds in play that I want if I have continuous breeding. While I initially stashed eggs today because I was streaming (though, sadly, to no audience), I'm considering starting from scratch yet again. The Eden world itself is fine, of course, but I have a constant stream of Norns with only five breeds represented, and Magma Norns died out entirely before I could introduce a sixth. I'll be caught forever in a loop of restoring lost breeds instead of adding new ones. So perhaps I should let the remaining population die out and start a new population, with all desired breeds represented. But that's something to deal with later.
After distributing my new honey pot agent around the ship, I checked in on the creatures. Most of them were hanging around in the Woodland or the Meso. I lost a few Grendels in this session; they've taken well to using potions to regulate their anger, but the Hardman Norns have had a little more trouble adapting. I still refuse to give up on keeping them together, though! I have been making steady progress, after all.As I made my rounds, I kept hearing the low-glycogen music in the Woodland. Sequoia, for whatever reason, holed up in the treehouse and kept running dangerously low on starch. I blame the fact that the pumperspikel seeds don't land on that level. Then again, he should know enough to take an elevator up or down to get starch when he's starving.
Bees, Beelacanths, and Flies, Oh My!
Having finished my improved version of the bees and hives update, as well as my improved beelacanth, I'd like to go into detail about the changes I've made to the code, which means lots of rainbow-highlighted CAOS scripts. If anybody reading this post happens to be colorblind, I apologize in advance. To the anonymous commenter who wanted more CAOS code: you're welcome.
Creatures 2 is broken but I love it anyway
I loaded back into the world with the babies still exported, and decided to keep it that way. I think for Creatures 2 I'm going to separate the generations; things are chaotic enough as it is.
Once I got back into the game and got my bearings, I saw Magni taking another swim. I sure am glad for the pufferfish! Meanwhile, Gunhild was stuck in the boat, which is quickly rising to the top of my COBbling hit list. I could sink a lot of effort into making it not be terrible, but really, what's the point? Not only do creatures constantly get stuck in it, not only are the controls located where you can't click on them when the boat is occupied, but the boat itself is completely pointless because it leads to a small, dead end patch of island with no food on it. I will likely just remove the boat from my world. Anyway, I eventually managed to get it to cooperate and drop Gunhild off, and began leading her across the desert.Sharing the love
At this point, I excitedly dove into genetic analysis of a replacement, only to realize just how much baseline knowledge and understanding of Norn biology I had really built up as I floundered to figure out where to even begin explaining to the folks on Discord what we were looking at.
Bee nightmare script, annotated
[Originally written July 12 2021]
I started by examining the
official beehive upgrade script. It includes scripts for both bees and hive. I
started first with the hive, and found that most of the scripts are fairly
simple. The push script looks complex and frightening at first, but on closer
inspection they’ve just crammed multiple statements into the same line. Split
up for readability and annotated, the script is long but not so frightening.
The biggest problem here is that this is the push script, which should feed the creatures in accordance with similar vendors, but instead it dispenses bees. I suspect this is so that you get bees upon clicking the hive, so when I swap the scripts, I’ll either have to disable that feature or find a way to conditionally react differently to the hand.
Then I moved on to the bees themselves. Whoever wrote this monstrosity should be keelhauled.
Thanks, I hate it! I went through and added linebreaks and indentation for readability, then annotated the whole thing. You're welcome.
scrp 2 10 3 7 loop anim [01R] rndv var0 0 1 doif var0 eq 0 doif obv0 le 0 gsub hunt endi doif obv0 ge 2 wait 10 gsub hive endi rndv var0 -1 1 addv obv0 var0 else rndv var3 10 20 reps var3 rndv var0 -10 10 rndv var1 -1 -5 mvby var0 var1 rndv var4 1 4 wait var4 repe endi ever subr hunt anim [01R] setv var0 posl setv var3 post rtar 2 4 14 doif targ ne 0 setv var1 posl setv var4 post setv objp targ targ ownr setv var6 var1 setv var7 var4 subv var1 var0 subv var4 var3 setv var5 var1 doif var5 lt 0 negv var5 endi doif var5 lt 2100 divv var1 200 divv var4 50 reps 50 reps 4 rndv var2 -5 5 mvby var1 var2 repe rndv var2 -2 2 mvby var2 var4 repe else divv var1 600 divv var4 60 reps 60 reps 10 rndv var2 -5 5 mvby var1 var2 repe rndv var2 -5 5 mvby var2 var4 repe endi setv var0 posl setv var3 post subv var6 var0 subv var7 var3 divv var6 30 divv var7 30 reps 30 mvby var6 var7 repe targ objp doif touc targ ownr gt 0 rndv var9 0 5 doif var9 eq 0 mesg writ targ 1 endi targ ownr addv obv0 1 endi endi targ ownr reps 20 rndv var0 -5 5 rndv var1 -5 5 mvby var0 var1 repe retn subr hive anim [01R] setv var0 posl setv var3 post rtar 2 8 1 setv var1 posl setv var4 post setv objp targ targ ownr subv var1 var0 subv var4 var3 setv var5 var1 doif var5 lt 0 negv var5 endi doif var5 lt 2100 divv var1 200 divv var4 50 reps 50 reps 4 rndv var2 -5 5 mvby var1 var2 repe rndv var2 -5 5 mvby var2 var4 repe else divv var1 600 divv var4 30 reps 30 reps 20 rndv var2 -5 5 mvby var1 var2 repe rndv var2 -5 5 mvby var2 var4 repe endi setv var0 posl setv var3 post targ objp setv var1 posl setv var4 post targ ownr subv var1 var0 subv var4 var3 divv var1 10 divv var4 5 reps 5 reps 2 mvby var1 0 repe mvby 0 var4 repe setv obv0 0 retn endm | ENTER SCOPE SCRIPT Endless loop {Flap wings animation Pick random choice of 0 or 1 If choice is 0 {if obv0 is 0 or less (obv0 = fullness) {run the hunt subroutine } if obv0 is 2 or more {wait for 10 run the hive subroutine } Pick random value adjust obv0 accordingly }else (if choice is 1) {pick random number of repetitions For that many times... {pick random vertical value pick random horizontal value move by that amount pick random amount of time wait that amount. } } } HUNTING SUBROUTINE (when bee is hungry) flap wings animation record x position record y position target random beelacanth if target exists {record x position of plant record y position of plant set object pointer to point to this plant target bee again save plant x position save plant y position find x distance to plant find y distance to plant record soon-to-be-absolute x dist to plant if it's less than 0 {negate it to make it positive } If absolute distance is less than 2100 {divide x distance by 200 divide y distance by 50 for 50 repetitions {for 4 repetitions {pick random value between -5 and 5 move toward plant in x, random y } pick random value between -2 and 2 move toward plant in y, random x } }else (absolute distance is more than 2100) {divide x distance by 600 divide y distance by 60 for 60 repetitions {for 10 repetitions {pick random value between -5 and 5 move toward plant in x, random y } pick random value between -5 and 5 move toward plant in y, random x } } record new x position record new y position find new x distance to plant find new y distance to plant divide x distance by 30 divide y distance by 30 for 30 repetitions {move toward plant } Target beelacanth If the beelacanth touches the bee {pick random value between 0 and 5 if that value is 0 {beelacanth pull script } target bee again add 1 to obv0 } } target bee for 20 repetitions {pick random value pick random value move by random values } end subroutine HIVE SUBROUTINE (when bee is full) flap wings animation record x position record y position pick random beehive record beehive x position record beehive y position set pointer to beehive target bee again find x distance to beehive find y distance to beehive save soon-to-be-absolute x distance if it's negative {negate it to make it positive } if absolute x distance is less than 2100 {divide x distance by 200 divide y distance by 50 for 50 repetitions {for 4 repetitions {pick random value move toward beehive in x, random y } pick random value move toward beehive in y, random x } }else (distance is more than 2100) {divide x distance by 600 divide y distance by 30 for 30 repetitions {for 20 repetitions {random value move toward hive in x, random y } random value move toward hive in y, random x } } find new x position find new y position target hive get hive x position get hive y position target bee again find new x distance find new y distance divide x distance by 10 divide y distance by 5 for 5 repetitions {for 2 repetitions {move toward hive in x, no y change } move toward hive in y, no x change } set obv0 to 0, bee is no longer full end subroutine end script |
Not long after I had a new version of the bee and hive upgrade: one where the bees are a new type of object, and where the hive behaves similarly to other vendors (getting the hand to get different results than creatures was just a matter of a simple doif from eq pntr statement in the push script, where I triggered the pull script instead). Also, I made two versions; normally the bees at the hive have eyes but the ones that roam do not, and I made a version where they all have eyes.
Of course, the updated hive and beelacanth go hand in hand, so next on my to-do list is updating the unruly beelacanth, and I won't be releasing the beehive update until that's done!
Peaceful times in Albia
[Originally written July 10 2021]
Albia has given me a break from the chaos, instead allowing me to peacefully make my rounds and convince whoever had the lowest life force to eat.
That started with Julia hovering at 30%, and I couldn’t get her undivided attention with other creatures around, so I pulled her up a lift into the treehouse where I argued with her for a while. Once she got the point, though, she readily ate several pieces of food, and I released her back into the world. Next up was Tiberius, who was… much more difficult. Frustrated with his refusal to eat food, I tried getting him to push the vendor, to no avail.My attention was drawn away from him by Eudocia, who was pregnant, and her life force was dropping quickly. She was hanging out on the island with Marcellus, Verania, and Secundus. Once again, I couldn’t get her to cooperate with others around, so I lured her onto the boat and over to the jungle, where I was able to get some food into her.After this, I started eyeing the beehives. I have been meaning to make a better version of the “upgraded” beehives, after all. But I’ll split that out into a separate post!
An influx of Norns
[Originally written July 8 2021]
Albia was a freakin’ circus today. I started off with most of the Norns sleepy and collapsing into a snoring pile together; Sigurd and Gunhild got into a slap fight behind the water pump where I couldn’t discipline them, but seemed to be enjoying themselves.Then things got weird, fast. For some reason, the pufferfish decided to eject Olaf, and only Olaf, from the ocean. I have no idea why. Then, once he was on land, I tried to get him back in the water where he belongs, only to have him completely freeze on me. I tried fiddling around with the springy toy (again, it’s a godsend for moving stuck Norns) but to no avail. Olaf actually aged up on land, so it’s a very good thing that he’s an Atlantic Mernorn and not a standard variety, or he would have suffocated. When injections failed to un-stick him, I exported and reimported him, which did the trick, but then I had to juggle him with all the other Norns and try to get him and only him into the ocean, which was an ordeal. It also involved Magni helpfully trying to demonstrate swimming, so that was fun. Then Sven went and collapsed, presumably due to not eating, so I had to get him back on his feet with an injection, but he seemed to stabilize after that.
During all this chaos, the land-dwellers had produced three eggs, and soon a fourth was on the way. With the Mernorn situation under control, I tried desperately to catch up on land by hatching the eggs. I adored Grelod the moment I laid eyes on her; my orange-tipped female Frog Norn sprites go so well with the Golden Desert Norn sprites! But my second thought was the realization that I would not be able to handle four hatchlings with all the adults still in the room. So I exported Grelod and decided it was time to eject the other Norns from the safety of the cave.This meant pulling them up the lift and tossing them through the random teleporter. This worked out better for some than for others. Sigurd ended up just jumping off the platform, and the poor amphibian was very confused by his arid surroundings.Freyja ended up in the splicing room, which is not a good long-term location for a Norn, so I guided her out into the treehouses. Eventually I got everybody into at least decent positions, except Magni, who continually re-activated the teleporter to go back to the incubator! He really didn’t want to leave! Eventually I got the cheeky little fellow out, and then it was time to set about hatching the remaining eggs.
And that, of course, means it’s time for genetic analysis! We’ll start with Grelod. She has a lobe mutation that is thankfully just a random value in a state rule, sandwiched safely among a bunch of <END> flags. The receptor that makes Norns walk differently when sleepy kicks in early for her – normally, being a walk animation, it doesn’t kick in until childhood, as babies are supposed to still be crawling, regardless of mood. Her third mutation is unfortunate but not crippling.
3 Coldness Decrease + 3 Coldness = 1 Reward.
Rate: 8 (max to 0 in about 0.4 secs)
3 Coldness Decrease + 3 Coldness = 1 Punishment.
Rate: 8 (max to 0 in about 0.4 secs)
Normally this reaction encourages Norns to do things that warm them up when cold, but in Grelod it will discourage this behavior.
The next egg was the only one not laid by Freyja, but it’s worth noting I didn’t know whose eggs these were, just that I had a pile of them! Each one was a surprise. Thordis is an odd combination of sprites but I think she’s strangely charming with her purple and green coloration. I am pleased to see that, at least so far, my Lop Norn sprites seem to hybridize just fine with other breeds!Her first mutation is the receptor that ties the sleepiness chemical to the sleepiness drive; normally it’s active from birth, but it doesn’t kick in for Thordis until childhood. Her second mutation is in the emitter for sibling pheromones; the threshhold has changed by 1, which I expect will have no effect. The third mutation changed a 1 to a 0 in the inputs of a reaction; a 0 isn’t a valid value so it gets autocorrected by the kit, and the chemical being counted was <NONE> so this wouldn’t do anything anyway.
The next egg held Grelod’s sister, Halla. They look very much alike, although Halla doesn’t have matching arms and legs like Grelod does.What she does have is far more interesting mutations, aside from her two lobe mutations, which are just random values among the <END> values in state rules, as per usual.
Organ: “Creature”, Tissue: “Reproductive”, Locus: “Become fertile if high”. Chemical: “Oestrogen”.
Analogue: Output = 0 + ((Signal - 73) * 255).
Organ: “Creature”, Tissue: “Reproductive”, Locus: “Become fertile if high”. Chemical: “Oestrogen”.
Analogue: Output = 0 - ((Signal - 73) * 255).
At first, I was a bit excited about this one. I figured since the signal was inverted, the output would always be 0, and thus essentially she would never be fertile, and therefore never produce arousal potential (and in turn, no sex drive). As an asexual person myself, it would have been cool to find essentially an asexual Norn. However, if the math is not clamped until the end, then a signal of less than 73 would result in subtracting a negative number; essentially Halla would become fertile only when she had low oestrogen. We’ll find out as she grows up!
Her next mutation is one I can’t even make sense of, and I suppose must be an error. The gene actually looks the same in the genetics kit, but the D-DNA analyzer flagged it as a mutation, and when compared to a standard Norn, there’s a chunk of the line missing.
465 Different in File 1 122 0 Emb B MutDupCut 128 Organ#=6 chem=Antigen2, thresh=16, nom=0, gain=50, features=Digital
465 Different in File 2 122 0 Emb B MutDupCut 128 Organ#=6 Organ, Injury chem=Antigen2, thresh=16, nom=0, gain=50, features=Digital
My best guess is that the entire Receptor Attachment section just got omitted. No idea if an invalid change like that would actually do anything in-game, or what it would do if it did.
Organ: “Creature”, Tissue: “Sensorimotor”, Locus: “Crowdedness”. Chemical: “Crowded”. Sample every 40 ticks.
Analogue: Output = (Signal - 2) * 8.
Organ: “Creature”, Tissue: “Sensorimotor”, Locus: “Light Level”. Chemical: “Crowded”. Sample every 40 ticks.
Analogue: Output = (Signal - 2) * 8.
This is certainly a strange mutation! Halla will prefer dark places, feeling crowded in bright light. That said, this probably also means that how crowded she feels will be unconnected to the number of Norns around her.
1 Collapsase + 1 Anger = 1 Fear.
Rate: 32 (Max to 0 in about 5 secs)
1 Upatrophin + 1 Anger = 1 Fear.
Rate: 32 (Max to 0 in about 5 secs)
Now this one’s interesting! Collapsase is a chemical that is produced when a creature is retreating from a potential threat, and its presence spurs the fight-or-flight response toward flight by converting anger into fear. In other words, if a creature starts running, its anger turns to fear and it will probably continue running. The equivalent in the other direction is turnase, produced when a potential threat approaches, which converts fear to anger – a Norn standing its ground will probably continue doing so.
Upatrophin and downatrophin are simply chemicals emitted in response to the steepness of the terrain, usually used to trigger receptors that cause the gaits for walking up and down hills. In Halla’s case, she essentially doesn’t have a normal flight response, as collapsase won’t trigger her anger to convert into fear (which would encourage more running, producing more collapsase). However, she is unwilling to fight an uphill battle, literally! If her opponent has the high ground, she’ll become afraid; note that this is a reaction converting anger into fear, so if she’s not angry to begin with, upatrophin won’t make her afraid.
Finally, there’s Svala. She has only two mutations. One is a slight change to an initial concentration of a normal chemical, and one is a change to a receptor.That said, looking at the normal behavior of the receptor made me question my understanding of receptors as a whole, including going back and re-evaluating Halla’s fertility mutation.
Organ: “Current Organ (Gonad)”, Tissue: “<no tissue>”, Locus: “Repair Rate”. Chemical: “Stress”.
Analogue: Output = 0 - ((Signal - 0) * 12).
Organ: “Current Organ (Gonad)”, Tissue: “<no tissue>”, Locus: “Repair Rate”. Chemical: “Stress”.
Analogue: Output = 0 - ((Signal - 1) * 12).
The mutation itself seems inconsequential; if you’ve got more than 0 stress, you probably have more than 1 stress. But shouldn’t the normal behavior of this gene always produce an output of 0? No matter what the signal is, it’s always positive and therefore, when subtracted from 0, should always be clamped to 0.
This leads me to two possibilities: first is that the repair rate accepts negative values and therefore doesn’t clamp. The other is that my formula for receptors with the “output REDUCES with increased stimulation” flag is wrong. I have been operating on the assumption that the formulas here are the correct ones. But for emitters, the genetics kit lists inversion as meaning that the signal is treated as (255 – signal), so it’s entirely possible that’s the case for receptors as well.
I tried engineering a test Norn with receptors and emitters tied to arnica (since I could dose the Norn with that at will via arnica berries) and to unused chemicals (that would otherwise not show up but could be graphed) so I could watch the interaction, but to no avail. I have no answers at this point in time.
Paradigm Shift
[Originally written July 5 2021]
Yesterday I spent the day cobbling together my first C3 agent, and I’m quite proud of it! This smart vendor can only vend so many calm balm potions in a given amount of time, represented by an energy meter, and won’t vend if too many are already nearby. If the conditions are right for vending, though, it vends on push from creature or hand, or if a creature complains of anger (using code very similar to the empathic vendor). Gone are the days of hitting gadgets and toys to deal with anger; now these potion makers are distributed around the ship!And not a moment too soon. As I placed the new vendors, there was a flurry of noise and activity among the creatures. I hatched a replacement Hawthorn (wasn’t gonna waste a perfectly good name) I injected with the genetics kit, as my egg layer seems to still be spitting out both kinds of Grendel. Oh well.
In the chaos, sadly, several Norns were lost. Ash and Lilac succumbed to old age, while Birch, Peony, and Sunflower were killed in the midst of attempting to transition into a potion-based anger management model.
Then, as suddenly as the chaos had started, it calmed down. Norns wandered about the ship, Hawthorn and Sycamore learned to turn to potions instead of violence, and, after a few eggs went into my inventory, I was given a blissful respite from the constant influx of new creatures. At this point I turned down my creature cap to 20 (18 breeding cap) because this is about all I can handle.Finally, I was able to actually make my rounds and check on everyone. They were scattered about in the Jungle, Desert, Woodland, and Meso, and I got the occasional scare from death notifications from Ettins wandering into ponds and drowning. Sadly, one was not a false alarm; Fig, of all creatures, killed Hawthorn just as he was settling in. The new Grendel is a Banshee called Dogwood, and he seems to be taking well to the potions. Amaranth and Daisy had to be scooped out of their vacation in the Jungle for quarantine as they picked up some sickness, but thankfully the lull in activity gave me a chance to actually deal with the situation. A few minutes later, Pine had to get a similar treatment, but all three got a clean bill of health and released not long after.After that, I sat around in the Meso, keeping an eye on Dogwood and Sycamore. It was too… well, it’s never quiet with Norns around, but it was too calm. I was waiting for the other shoe to drop. A flurry of eggs, outbursts of violence, a sickness… but nothing happened.
Having lost two of the three recent hatches and with three more eggs in my inventory, I decided it was time for another round of hatches. The first one was Tulip, daughter of Rose and Sequoia. She has an ominous looking mutation that changed her initial concentration of air into chemical 28, but she was the first to hatch and didn’t immediately collapse, so I guess it’s not as problematic as it looks. She also has three invisible pigment bleed mutations.Next was Hazel, Sycamore’s first child by Foxglove. He also caused the weird glitch in the mutation finder where it would spit out vast walls of text due to the actual gendiff.exe failing, so I edited my script again to make the “cannot identify line format” error terminate the script; I am no longer seeing weirdly formatted lines anyway, so I only see that error when gendiff breaks.Having corrected the script and Hazel’s genome, I took another look. He has a couple invisible pigment bleed changes, and a minor inconsequential change in his half-lives (a 255 changed to 254), which I didn’t even bother to figure out what chemical it was. Slightly more notable is this change to a receptor.
Organ: “Creature”, Tissue: “Drive levels”, Locus: “TIREDNESS”. Chemical: “Tiredness”.
Analogue: Output = 0 + ((Signal - 0) * 0.851).
Organ: “Creature”, Tissue: “Drive levels”, Locus: “TIREDNESS”. Chemical: “Tiredness”.
Analogue: Output = 0 - ((Signal - 0) * 0.851).
Normally, as the tiredness chemical value goes up, the creature’s tiredness drive in the brain will go up accordingly. In Hazel this has mutated to be inverted, so the drive goes down as the chemical goes up. However, since the nominal value here is already 0, and the value can’t be negative, this effectively means his tiredness drive will always be 0, no matter how much tiredness chemical he has in his system. Thankfully, his sleepiness drive is fine, so he’ll rest because of that (hopefully).
Last, we have Sycamore’s second child, Carnation, daughter of Amaranth. The mutation finder detected 4 mutations in her, and opening her file produced a note saying that 3 genetic errors were corrected, and one of the genes the mutation finder indicated had no visible change in the genetics kit, so that must have been one of them. Another mutation was an invisible pigment bleed change.This left two instinct mutations, but I couldn’t write them off as being the remaining autocorrected errors; Amaranth’s file had 2 autocorrected errors too. Indeed, both of the indicated instincts were mutated, which means that Amaranth’s error mutations have passed to Carnation. I’m still not sure if they actually affect anything though. Anyway, the instinct to eat fatty foods when hungry for fat mutated to be variant 1. Carnation is variant 5, so this instinct is dormant in her. The other mutation was an exercise in irony.
When… “Tissue 2: noun” “IT is <ID 36>(Norn)” …and you “Approach it”: -1 LONELINESS.
When… “Tissue 2: noun” “IT is <ID 36>(Norn)” …and you “Approach it”: -1 CROWDEDNESS.
Essentially, Carnation won’t instinctually want to go to other Norns when she’s lonely, but she will instinctively flock to them when she’s crowded. She’s a masochistic introvert who stays by herself even when she wants company, and is perpetually uncomfortable in crowds but can’t bring herself to leave. I can relate!
Creatures at warp speed
[Originally written July 3 2021]
Holy smokes, I’d forgotten how chaotic Creatures 3 is. I spent less than half an hour playing and a lot happened in that time.
I’ve been batting around the idea of making a Calm Balm vendor to help out with angry creatures, but once I downloaded the tools for C3 agent making and started ripping apart the scripts for the medicine dispenser and mini empathic vendor, I realized I might be in just a bit over my head. That’s not going to stop me of course, as I’m going to dive into a way-too-complex project in true Shee fashion, just as I did with genetics. But I did decide maybe I’ll do it another day.
Instead, I returned to the Shee Ark and tried to recall what was going on, besides a lot of noise. Most of the Norns were either in the Woodland or the Meso. I had an egg in my inventory, and Daisy laid another moments after I logged in. Acacia was in the Jungle, sneezing, so I quarantined him, gave him a lemon, and spritzed him with pink fog, but as far as I could tell he didn’t have anything wrong with him, so I moved him to the Meso.Willow, the grumpy Grendel, passed away, and soon a new Jungle Grendel hatched, who I named Hawthorn. I taught him the basics of appropriately venting his anger, introduced him to Sycamore, and saw that they seemed to be getting along well enough, so I left them to it and went to hatch the two eggs in my inventory. No sooner had I hatched them, though, than I was drawn away by a death notification. Sycamore had turned on his new Grendel friend and beaten him to death, so I swooped in to re-educate him with the training dummy. During this time, Amaranth got pregnant and laid her egg on the heat pad in the Meso, where it hatched.I told you a lot happened in a short span of time. With three new hatchlings with genomes to analyze, I decided that was quite enough and closed the game.
First up is Peony, the daughter of Foxglove and Pine. All of her mutations were minor. One mutation was a variant change in a receptor gene that isn’t expressed anyway. One gives her slightly better boredom reduction from playing with toys. The gene that causes adolescent Norns to feel crowded by their parents (and thus want to move away from them) kicks in at the youth stage instead. She has two invisible alterations to pigment bleed genes. And her constitutive drive maintenance organ is slightly more vulnerable to damage.Next is Maple, the son of Daisy and Spruce. He has two minor mutations and two noteworthy mutations. One of them is that the Stress emitter on floating recip-emit 15 has become tied to variant 1. If I’ve read the genomes right, that FRE has a receptor for the “hunger for protein” variant of the stress chemical. So what that means is, when hungry enough for protein, FRE 15’s stored value increases, and should cause the emitter to produce the generic stress chemical. In Maple, the stored value updates correctly, but the emitter only works for variant 1 creatures. Maple is variant 3.The other noteworthy mutation is a changed instinct, but Maple inherited his father’s “do not express” flag on this gene, so it won’t affect him.
When… “Tissue 2: noun” “It is <ID 34>(portal)” …and you “Activate 1 it(push)”: -0.306 Pain.
When… “Tissue 1: verb” “verb: Default (quiescent)” …and you “Activate 1 it(push)”: -0.306 Pain.
This, of course, is utter nonsense. The verb lobe handles creatures hearing verbs being spoken, and I don’t think the default/quiescent verb can ever actually do anything in this lobe. If, somehow, a Norn with this mutation dreams that someone tells him to do the default verb, and he pushes something, his dream tells him this will reduce pain. I don’t expect that bizarre nonsense instinct will have any real effect, so this is more noteworthy as the lack of the “go through a portal when hurt” instinct. But even that means nothing for Maple, since he and his father both have this gene flagged as “do not express” anyway.
Finally, there’s Sunflower, the daughter of Amaranth and Sequoia. She is very slightly more susceptible to muscle toxin, and has three invisible changes to pigment bleeds. Otherwise she has no noteworthy mutations, but she sure is cute!Cataclysm
[Originally written July 2 2021]
I’ve been putting off going back to Creatures 2 for multiple reasons. First, there was the fact that poor Gandalf’s deadly mutation was waiting for me. Second, I had moved furniture and the KVM/NUC setup dedicated to running Creatures 2 needed to be reconnected. And third, it turns out I was suffering from depression.
But I'm on sabbatical and getting treatment, and doing much better now, so I was ready to expend energy on things like re-wiring the computer system. I even figured out how to get the monitor to scale appropriately; I have a 1080p monitor but of course Creatures 2 doesn’t like to work well above about 720p, and I had previously set it up to stretch the 720p desktop to fit the monitor, resulting in odd sizing and blurriness. Now, after some tweaks in the Intel Graphics Control Panel, it just renders at real size with letterboxing, making it much easier for me to gauge the size of Norns and making everything much crisper.
I braced myself for the inevitable and loaded into the game. And it sure was a good thing the antidepressants were working because I got to witness poor Gandalf collapsing, and Pippin becoming increasingly confused why his brother wasn’t responding as he tickled, spoke to, and even slapped him in his attempt to wake him. Then, he vanished. There was no death notification, but the graveyard noted Gandalf as recently deceased. I registered the death, then shook myself out of my daze and set about teaching Pippin.Once I was satisfied, I moved on to checking on the land-bound Norns, and found that they’d gotten into quite a bit of trouble while I was distracted. Edmund had fallen down a well, so I had to extract him with the spring toy and lead him up to the nearby red berry bush, where he settled in. Then I checked in on Tom, who was in the desert… with an unexpected friend. Beth had escaped from the Incubator room, so I immediately set about wrangling her. No sooner had I gotten her back in than Erika made a break for it and took off across the desert, requiring me to herd her back into the incubator room as well! The two of them are tag-team trouble! I went to find where Tom had gone since I last saw him, and he was now inside the volcano, so I fished him out and guided him away. Thankfully his limping gait works just fine for going up a hill like the one in the volcano’s cone. As soon as Tom laid eyes on the raft, he became obsessed with it, and I didn’t want him riding it back and forth all day, so I got him to the other side and then sent the raft back before he could get back on.The Mernorns produced another son, but I’m not bothering to analyze the genetics, because of what was soon to come. Borland’s sudden appearance turned out to be a bad omen, because not long after, the game crashed. I tried to relaunch, and got an error. I rebooted, tried to relaunch, and got an error. I opened a test world, no error. Tried to open the main world, error. The world file was corrupted. I had no choice but to start over.
I built up a new world, Midgard, and made a backup copy. Hopefully if the world becomes corrupted, I can drop the backup file in and the inhabitants will be fine. Speaking of inhabitants, I needed some, now that the old guard were lost to the void. I started with two Mernorns, Olaf and Inga. I did not train them as thoroughly as I had with previous Mernorns, as I started them off in the water from day one. Olaf turned out to be a bit of a bully, but they eventually learned to get along.Then, at long last, it was time to introduce true Creatures 2 Norns to the land. I hatched five of them, which may seem like a bit much, but I wanted these breeds represented in the population. Magni, the Lop Ear Norn, would be the first of his breed to see actual, normal gameplay! Freyja and Bjorn brought Golden Desert and Hebe genes to the table, while Gunhild the Emerald and Sigurd the Frog Norn brought vibrant greens to the world.
I thought it would be efficient to teach the entire gaggle of young Norns all at once. This is fine for verbs, but doesn’t work so well for nouns, which I found out the hard way. I ended up having to export them and import each one to be retrained, one at a time. Sigurd somehow associated “root” with something else entirely and no matter how I tried I couldn’t find out what he thought “root” referred to, so I couldn’t clear the word up to be reassigned to the correct category. As such, he now calls carrots “rut” which I figured was close enough. Hopefully the doozer and other creatures will sort him out.I then brought the creatures down to the adjective computer in pairs; wrangling all five was just too much trouble. Eventually, I had them all trained, and they happily lazed about in the incubator room until growing into childhood. I have put the elevator on their level so they can leave when they like, as I don’t intend to keep them cooped up. The land is theirs to explore, now. Meanwhile, the Mernorns set about claiming the sea, bringing the first second-generation child into this new world.Sven has several mutations of note. He’s got two brain mutations to start with, both displaying the same change. I’ll show the one in 555; the other is in 570, the Regulator Lobe.
D1 Growth
Source Lobe: Noun i/ps. Min: 1, Max: 1. Spread: flat. Migrate: never.
Initial config: Fanout: 0, LTW between 255 and 255, Strength between 255 and 255.
Source Lobe: Noun i/ps. Min: 1, Max: 1. Spread: normal. Migrate: never.
Initial config: Fanout: 0, LTW between 255 and 255, Strength between 255 and 255.
I don’t expect them to have any effect; since the min and max dendrites are 1 for this gene and 0 for the other, so in both cases the spread shouldn’t actually matter.
Organ: “Brain”, Tissue: “Decision o/ps”, Locus: “Chemical 1”. Chemical: “Punishment”.
Analogue: Output = 0 + ((Signal - 0) * 255).
Organ: “Brain”, Tissue: “Decision o/ps”, Locus: “Chemical 1”. Chemical: “Punishment”.
Analogue: Output = 1 + ((Signal - 0) * 255).
This one may or may not be a problem. Basically, Sven always has a very small punishment signal in his brain, which could cause trouble with learning. On the other hand, because it’s such a small signal, it may not have a noticeable effect.
Organ: “Creature”, Tissue: “Somatic”, Locus: “die of old age”. Chemical: “Life”.
Digital: Output = 117 - 255 if Signal > 5.
Organ: “Creature”, Tissue: “Somatic”, Locus: “die of old age”. Chemical: “Life”.
Digital: Output = 117 - 255 if Signal > 4.
This equation produces 0 if the creature has more than 5 units of Life. Presumably, a non-zero value triggers death. The Life chemical decays over time, which triggers aging and eventually death. Barring catastrophe, Sven will live a bit longer than a normal Mernorn because his Life needs to decay more to trigger death.
1 Boredom Decrease + 1 Boredom = 1 Reward + 1 <nothing>.
Rate: 8 (Max to 0 in about 0.4 secs)
1 Boredom Decrease + 1 Boredom = 1 Reward + 1 Pain.
Rate: 8 (Max to 0 in about 0.4 secs)
Sadly, it seems reducing boredom will cause Sven a small amount of pain. Hopefully, this trace amount will have no effect on his quality of life, and thankfully it creates Pain directly rather than Pain Increase, which would involve punishment.
1 Glycogen + 1 Adrenaline = 3 Glucose + 1 Adrenaline.
Rate: 32 (Max to 0 in about 5 secs)
1 Glycogen + 1 Adrenaline = 3 Glucose + 0 Adrenaline.
Rate: 32 (Max to 0 in about 5 secs)
Not sure what to make of this one. In theory, this would mean that adrenaline-fueled conversion of glycogen to glucose would also consume the adrenaline, making the reaction much shorter. However, it is the type of mutation that gets automatically corrected in the genetics kit, so I’m not sure it actually affects him.
Sven also has a mutation in the half-life of chemical 168, which shouldn’t affect anything. He has a few minor pigment and pigment bleed changes that shouldn’t be visible. The most notable of these changes is that one of his red values is at 137 instead of 128, but even this hasn’t produced a noticeable change. As for the mix-and-match color genes of the Mernorns, he has inherited both of his father’s pigment bleeds, so he’ll be the spitting image of his dad.