Monday, December 5, 2011

"Garden Box" Mini-injector-- Another sort of opinion poll

So while I was brainstorming the structure and logic of the aforementioned planting-stuff-into-walls agent, I stumbled on an idea that I'm not sure how I feel about.

The goal of this agent is to make world-customizing easier and more interesting, but the way I have the agent currently planned out, it might be a little laborious. If you wanted to plant a strawberry patch, you would have to go to the injector room, inject the strawberry planter agent (assuming you already had the plant-stuff-into-walls-core installed), scroll back to the room you wanted to plant the patch, find the spot to plant the patch (a bit of a pain in large worlds like C2inDS), and plant it. Now imagine you want to plant six, or twelve strawberry patches. You would have to go back and reject the module each time, re-find the place you wanted to plant it, and so on. This, to me, sounds like anything but what the joy of customizing a world should be.

There are a few different ways to make this a bit easier, like creating reusable seed packets that one can just carry around with them to create more patches. I don't know about you guys, but I don't really know what to do with seed vendors once I'm done with them; I don't like to have them imposing on the scenery and if I stick them somewhere I tend to lose them. Maybe that's just me.

My current brainstormed-solution is to, instead, create what I am terming a "Garden Box." This would essentially become and contain the plant-stuff-into-walls-core, and would sit as a little icon in the bottom corner of your screen, that when clicked, would expand into a floating box containing a list of all the garden box modules you have installed. From there all you would have to do is select the plant you wanted, confirm it, and plant your patch. When you were finished, the box could be minimized back to its icon form.

Something like this could be expanded far beyond an easy way to use wall-plantable agents; it could be expanded to contain other seed modules too, and possibly critters, scenery objects, etc., so you would basically have a centralized place for world-customizing stuff. Plants and critters already native to C3/DS would (I think) be fairly easy to add to the box, for easy re-creation in other areas of the world. Creators would have to rewrite any existing 3rd party agents if they wanted them to show up in the Garden Box (hopefully something that wouldn't be too difficult if I can implement it right), so it wouldn't be a universal solution by any means, but it still could simplify things.

What do you guys think? Is there a better solution to this? Does it bother you having to reinject an agent several times? Do you try to avoid having a bunch of seed vendors lying around? Does something like the Garden Box sound worth the wait, or should I just focus on the wall-plantable stuff on its own?

Saturday, December 3, 2011

CCSF wrap-up, Advanced Muco Bugs, Looking Ahead

CCSF really, really burned me out, guys. Wow. I've never done so many things at once in such a short period of time. I think I had a total of like fifteen downloads throughout the whole thing. Granted most of them were only a few lines of code, but that's still quite a bit to put out.

I never got a chance to write a proper wrap-up post. After it was over, I furiously scrambled to catch up on my NaNoWriMo story (which I did manage to finish, but wow I have never written a worse story in my life), and well, it's not too hard to tell how creatively exhausted I am right now. Kind of a shame too, considering I really wanted to contribute to the Creatures Community Advent Calendar but I simply had nothing left in me.

I really wanted to thank everyone who made blog posts during the CCSF; I don't know about everyone else, but for me it was really inspiring to see something new happening every day, and went a long way in motivating me to keep up as well. I originally planned on making some little award buttons/banners for the participants, but it was just something that kept getting pushed to the back burner. It's still something I'd like to do, though, belated as it may be.

Also, there have been a couple reports on Advanced Muco acting a little bit funny when used to select creature breeds that have never been injected before. I haven't had a chance to thoroughly investigate this, but in the meantime, if you're having a problem with a breed of creature that you haven't yet injected throwing errors/autokilling muco when selected via Advanced Muco, try using Advanced Muco to select the creature before the newly installed breed, then clicking on muco itself to select the next breed the old-fashioned way. Inject the egg, and hopefully you won't have any more problems selecting the breed normally via Advanced Muco. If you have any other issues with this, do let me know. It's something I'll look into eventually, and it will be be big help if I have some specific details from you guys.

In spite of all this creative exhaustion, my mind is already hatching new ideas for agents. The release of the Biodomes especially got me thinking about pulling away from my current obsessions with norn genetics/interaction/functionality and looking a little more at world customization.

One thing I'm tossing around in my head right now is an agent that essentially lets you plant a fruit or nut into the background/wall. You would select a region of the world (the idea being that you would do this with an area of the background that contains an image of a shrub or tree, but of course you could do whatever you wanted), possibly set some settings (like if you only want the fruit to grow in certain seasons, how often it should grow, etc), confirm it, and then the fruit would just start spawning in that selected area of the background, giving the illusion that the bush (or whatever) is bearing fruit. Kind of like the apples and seed pods grow in the C3 norn area-- they don't really grow on a plant agent, they're just set up to spawn in random areas of the treehouse.Would open up some nice world customization abilities anyway.

What do you guys think? I think I could set it up to be modular, so you could inject the "plant stuff into wall" core, and then individual agents for each type of food-- lemons, justanuts, apples, whatever, so it wouldn't be too hard for developers to make their own wall-plantable foods; it would just be a matter of writing a basic food agent and setting a few variables that sync up with the core. Could be fun? Maybe?

Tuesday, November 15, 2011

Just a few other things

I have a few last things for you guys, if rough and untested:

The first thing is pretty much useless right now, at least til the warp goes back up, but it's a very simple magic words command, "random contact" that, assuming you are online, picks a random online user and adds them to your contacts list if they are not already on it. Basically a way to add people to your contacts without having to warp out random norns to them. Type it in, spam Ctrl + S a few times, and keep reloading your contacts list until the desired person appears. It's pretty boring and unrefined, and maybe I'll turn it into something better later, but it's not like it's that painful to hit Ctrl+S a few times, Anyway. Download it here. Requires Magic Words Core, as always.

The second thing has been requested a few times, so I've put together a release version of it-- that is the Creature Nametags you see on LNA and in a few of my posts/videos. Injecting this will make your creature's names appear under their feet, color-coded according to gender. If you are online and the creature has warped before, the name of the original breeder will appear as a secondary tag under their name.
If you have Magic Words installed, this agent comes with Magic Words commands to change the secondary tag of the selected creature: "set tag [text]" and "reset tag", so you can label your creatures however you want.
Again, this agent is a little rough around the edges and probably still needs further tweaking, but I'm trying to follow my impulses to just get stuff out there so people can start enjoying it, rather than having them sit unused by the masses because I don't find it perfect enough, hah.
Download Creature Nametags here.

Feedback and suggestions are always appreciated!

Monday, November 14, 2011

Interactive Egg Script

Tying up most of my loose-end projects with this modified egg script. This script, similar to the critical hit script and crossbreeding script, is meant to just add an extra bit of flavor to the game. It makes eggs a little bit more interactive-- you and your creatures can both tickle and slap them. Tickling (clicking for the hand and pushing for creatures) warms them up a bit and speeds their development, while slapping (shift+clicking for the hand and hitting for creatures) damages the eggs and may injure or even kill the unborn creature. Eggs will also generally hatch a bit faster than normal.

Tip 1: If your creatures have gotten a little slap-happy with an egg, tickling it as much as you can may help the unborn creature heal.

Tip 2: A freshly-laid egg may need to be picked up and set down again before it responds to tickles and slaps.



I have been passively tweaking and using this script for some time now, but it hasn't really been rigorously tested (pretty much no testing at all with grendel/ettin eggs), so let me know if you run into any problems.

Download the Interactive Egg Script.

Sunday, November 13, 2011

On Creaturely Inbreeding

Most of us understand and accept that inbreeding is just part of nornish society. Creatures can't generally tell their parents from their children, their siblings from their cousins, and so on. A young, healthy breeding female is just as happy to have a romantic escapade with her grandfather as she is to push the cute little fallow you had lined up for her. It's strange, but biologically, there's no reason for creatures to act otherwise. There are no genetic pitfalls to inbreeding for norns like there are for us, and creatures do not live in structured family groups, nor do they have any sort of social stigma that comes with inbreeding. Overall, it's a little silly to expect such primitive alife to conform to our social code that we have developed over thousands of years when they really have no reason to.

But when it comes down to it, no matter how normal and understandable it is, as humans trying to raise a colony of creatures, it still comes off as just a little irksome when your first second generation norn chooses his mother as a mate. It sort of ruins the cute little ideals we have about raising creatures to be reminded that they really are nothing like the personalities we project onto them.

In nurturing worlds, it really would just be nice if creatures avoided inbreeding.

So forget everything I just said for a moment; now we're going to look at this gene:

This might be a little overwhelming; explaining genetics often is, but try to bear with me here.

This is a chemical emitter. Creatures have tons of them. Essentially their purpose is to emit, or inject, a certain chemical into a norn periodically if certain conditions are met. The Emitter Attachment box indicates the source of input, and the Chemical information box indicates the output.

This is an emitter that I'm pretty sure is common to most creatures capable of breeding, so it makes a good example.

Let's get the Chemical Information box out of the way first. This particular gene is set up to emit the chemical, "Opposite Sex Pheromone." The Smpl rate indicates how often the chemical will be emitted, from every tick to every 255 ticks. The Gain indicates just how much of the chemical is emitted, from 0 to 1. And the threshold indicates how high the input has to be before the emitter kicks in and starts emitting at all, also from 0 to 1.

The center box controls how the input is handled; Analogue means the higher the input is above the threshold, the more of the chemical is emitted. Digital means that it will emit the gain amount of chemical as long as the input is above the threshold, regardless of how high it is.

So what we have here is a an emitter that emits a small amount of Opposite Sex Pheromone as long as the input is above the threshold, which is currently set to 0.

But what the heck is the input? The brain, honestly, can be a scary thing to play in. It baffles even me, but this bit is actually pretty straightforward if you can follow me.

Most of what goes on in a creature's brain is controlled by the engine. This can be a little frustrating to developers trying to change something only to find it hard-coded, but that's another story. In this case though, we are dealing with a certain lobe of the creature's brain, specifically, "situ" or the Situation Lobe.

This lobe contains 16 neurons, most of which are unused. The value set in these neurons is controlled by the engine (though it can also be affected by caos). The neurons are labeled as follows:

0 "I am this old"
1 "I am inside a vehicle"
2 "I am carrying something"
3 "I am being carried"
4 "I am falling"
5 "I am near a creature of the opposite sex and my genus"
6 "I am musically at this mood"
7 "I am musically at this threat level"
8 "I am the selected norn"
9-15 -- undefined

If you're playing close attention, you'll notice that Neuron 5, the one used in the gene we're studying, is tied to "I am near a creature of the opposite sex and my genus". Makes sense now, right? When that neuron's value is greater than 0, the Opposite Sex Pheromone is emitted.

(As for the state, if you're fiddling in the genetics kit, you'll notice you can choose from 0 to 3. That's another discussion altogether, but most of the time, 0 is the state you want; we'll leave it at that for now.)

Now, you should have a basic understanding of how these sorts of emitter genes work. It's a bit funny if you graph this one in action via the Biochemistry Set-- all you have to do is hold a mature norn in the same room as a creature of the opposite sex, and watch the Opposite Sex Pheromone line go up. Move the creature out of view, and it goes down again.

You could, in theory, use this knowledge to create an emitter that triggers on neuron 4, emitting something like fear when falling, or something to increase comfort levels when neuron 8 is triggered.

Or, you could take a look at another lobe, the detl, or Detail Lobe.

This lobe also contains 16 neurons, and they apply to the object that the creature is currently looking at:

0 "It is being carried by me"
1 "It is being carried by someone else"
2 "It is this close to me"
3 "It is a creature"
4 "It is my sibling"
5 "It is my parent"
6 "It is my child"
7 "It is of opposite sex and my genus"
8 "It is of this size"
9 "It is smelling this much"
10 "It is stopped"
11-15 undefined

You might be able to see where I'm going with this.

Turns out, the engine is already coded to trigger certain neurons when a creature is looking at a family member, as detailed in neurons 4, 5, and 6. This makes the job of discouraging inbreeding just a matter of adding in a few receptors, like so:

A creature's fertility works something like this: Opposite Sex Pheromone is emitted by the emitter we were just studying when potential mates are around. Then, when the creature is fertile, Arousal Potential is emitted. When Opposite Sex Pheromone and Arousal Potential are both present in a creature, they convert into Sex Drive, thus making the creature want to mate.

Libido Lowerer effectively cancels out Arousal Potential. So with the addition of these three genes, a creature essentially will have no desire to mate when he or she is paying attention to a family member.

This graph a little further down illustrates the effect of these genes. Sadly the creature at the time was not especially fertile, so you can't see how the Libido Lowerer cancels arousal potential, but you can see that at point A, the creature is alone; at point B, he enters an area where potential mates are milling around, and at point C, he turns his attention to his sibling, spiking Libido Lowerer.

Now, these genes aren't by any means foolproof when it comes to preventing inbreeding. They will prevent creatures from naturally lusting after immediate family, but all bets are off if a creature is artificially made fertile with an agent or script that pumps their fertility so high they don't know what they're pushing!

The other pitfall to this is that it only checks immediate family members; Creatures may still end up attracted to their cousins, nieces, grandchildren, or what have you. But this is something that may be overcome in the future as well; more on that later.

An amusing side effect to these genes is that if a creature is snogging his beloved and happens to catch a glance of his mother walking by, he's likely to lose interest in the act altogether. So these creatures prefer privacy when it comes to romance!

These modifications certainly aren't anything new, Vampess' CFE Family Norns comes to mind as an example that's been around a while (as a disclaimer, I haven't gone poking around in the genomes myself to confirm this, but from the information given about them they seem to operate the same way).

It's exciting to consider what more can be done with these sorts of emitters, and possibly with unused neurons. I mentioned before that these neurons can be affected with caos, meaning a script could run to send a signal to a norn's brain when say, he was looking at a potential mate that was more than an hour older or younger than him. That could trigger similar emitter genes that would prevent creatures from breeding with grandparents or nephews. Another example: a signal could be sent to a creature's brain if he was looking at someone he had previously mated with, which could be linked to emitters to encourage monogamy or diversity.

Branching off from breeding behaviors, a world might be scripted to define certain creatures as being in certain tribes or clans, and creatures might become more angry when encountering creatures in enemy tribes.

Unfortunately I haven't actually tested these waters, and I am inclined to think that a bunch of scripts constantly firing neurons in creatures' heads might quickly slow down the game, but still, I think there's a lot to potentially explore here. I've been poking around a lot in the norn brain in some painfully grueling attempt to understand exactly how it works and open new doors in Creature development; I just hope I can make sense of it all and help it make sense to others, too.

Critical Hit Script

It seems like using the CCSF as an excuse to get off my tail and finish up all the project that have been teetering on the edge of completion for months/years is working pretty well. One glance at my old projects list and it looks like quite a bit has been shaved off over the past several days.

So here we have another example-- a tweaked version of the Critical Hit Script.

Before I go any further, I want to emphasize that this is a script designed for general use-- It is not a "torture" agent or anything of the sort. Quite the contrary actually; this modification in many cases has helped creatures survive better when under attack.

Critical hits don't land very often in this version-- far less often than they do in my older video, anyway. They do hurt a lot, but the flinging back of the creature gives it a very good chance of escaping from his/her attacker.

Really, this script is just intended to make the game a little bit more interesting, and in my tests has not drastically affected the gameplay. I hope everyone can get some enjoyment from it, regardless of your playstyle.

Download the Critical Hit Script here. Extra thanks to Mea for the beta-testing!

Saturday, November 12, 2011

Peaceful Death Script

Today is my birthday. Hurrah! Yet, in some morbid twist of scheduling, I am blogging about creature death today. Lovely.

Has anyone else found it just a little odd/creepy when a creature continues to attempt to hit or push another creature after it is dead? Since creatures cannot tell the difference between a living and dead creature, it just sort of confuses them when suddenly their victim or object of affection isn't lowering their drives anymore when they.... well, this just gets creepier the more I think about it, so I think I'll just stop.

In my never-ending attempt to tweak scripts here and there to tailor the game more to my needs, I have made a few very minor edits to the death script. This simple modification does two things-- first, it makes dead creatures invisible to other creatures so they can have the peace and respect they deserve. Secondly, it makes dead creatures pickup-able by the hand (I was always annoyed that I couldn't do that), so you can carry the body to rest in a proper place if you so wish, or just move it out of the way of other creatures so you can actually target it with the hoverdoc to find out what happened. I'm not the only one who gets really annoyed with that, right?

If you're interested, download the Peaceful Death Script here.

Friday, November 11, 2011

The Mythical Elevine

We're approaching the final few days of CCSF and as far as this blog goes, it's going to end rather anticlimactically. Maybe I should have planned and saved all the really shiny stuff for the last few days, but that's just not how my developing mind works. No, instead the last few days are likely going to consist of little odds and ends I'm tying up just to get them off my to-do list. But I guess that's okay, since I assume everyone else is releasing their greatest masterpieces themselves over the last few days, and there will be plenty else to play with.

This was pretty much the last thing on my list to pack up and ship out, agent-wise, and I'm honestly not a hundred percent sure I like them as they are, but since giving my instinctless norns the ability to use normal lifts again, these aren't as vital. Though they still are a lot of fun for customizing worlds to your liking, I probably won't be putting a lot more effort into tweaking them, so I figured I'll just call them done for now.



Download the Elevines. A thousand thanks to Mea, both for the beautiful sprites and for extensive bugtesting!

 As a fair warning, I have had these throw errors a few times on me, but I've never been able to replicate the errors or generally figure out what has been going wrong, so do report any bugs you find in as much detail as possible.

Thursday, November 10, 2011

Advanced Muco: yet another buggy release.

You know what I hate releasing even more than untested agents? Agents with known bugs.

This is one of them.

The Advanced Muco is one of those things that I personally rarely use (since all my norns these days are "designer" creatures gengineered for a certain purpose), but the need for it was so great in the community and no one had done it yet, so I decided to take a shot at it.



My agony with this agent is that the left/right buttons as well as the center on/off button are supposed to light up when they are hovered over, and being the incompetent programmer that I am, I can't seem to make such a simple thing work despite managing to code the rest of the agent with much less effort than I originally anticipated.

Oh well. Light-up buttons or not, it does its job of making egg selection much, much less of a pain than it used to be. That's what matters, right?

Download the Advanced Muco. Thanks to both Mea and Ghosthande for beta-ing!
Remember, after injecting you need to click on the round button-thing on Muco to open the display!


Wednesday, November 9, 2011

Magic Words: Love and War module

Back for CCSF '09 I got around to releasing some keyboard shortcuts that I had found useful over the years. But out of all of them, I think the ones that saw the most use were ctrl+9 and ctrl+shift+9 -- they were shortcuts that globally encouraged creatures to breed or fight respectively.

Since writing up the Magic Words system, I've found it much more useful for things like this, especially since unlike keys on a keyboard, there are a nearly infinite number of words and phrases to define. So I rewrote it, for my own convenience as well as yours.



So this rather simple Magic Words module puts two commands at your fingertips: "love time" and "war time". Fairly self-explanatory, entering one of these phrases will encourage all creatures in the world to act accordingly, giving you a quick way to either increase or decrease your population.

This can be an especially handy tool for those trying to crossbreed creatures, because unlike the old keyboard shortcut version and/or most aphrodisiac agents that only encourage creatures to push other creatures of their species, entering "love time" will encourage creatures to push any living creature nearby, regardless of species. As an added bonus, the command will also encourage any already pregnant females to lay their eggs.

Download it here! Remember, this requires the Magic Words core to work.

Tuesday, November 8, 2011

Crossbreeding Script. About time too!

So a long, long time ago, just for the heck of it and to see it could be done, I wrote up a quick crossbreeding script for C3/DS. It wasn't really all that refined, and it was one of those things that sat around untested and unreleased because all I wanted to do was see if it was possible for creatures to crossbreed. Once that question was answered, I really had no desire to work on it further.

But it remained one of my most requested scripts for release, so I finally got around to refining it, and with some helpful testing by Mea, I'm finally getting around to releasing it today.

Now, you have to understand something when using this script-- it's not going to make all your creatures suddenly fall in love and have lots of hybrid babies. Even though this script will enable creatures of different species to breed if they are both very fertile and push each other enough, norns, ettins, and grendels are still not genetically attracted to each other, and it will take a lot of encouragement from the hand and various aphrodisiac agents to get them to push each other. Instinctless norns, I've found, are a bit more open to the idea than other creatures, but still not easy to sway. Where this script really has the potential to shine, however, is with hybrid creatures that may be of one species but have inherited the breeding instincts of another. Provided it finds a willing mate, a creature no longer has to be limited by its species.

One thing to note is that this script does not take into account for twin chances, or mutation rates due to heavy metals. Maybe in a later release (like three years later at this rate, hah.)


In the meantime, download the crossbreeding script here. This comes with both a cosfile and an agent--use whichever you see fit. Extra thanks to Mea for testing!

Monday, November 7, 2011

For better Nornish Education!

Just when I thought I might actually get some writing done today, a thread on Creaturetopia inspired me to break open the CAOS tool yet again.



Really, I'm surprised I hadn't thought of it before. Hand-teaching norns their first words has a lot of charm to it in nurturing worlds, but after a while it becomes routine to lock a newly-hatched norn in the learning room for most of its babyhood, set the machine to automatic, and go about doing other things (or sit there, if you wish and watch the baby bumble about whilst having words drilled into its head). It's just not a very engaging process!

But using this Magic Words module, you can teach your norns words as you need them to learn them, so they can still run about enjoying their childhood, learning at a more natural pace. I find it a lot more personable and interactive than just having them watch a learning agent spit out words.

The syntax is pretty simple, just type "teach [word]". Provided the word is a valid DS vocabulary word, the hand will repeat it, and all creatures in earshot will attempt to learn it. It may take them a few tries, but they'll get it. One special exception is the hand-- if you type "teach hand" creatures will learn the name of the hand according to what you've defined it as, which I believe is by default your DS username, or just 'hand' if you have an offline world. You can change the name of the hand in the DS options panel.

Mostly, this is meant to be used to teach your creatures non-noun words, verbs such as push or hit, drives such as bored or hungry for starch, and other words like dislike, look, express, maybe, and so on. But if you really want to, you can use it to teach nouns too; it's probably easier to go about it the traditional way, but in certain cases you might want to teach a creature about certain objects beforehand (sometimes you don't want to wait until you encounter an angry grendel to teach a norn what it is so it will obey your commands to retreat from it).

Download Magic Words: Hand-Teaching. Requires the Magic Words Core to work.
Do keep in mind that this is something I literally threw together in a matter of hours and is likely to have some bugs here and there; please let me know if anything goes wrong so I can fix it.

The case for Navigation Instincts

So after further testing, I have decided it is best to give my instinctless norns their navigation instincts back.

 Even though the elevines make it easy for creatures that don't know how to use call buttons to get up and down, it seems without navigation instincts, the creatures don't really understand that they have to go up and down. Or in or out, and so on. Further research is required but it really doesn't look like creatures learn that going up satisfies their up drive the same way that eating satisfies hunger.

I do want my instinctless norns to be teachable, but not handicapped. And if they're genetically incapable of understanding a concept required for getting around their world, it really isn't fair. As put-off as I am by the idea of creatures popping out of the egg fully understanding how call buttons work, all things considered, up and down are just directions like left and right in their world, and I don't think that game mechanics in a flat world should prevent them from having full access to it.

If well-trained adult instinctless creatures can't make their way through a basic navigational IQ test, I feel that something is wrong there. So for now, I'm re-enabling them. Maybe a better solution will present itself later, but so far this change seems to give my instinctless darlings all their previous learning flexibility with the added bonus of knowing how to get around.

Sunday, November 6, 2011

Magic Words Template

First, I would like to say that today would mark the 23rd birthday of my favorite cat, were he still living. Even though he passed several years ago, I always remember him on his birthday. Happy birthday, Kitty-Witty; I hope you are having a lovely party in cat-heaven.

Anyway.

When I first brainstormed the notion of an agent that responded to speech-bubble commands, I remember one of my priorities was to make it easily expandable. I didn't want to have to recode my whole script every time I wanted to add a new command. So the system I came up with allowed the core agent to scan for "plugin" agents for matching words or phrases, and then execute the script within the plugin agent when a match is found.

I tried to set it up so it would be as easy as possible to write a plugin script so that any coder who wanted to could easily write their own speech-bubble activated commands without having to rewrite the core agent.  I hope I succeeded, but you guys will be the judge of that.

You can download the working template here for detailed information and examples, but the process is really rather simple:

First create a simple agent with a blank sprite file and classifier 1 200 X. X being of course, a number of your choosing, one that doesn't overlap with someone elses, as with all classifiers. The important thing here is that the family is 1 and the genus is 200, since these are the classifiers that the core agent scans for.

Then, define name variables for the agent:
"magic_word_count" -- integer, the number of words/phrases you're going to address in this agent.
"magic_word_#" -- string, the word/phrase that must be entered to activate the script
"magic_word_help_#" -- string, the text that shows up listing the word/phrase and what it does in the help window (the one that pops up when you type "help" in the speech bubble).

You need to define as many magic_word and magic_word_help variables as defined in the magic_word_count variable. So for example, if "magic_word_count" is set to 2, you will need to define "magic_word_1" "magic_word_2" "magic_word_help_1" and "magic_word_help_2"

From there all you have to do is write your scripts. When the word or phrase defined in magic_word_1 is triggered, the agent will run script 1001,  magic_word_2 will trigger 1002, and so on, so write scripts accordingly.

Here's a tip-- if you define magic_word_1 as "potato" the script will obviously trigger if you type "potato" in the speech bubble-- however, if you define magic_word_1 as "_potato" the script will trigger if you type any phrase containing the word "potato" such as "eat potato" or "potatoes are awesome." The contents of the speech bubble are then sent to the script within _p1_, allowing for more complex commands.

More details can be found in the aforementioned template cosfile, but that's the basics of it. I hope you caos-inclined creature-people can play around with it and put lots of interesting and useful commands at our fingertips!

Easy ways to break your world.

This wasn't one of those things I planned to finish for CCSF; it was just one of those things that I made on a whim to solve a problem I had, and thought, "hey, someone might be able to use this!" Plus it can be quite a bit of fun:



The "clone" command will create a duplicate of the agent the hand is touching-- provided it is a movable agent. This is a sort of fail-safe to prevent you from cloning something you shouldn't. But if you want to clone something you shouldn't anyway, you can use the "movable" command to make an object...well, movable (and thus clonable). Of course, you want to be very careful with this-- some things, particularly doors, lifts and UI elements, just shouldn't be moved, and it can cause come serious errors if you do so anyway. To help you out a little, if you accidentally move something you didn't want to, or just want to put something back where it came from, the "reset position" command makes that easy for you, too.

Download the Magic Words: Cloning module. As with all Magic Words modules, this requires the Magic Words Core to work.

This hasn't been rigorously bugtested or anything; let me know any problems you run into!

Saturday, November 5, 2011

I guess I should start releasing things...

If you follow this blog, you're probably well aware that I tend to develop a more than I release. A lot more.

See, the thing is I just hate releasing imperfect things. Good testers are nearly impossible to find, and I often find myself sitting on a project out of paranoia that there is some bug in it that I haven't found yet because I am the only tester.

But I guess the best way of getting things tested is to just release it. I've found that people are much quicker to tell you if something they expect to work flawlessly does not.

So I'm going to fair-warn you that many agents I'm going to release have not been fully tested. Consider yourself a tester.

Anyway. Moving on to today's thingy.

Today I'm going to release the Magic Words Core, which is needed for all modules to work, as well as the SERU module, to give you something to play with.

Most of you have probably seen the Magic Words Demo if you follow this blog regularly. This is an agent that you inject in parts-- the core agent allows for speech-bubble activated scripts while various modules define the activation words and scripts themselves.

Once injected, typing "help" into the speech bubble (as though you were talking to a creature) will bring up a window listing all the commands available to you. If you haven't injected any modules, it won't show much of anything, but it will update itself as you inject more modules. This way you won't have to memorize every single command when you have fifty modules injected.

Download the Magic Words Core. This zip file contains both an agent and a cosfile. If you use it a lot, I would highly recommend just dropping the cosfile in your \Bootstrap\010 Docking Station folder so you don't have to inject it into every world, but if you want to pick and choose, just use the agent file per-world as you normally would.

Of course, the core alone doesn't really do much of anything, so here is a module, for your amusement.

If you're not familiar with SERU, I think it was by far my most popular agent, at least two years ago. It played through a sort of mini-storyline in which you were entrusted with stray eggs to care for. Several people liked the random eggs the agent produced, but weren't too keen on the storyline, so it made a perfect candidate for a magic words shortcut.

After injecting the Magic Words SERU module (and ensuring the core is injected as well), all you have to do is type "seru" in the speech bubble and a random egg will mysteriously appear. No storylines, beams, or cooldowns involved. Though I would still highly recommend using the original agent for the full experience, I realize it gets old after a while and sometimes you just want interesting creatures to mess with.

Download Magic Words SERU. Remember that this, like all Magic Words modules, requires the core to work. This file also comes with both a cos and an agent file, so you can decide which you want to use.

If you are a developer, it's very easy to write your own Magic Words modules! I'll try to get the template posted up by tomorrow.

Friday, November 4, 2011

Creatures Medicine 101: Antigens and Antibodies

Antibodies fight antigens. Right? Every chemical list says so. Even the hoverdoc's cure glossary says so.

Well... as much sense as that makes, I'm having an impossible time proving that true. I can't find any chemical reaction genes that indicate as such, and if I inject a norn with an antibody and follow it up with an antigen injection, it doesn't seem to decay any faster than if no antibodies were present.

No.. the way the reaction equation works is something like this: Antigen X = Antibody X + side effect X
For example, the CFE bruin genome states that 2 antigen 0 = 12 Antibody 0 + 1 histamine B

Antibodies don't seem to actually fight antigens. Antibodies are what the immune system turns antibodies into; essentially, they are a by-product of the body's attempt to fight the infection. In this second graph, I manually lowered the concentration of antibody 0 several times (hence the jagged blue line) and the concentration had absolutely no effect on the rate of decay of the antigen; it follows the same steady curve.

So if antibodies don't fight antigens, what are you supposed to give an ill creature? It is a bit daunting to suddenly find that those antibody-filled lemons aren't doing a thing for a creature's immunity.

What a creature really needs to fight antigens is Vitamin C; this chemical speeds up the reaction rate of the antigen-to-antibody conversion. As a disclaimer though, you want to be very careful using vitamin C to cure antigen 5 (we'll get to exactly why in a minute). Sadly, the only source of Vitamin C I am aware of is found in the vitamin potion from the potion machine on the C3 bridge, meaning DS-standalone worlds will have to find a non-native way to get this vitamin.

But not only does Vitamin C speed up the antigen conversion, it also speeds up the clock rate of the bones organ, which is responsible for the creation of Prostaglandin, the chemical used to heal the organs injured by the antigens. Vitamin C really is quite the healer! Just be sure the creature is eating enough fat and protein, as those are broken down into the chemicals necessary for Prostaglandin synthesis.

But let's step back a bit to talk a little more about antigens themselves. As mentioned earlier, the immune system breaks antigens down into antibodies and a "side effect" chemical. The side effects are as follows:

- Antigen 0 -- Histamine B
- Antigen 1 -- Histamine A
- Antigen 2 -- Coldness
- Antigen 3 -- Coldness
- Antigen 4 -- Hotness
- Antigen 5 -- Wounded
- Antigen 6 -- Hotness
- Antigen 7 -- Pain

Most of these side effects are rather harmless, and act more as symptoms of the infection than anything. But antigen 5's side effect is quite the opposite, in fact; it is deadlier than the antigen itself. Woundedness is a chemical that will instantly kill the creature if it gets too high.

As mentioned before, Vitamin C accelerates the breakdown of antigens to antibodies. This also means it accelerates the creation of the side-effect chemical. This graph shows the reaction resulting from injecting a creature with antigen 5 less than a half dose of vitamin C. The antigen breaks down faster, and both the antibody and the wounded chemical (chemical 90 in this graph) spike, creating a very dangerous situation. For antigen 5, it may be best to have the creature rest and recover naturally.

There is more to know about antigens, particularly which organs they attack. In the next installment (which I haven't actually started writing yet, and still have some research to do, so it'll likely be a while) I plan to detail the functions of each organ so you can have some context as to what exactly is at stake when dealing with antigens.

Thursday, November 3, 2011

Creatures Medicine 101: Toxins

In my spare time I have been sort of going through the entire norn genome, making notes as I go along, just to understand exactly how these little things tick a little bit better. I figure I'll write a little series of posts based on these findings in hopes that the information will help people out a little.

Today I'm going to detail toxins and general nasty things for our norns, what exactly they do, what you can do about them, and maybe a few more interesting things along the way.

Note that all this information is taken from the CFE Bruin genome, and may differ from breed to breed!

Furthermore, although the chemical reaction information is sourced from the genome, some of the game-related information, such as where the poisons/antidotes can be found in the game, is sourced from my bad memory and may be incomplete, so if you find an inaccuracy, do let me know! Keep in mind, however, that I am only aiming to list the sources of chemicals present natively in C3/DS-- not every agent out there; that would be an impossible task.

Heavy Metals
As far as I know, the only way for a creature to get heavy metal poisoning in vanilla DS is by eating a stinger (and I don't know of any natural sources in C3). Nonetheless, it is a pretty mean little toxin! Heavy Metals damage both the male and female reproductive organs, and raise the mutation rate of poisoned creatures' offspring. They can also damage the immune system. What makes Heavy Metals really scary is that the norn's body has no way of fighting it naturally; it does not decay over time. meaning the poison just sits and does its nasty work until the creature either dies or finds the cure. A creature might live its entire life with heavy metal poisoning!

The cure for heavy metals is EDTA, which can be found in small amounts in tubas. Thankfully, these are rather plentiful in the DS meso. If you are docked with C3, the potion vendor on the bridge holds Heavy Metal Cure, an EDTA drink. The General Cure it dispenses contains small amounts of EDTA as well. You have to be quick though. The immune system is responsible for EDTA's breakdown of heavy metals; that means if the toxin has already shut down the immune system, even the cure won't work. If this happens, the only way to purge the body of Heavy Metals is by resorting to CAOS or using an agent that actually removes the chemical from the body rather than just injecting a cure.

Heavy metals will not outright kill a creature, but it will be quite frail without an immune system and may have difficulty producing viable offspring.

Cyanide
This is pretty severe stuff-- a full dose of it will kill a norn pretty much instantly. Luckily, there are no known natural sources in C3 or DS, meaning it's quite unlikely a creature will just stumble into it. Its quick-killing action is twofold-- first, it slows down the reaction in the Mitochondrial organ which converts oxygen to energy. Secondly, it destroys energy outright in a simple reaction (1 energy + 1 cyanide = 1 cyanide). Both of these are terribly dangerous-- if a creature's energy gets too low, it is instantly killed. Cyanide will decay very slowly over time, but usually nowhere near quickly enough.

The most straight-forward way to fight Cyanide is is with Sodium Thiosulphate, found in tiny (and I mean tiny) amounts in the carrots in the bottom of the DS meso. The C3 potion vendor also holds a Cyanide Cure (Sodium Thiosulphate is found in the General Cure as well).

If the creature's immune system has been destroyed by heavy metals or antigens 4/5, Sodium Thiosulphate won't have any effect. However, oddly enough, the immune system is also responsible for processing cyanide's direct breakdown of energy (the 1 energy + 1 cyanide = 1 cyanide reaction mentioned earlier). If the immune system is dead, cyanide will still slow the conversion of oxygen to energy, but it will not attack energy directly; this buys you a little more time to save your creature.

If you cannot directly counteract the cyanide, you will have to keep your creature's energy levels up while you wait for it to naturally decay. You'll want to make sure your creature is well-fed-- on starch and fat particularly as these break down into pyruvate, a chemical necessary for the oxygen to energy conversion. Stuffing the creature isn't going to heal it faster, but if pyruvate levels drop below normal, your creature will be in quite a bit of trouble, so make sure it isn't starving.

Adrenaline helps in keeping up energy levels as it speeds up the very same conversion cyanide slows down. You can find adrenaline in the C3 potion vendor's General Cure, or, believe it or not, by terrifying it with piranhas. If you place the creature near the piranha pond and drop in a bug or something else for them to eat, the swarming fish will cause any nearby creature to panic, sending its adrenaline through the roof and hopefully giving it enough energy to weather the poison.
Belladonna
This is another nasty one that, similar to cyanide, has no known natural source in the C3/DS world. It also, similar to cyanide, slows down the oxygen to energy conversion. Though it takes longer to take effect than cyanide, a full dose will still kill a creature in seconds. In addition to slowing energy production, Belladonna slows the clock rate of both the Regulation organ (which maintains that hotness and coldness cancel each other our among other things) and the Constitutive Drive Maintenance organ (which ensures that backup drives return to normal after a creature has a horrifying encounter). Generally, though, this secondary effect won't do much more than confuse the creature.
There is no known direct cure for Belladonna, but it will eventually decay. As long as the creature does not receive a high enough dosage to kill it within a few seconds, it should recover if kept safe and well-fed.

Geddonase
A creature can become poisoned with geddonase if it either eats or is stung by a stinger. While not the worst of toxins, it can have some lasting damage in large amounts. Its primary vice is that it destroys adipose tissue-- a creature's storage of fat that is broken down into triglycerides and subsequently fatty acids which are used in ATP production. However, it also damages the Liver Catabolic organ which is responsible for breaking down tissues into a usable form. If a creature is exposed to a lot of this toxin regularly, it could wind up being unable to properly break down stored energy or even nutrients from food, causing it to weaken and die for lack of a useable energy source.

There is no known direct cure for geddonase, but it decays as it breaks down adipose tissue. If the creature has a lack of adipose tissue, the toxin will remain in the creature and have more time to damage the Liver Catabolic organ. Suffering creatures should thus be fed foods containing fat, which are converted into triglycerides and subsequently more adipose tissue, which serves to both break down with any remaining geddonase and replenish the creature's reserves once the toxin is gone.
Glycotoxin
Glycotoxin is one of several toxins that that a creature can pick up from the invisible bacteria that floats around the ship; it can also be found in rotting food. It is somewhat similar to Geddonase, but instead of tearing though adipose tissue, it breaks down glycogen (a creature's storage of starch that is broken into glucose which is used in ATP production), and instead of damaging the Liver Catabolic organ, it injures the Liver Anabolic organ, which is responsible for converting useable energy sources into a stored tissue form. Keep an eye out for shivering creatures-- since Glycotoxin breaks glycogen down into a small amount of glucose and coldness, shivering can be a symptom of this poisoning.

The direct cure for Glycotoxin is Arncia, found in Peaking Pie, the purple triangle food that spews forth from the DS empathic vendor. Arnica is also found in the C3 potion vendor's Elixir of Arnica and in small amounts in General Cure. Glycotoxin, similar to geddonase, will break down faster as it goes to work on glycogen, so be sure the creature is well-fed with starchy foods (such as seeds) both to help finish off the toxin so it doesn't do lasting damage to the Liver Anabolic organ and to replenish the creature's store of glycogen when the toxin has passed.

If there is severe damage to the Liver Anabolic organ, don't despair too much! A creature can live a mostly normal life without it-- it just needs to eat much more often since it is unable to store food energy for later.
Sleep Toxin
As far as toxins go, this one is pretty benign on its own. A creature can pick it up from invisible bacteria, which usually carry antigens and other nasties, so be on the lookout for other infections as well. Sleep toxin, as one might expect, makes a creature sleepy-- it will likely be fine after a long nap; just be sure it doesn't sleep so much that it doesn't eat. Again, be sure to check it for other diseases it might have picked up from the bacteria.

Fever toxin
Fever toxin is similar to sleep toxin in that it is  picked up from bacteria and is generally thought to be little more than an annoyance-- however, unlike sleep toxin, in large amounts it can actually be quite deadly. Fever toxin makes a creature hot, meaning it sweats a lot and is at risk for dehydration. If a creature's water levels are too low, it can't convert air into oxygen, can't convert oxygen into energy, and will quickly die.
In small amounts, a creature can usually get through the fever without any lasting effects, however, if the toxin is high, you might consider feeding the creature detritus, such as the apple cores in the C3 norn meso. Risky, yes, but the glycotoxin in the detritus has the side effect of making a creature cold, which may be able to bring down the fever if the creature is well-fed and has enough glycogen for the glycotoxin to feed off. Unfortunately this is only so effective, and if the fever is too high, no amount of glycotoxin can save it.

Histamine A and B
Really, these aren't toxins at all; in fact, by themselves they are practically good things as they trigger a creature to cough and sneeze, involuntary actions that can shake off bacteria that have attached to them. Histamines are usually a clue that another illness is affecting the creature, as they pick them up both from invisible bacteria or as a side-effect from antigens 0 or 1. Check the creature over carefully!

When you are sure no other illnesses are bothering the creature, you may give it antihistamine to stop the sneezing/coughing. Antihistamine is found in DS lemons and in C3 potion vendor's Cough Syrup as well as its general cure.

Alcohol
Alcohol doesn't seem to be an actual toxin. Found as a side-effect of bacteria as well as in the Shee Wine and Albian Ale in the C3 potion vendor, this stuff makes creatures walk funny, and not much else! The "cure" is Dehydrogenase, which has no known natural sources, and while it removes alcohol from the system, it also causes pain. Since alcohol doesn't seem to do any damage to start with, there seems to be little reason for a cure that causes pain. Further research may be in order, but until some negative effect is found, norns are free to party all they like!
ATP Decoupler
Sadly, this is very much an instant-death toxin. The toxin turns ATP into ADP without using itself up, meaning even a tiny bit of the stuff can eat through a creature's entire ATP supply in seconds, killing it instantly. It is silent, quick, and has no side effects or symptoms, and is thus practically impossible to detect. Creatures become poisoned by the toxin via bacteria.
If you somehow manage to notice the poison in time, the cure, Medicine One, is found in the Yarn fruit (the green and yellow fruit from the DS empathic vendor) as well as in an C3 ATP Decoupler Cure potion and of course, in General Cure.

Carbon Monoxide
Yet another bacteria-borne toxin, this one deprives your creature of oxygen by canceling it out. It can be very deadly in large amounts, but most of the time a creature, with bit of panting and wheezing, can survive until the gas decays.

Usually, if the toxin is in high enough levels to kill a creature, it will do so before you have time to get the creature to eat the cure, but Antioxidant will degrade the toxin quickly. It is found in the star seeds from the DS empathic vendor, in a C3 vendor potion of the same name, and in General Cure.

Fear Toxin
Bacteria sure are scary things, with all they can transmit to our creatures. However, this toxin actually does almost nothing-- it converts into fear at a strangely low rate: 14 Fear toxin to 1 fear, in the genome I'm browsing. You can practically ignore it.
Muscle Toxin
Not surprisingly, another bacteria transmitted toxin. This one, however, requires more research. What is does is pretty straight-forward; it attacks the muscles while slowly breaking down into lactate. The thing is, lactate also attacks the muscles, does seemingly nothing else, and doesn't seem to decay or break down at all. I'm still trying to comb through the genome for more information on this, but right now it looks like muscle toxin results in continuous muscle damage with no cure in sight. Scary stuff.

That's all for this part; next I'll tackle antigens and antibodies. If you have any further information or corrections, do mention it; I'm not by any means an authority on nornish biology!


When Lab Rats get loose

I was doing a few experiments on my instinctless norns the other day, just a few things to test their learning patterns here and there, when I suddenly felt the urge to go read a book.

Usually I will pause or close DS when I leave the computer, but apparently my need was so great that I completely forgot about it, and I ended up not returning back to the computer that night.

When I woke up the next morning, I found when might be considered normal in most creatures worlds-- a complete population explosion. But the fact that it happened in a world that housed no more than one female and one male instinctless norn, I have to say I was surprised that the population was not only maxed out, but had gone ten generations without my interference.

When I first dabbled with instinctless norns, I noted how completely helpless they were, how they needed the hand to show them the way in the world or they would most certainly starve, or at the very least, never breed. Once educated, they generally can fend for themselves, but even if they do manage to discover the joys of pushing each other and producing offspring, their children would have to fend for themselves too and learn it all over again. Initially I ran a script for a while that generated instinctless norns by the dozen, figuring generating large amounts would increase the chances of a pair stumbling through the motions of breeding. In the eight hours or so I ran the script (in fast ticks, no less) there was still only one successful breeding.

So if dozens of creatures couldn't survive before, why the sudden population explosion from just two norns this time?

First off, the pair I started with was, to some extent, pre-trained. That certainly gave them an advantage-- they knew how to eat, at least. They seem to have gathered near the food-spitter-outer-- which caters quite well to instinctless norns since they don't know how to work normal vendors. Since they don't know how to work call buttons either, they tended to stay on that platform. Those that wandered off probably couldn't find their way back and died out quickly.

But I guess that the key to their excess proliferation was two things: one, I had modified their stimulus genes so that they got nearly as much boredom reduction pushing other norns (and critters, and machines, and most things in general in some attempt to give creatures a chance to develop their own sort of hobbies) as they did playing with toys. Secondly, there were no toys or really many interesting things at all on that platform. Only other norns.

I suspect these norns learned very quickly that playing with each other was the best way to amuse themselves, and when they were old enough to breed, found that this "playtime" had a side effect of reducing sex drive and producing lots of offspring as well. I'm really rather surprised-- I have seen a lot of "superbreeder" norns that push each other constantly because they have been engineered to have constantly high sex drive or strong breeding instincts or have had a brain-edit to force them to obsess over pushing norns, but it's kind of neat to see superbreeding as a learned behavior rather than a strictly genetic one.

Also kind of interesting to see how different circumstances that one might normally consider difficult can greatly assist a population's survival. If the world had been littered with toys or other stimuli, the norns may not have learned to push each other

I exported one of these creatures at random for your breeding pleasure-- download Extra-small Crime from the TCR if you so wish, and let me know what he gets up to in your world!

Wednesday, November 2, 2011

Why are catalogue files so awesome?

So remember all that babbling I did about catalogue files and stuff the other day? I hope your DS-install is catalogue-friendly, because today you'll need it!


Protective Tub is a strange and amusing autonamer that you've certainly seen in action if you watch LNA. It works by picking a random adjective and a random noun from-- you guessed it, a catalogue file, and stringing them together to create strange names such as "Lame Flower," "Observant Cattle," "Deafening Magic," and of course, "Protective Tub."

This agent, when injected, will also slightly modify your UI so the longer names will show up properly in the profile window. The upper-left display will still display shortened versions of the name. If you remove the agent, the autonamer will stop naming creatures but you should still be able to view and edit the longer names.

As a fair warning, you will notice a few kinks in dealing with the longer names-- the text at the top of the creature profile may run into itself, names will show up cut off in the creature menu and containment chamber, and if a particularly long-named creature expresses a hunger for protein or addresses another long-named creature, the speech bubble will eventually reach a max length and cut off the rest of the sentence. So far I have yet to see it horribly crash anything, but if you run into any severe problems, do get in touch with me.

But back to the topic at hand. One of the great things about catalogue files is that you can easily edit them without having to recode anything! After injecting the agent once, look for a catalogue file in your Docking Station\Catalogue folder called "random_name_bits.catalogue". Open this in notepad or similar plain text editor, and you will notice it contains two lists under the headers: TAG "name_noun" and TAG "name_adj". Here you can add your own nouns and adjectives to the lists, delete ones you don't like, and so on. Just be sure to keep them in quotes and don't change the tag headers.

Download Protective Tub. Have fun, and if your creatures end up with any completely hilarious names, feel free to share them in the comments!

Tuesday, November 1, 2011

Is your version of DS installed properly?

So.... here's the deal.
Whatever I end up releasing during CCSF isn't going to be released on the official CCSF site; it will only be here (Unless Laura feels like linking to everything on a whim as it's released). The main reason for this is that I am a lazy bum that can't make deadlines (or maybe have way more of a life than I realize), and instead of doing a bunch of stuff ahead of time, I am trying to use these weeks to sort of clean out my project closet and finish up the stuff that's been unfinished for years, or at least package up the stuff that I know I'll never work on again, and get it out there in one form or another.

So you may want to watch this space in case anything neat appears. I have actually pre-written several "release" blog posts for things I'm not even done with yet in some hopes that it will motivate me, so we'll see what happens. Between this, trying to fulfill my own blogathon challenge (it would be quite silly if I didn't, now wouldn't it?) and taking part in NaNoWriMo... well, let's say this will be an interesting few weeks.

Oddly, I have a "release" for you today. It is possibly the most boring release ever. Nonetheless, I believe it is at least somewhat important.

Many of you already understand the woes of trying to get Creatures games to work on newer versions of Windows. Getting DS or Exodus to install, luckily, is generally much less of a pain, but it still has its problems. Certain combinations of Exodus and newer versions of Windows produce a problem when unpacking agents; instead of unpacking certain files, most notably Catalogue files, into their proper places, the game sees these files as some sort of threat and instead sticks them somewhere in your documents folder. Then when you go to use the agent, it autokills or throws an error because it can't find the file.

This produces nightmares, both for the people trying to use the agent and the developers getting bombarded with emails about their agents being "broken". But it can quite easily be fixed by installing DS or Exodus to your My Documents folder instead of the default location in Program Files.

Is your installation of DS able to properly unpack files? Download this agent and give it a test. It will bring up a window that will tell you if it extracts catalogue files properly. If it doesn't, take measures to fix it by reinstalling. Some have even had success by just moving the DS folder from Program Files to My Documents or the root directory, though I can't vouch for this personally.

Your game will need to be able to properly unpack catalogue files in order to work with several (supposedly, hopefully) upcoming releases, so make sure you're ready!

On a final note, I'm going to try to keep LNA up and running throughout the CCSF, and will be populating the world with various CCSF releases, so keep an eye on it if you're into that sort of thing.

Saturday, October 8, 2011

CCSF Blogathon

Guys. We need more active Creatures blogs.

Every time I open my RSS reader, I hope anxiously that someone has posted in my Creatures category. And all too often I find my art/design category full of eye candy, my food category is full of delicious things I will try to cook later that day, my tea category has a handful of reviews of wonderful stuff I can’t afford, and my creatures category has nothing.

I realize I am as much to blame as anyone for this, as I’m not exactly the most prolific writer. So I have a proposal. The CCSF is coming, and there is no better time to up the activity of our little blogging community.

The concept is quite simple. To participate, simply commit to publishing one post a day during the fourteen days of CCSF. If you don’t already have a blog, there’s no better time to start!

Now, before you get scared, let me remind you that publishing one post a day does not necessarily mean you need to write one post every day! Most blogging platforms allow you to write posts in advance and schedule them to be automatically published on a certain day. If you wanted, you could write fourteen posts in advance, schedule one to be published each day, and be done with it. Meanwhile, the community will be getting a steady stream of posts to read throughout the festival!

Not sure what to blog about? If you are a developer of any sort, your blog is obviously a great place to post your releases, but usually not even the most prolific contributors have something for every day of the CCSF. If any contributors out there want to take that as a challenge, go for it, but for the rest of you, here are some suggestions:

Many creatures blogs serve as a sort of open diary detailing the events of what is going on in their creatures’ worlds. Tell us of the births, deaths, and other drama that raising creatures entails!

If you like to play creatures a bit more scientifically, blogs are a great way to document your experiments and the results that come of them. Similarly, if you are working on a selective breeding project or wolfling run with a specific goal in mind, it’s nice to be able to share your progress.

Perhaps you are a dreamer and prefer thinking of ways you might play creatures, or thinking of things you would like to develop or see developed. By publishing your ideas on your blog, you can explain them in all the detail you like, and possibly gather suggestions and general interest from readers.

You could get creative and take a fictionalized viewpoint. I think it would be neat to see a blog written from the perspective of a norn or other creature, detailing his or her daily life, like a sort of ongoing story.

Speaking of stories, if you’re a creatures fiction writer, publishing a small part or chapter of a story every day is a great way to keep readers interested. Sitting down and reading a long story can be quite daunting sometimes, but releasing small bits at a time makes it easier for casual readers to digest.

You may choose to, instead of focusing on Creatures itself, focus on the community and its creations. Reviews of agents, metarooms, breeds, and even stories, are few and far between, and are a good way to spread the word about some of the hidden gems in the community.

If you are a developer, artistically, genetically, or otherwise, other aspiring developers can get a lot of information out of “the making of”-style posts. Sharing of tips and techniques inspires more creation, and more content for the community!

If you’re really stumped, look to other blogs for ideas. Perhaps a blog you follow has written a post about why C2 is better than C1. Have a different opinion? Feel the same way but for different reasons? Write a post on your own blog in response, linking back to the post that inspired you. Multiple bloggers discussing the same ideas helps to pull the community together, and inspires quite a bit of discussion!

Honestly, you can write just about anything. During the CCSF, there will will certainly be a lot going on and a lot to to think about-- I think you’ll find that it isn’t as difficult as you think!

To kick off this blogging initiative, there is a new tab at the top linking to a list of Creatures blogs. I will attempt to keep this list as complete as possible, so if you start a new blog or know of one that isn’t listed, let me know so I can add it!

(As a sidenote, I've been fiddling with the layout of this blog, so excuse any mess in the meantime!)

Sunday, October 2, 2011

Stop sleeping!

Is it just me, or does anyone else find it frustrating when norns sleep a lot?

Especially when you're trying to train them to do something very specific, and they just decide to just plop down and take a nap, right there. Argh.

Well, even though I haven't bothered documenting the updates to my dabbles with my instinctless creatures, I have still learned much from that experience and have been slowly working to improve the genome as a whole.

While investigating the aformentioned lonely grendel problem, I discovered that grendels lacked the "found company" gene that reduces loneliness when approaching a member of the same species. Adding  the gene in fixed the problem quite simply.

Another problem I manged to fix was one with the sleep cycle. If you don't know, the creature sleep cycle works as such: A creature rests; as it rests it becomes less tired, but gets sleepy, and when it gets sleepy enough, it falls asleep. While sleeping, the creature's tiredness and sleepiness both decrease until it is well-rested and wakes up.

As most of you are aware, there is no "sleep" verb. A creature can decide to rest until it falls asleep, but it cannot just decide to sleep. (Nor can we!) The problem with this is that while creatures with instincts are pre-programmed to rest when sleepy, creatures without instincts cannot make the connection between resting and sleepiness reduction, because it isn't resting that directly reduces sleepiness, it's the sleeping that eventually results from the resting.

So to remedy this, I simply made resting appear to reduce sleepiness by tweaking the stimulus gene to first reduce sleepiness and then silently increase it, enough to both compensate for the reduction and bring it to a normal increase. And it worked! I was so proud to see my instinctless creatures suggesting that other sleepy creatures rest. I just love seeing evidence of creatures learning!

But, I still feel like the creatures sleep too much as a whole. Don't get me wrong, I don't want to do away with sleeping entirely, but it just feels like the frequency is a little high. So I've been tweaking the genetics a little here and there, too.

Meanwhile, I am really enjoying raising these little creatures and discovering how much impact a creature's upbringing can have on its behavior when it isn't being controlled by pre-programmed instincts. For example, I brought up a pair of norns together in an area with nearly no toys around. The norns took to pushing each other instead of toys to reduce boredom, and not only grew up to be great breeders, but very social. It was quite cute when a grendel wandered along complaining of boredom and one of them suggested he push norn!

I plan on tweaking the stimulus genes further to make traveling, pushing lifts, etc to have more of a boredom-reducing effect and see if creatures can be taught to wander around when bored.

Really, the more I play with these altered genomes, the more I wonder what the developers were thinking, putting in these instincts! Some of them I can understand being necessary, half-strength instinct trick for elevators and vendors and all, but as a whole it seems to strip the creatures of so much personality. I can't imagine going back to normal creatures now.

On a side note, I have been testing the elevines (improved "lift ring things" with beautiful sprites many thanks to mea!) in this world, I am finding them so wonderfully handy! Not only do they work great as lift-replacements, but they can also work as replacements for the boats/submarines as well. I'm still tweaking them here and there but hopefully they'll be ready for release soon.

Meanwhile, the DS server has been toying with my emotions, going up and getting my hopes up and then going down again. Oh well. I certainly have enough projects to keep me busy in the meantime.

Saturday, August 20, 2011

Updates, call for testers, C4, etc.

These posts are getting rather unexciting, hah.

I sort of dropped off the face of the earth for a while, random upsets that real-life throws at you can do that. Some of you may have noticed that LNA is down-- most likely it's going to stay that way until the DS server goes back up. I can't really do a whole lot of development for it until that happens anyway.

If you've been keeping an eye on my projects page though, you've probably noticed that I have been finishing up a lot of my smaller projects and they mostly just need to be tested and compiled. So if you are a bored DS player interested in helping that process along by bugtesting and giving feedback, send a PM to Amaikokonut on Creaturetopia. You can technically send me a PM on CreaturesCaves too, but I'll get them faster on Ctopia.

I also feel the need to briefly throw my two cents out there about C4, since news about it is making its way around, sparking mixed opinions from everyone, some a bit disturbingly hostile. Let me just drop in a sixteen-second reminder on how to handle other people's opinions before going on:





Anyway, my view on things may be a bit different than some-- for one, when I first heard the news about C4, I didn't leap for joy or anything of that sort. I didn't have high expectations. Heck, I stated years ago that I wouldn't have high expectations for any future creatures game because the things I personally love creatures for (science, genetics, brain-simulation, etc) are just not marketable traits of a game in this era. No one is going to put tons of time and money into advancing artificial-life science unless they are passionate about it and not looking to turn a profit. That's a project for people like Steve Grand, not a team of game developers. It's just not financially reasonable to expect otherwise, in my view.

So I'm really not expecting C4 to be anything but superficial. In my mind, Creatures has split off into two paths: Grandroids, which takes all the science and realism and improves them without any of the actual surface elements, and Creatures 4, which takes the surface/game elements (norns themselves, graphics, etc) and improves them without the science/realism.

That said, I think C4 looks cute. I will probably buy the boxed version, if nothing else but for the little figurine (I'm just a sucker for stuff like that). I will play it, and possibly find some inspiration with it. Then, in all likeliness, I will go back to playing/developing for DS.

In my mind I'm seeing C4 as almost more like a spin-off or a side-game than an actual successor. And from that standpoint it really doesn't look that bad.

Honestly, I don't think this community needs a C4. It needs lifeblood, it needs more people, development, art, stories, and other interactions-- that is what has kept it alive thus far. But C4 is likely to bring us that in the form of publicity, if nothing else. In that sense, it is most certainly a good thing, no matter how the game turns out. That is, providing the CC doesn't get so up in arms fighting over it that it drives old and potential new players away.

And who knows? Maybe C4 will surprise us a little, too.

Tuesday, August 2, 2011

Magic Words Demo

Wow, sorry for the lack of updates. There simply just hasn’t been a lot to write about-- I’ve mostly been spending a lot of time revamping the framework for LNA. There’s not a whole lot of visible changes, but things overall should be running a bit more fluidly and I’ve made it a lot easier on my end to make updates and changes, tailor scripts to certain worlds, and so on.

A lot of this is in preparation after Don’s announcement that hopefully the DS server’s registrations will go back up this month. In anticipation that this will result in a bit more traffic for LNA as well, I certainly want to be prepared.

Oh, and just a little preview of something else that’s been occupying my time:



Just a quick demo of the "magic words" core module I'm working on, as well as the auras module.
The core module basically allows the use of speech-bubble activated scripts while additional modules define what words/phrases to react to and how to react to them. It's basically a foundation for writing interesting agents without having to deal with spriting/coding a GUI. There's a dynamic in-game help menu (not shown) that lists all the commands and what they do, (provided the authors of the modules were not too lazy to define descriptions for their scripts) so you don't need to memorize all the commands.

Anyway, the auras module is just a means of attaching a certain "aura" to a creature. Here I have large stars, small stars, butterflies, and bones (which needs work, it's a little hard to see right now). Useful if you just want to mark a favorite creature or separate creatures into various groups and be able to tell at a glace which group a certain creature belongs to. Still has a bit of work to go, but I figured I'd demonstrate the concept.


I really, really should probably avoid starting new projects when I have so much else to do, but I can't help myself sometimes!

Thursday, July 7, 2011

Narrowing Focus

First of all, I want to thank all of you that gave feedback on my last entry. I have taken everything you guys have said into consideration and used it to formulate this tentative plan for future creature creations. That said, I am still open to feedback, and this not by any means set in stone, but more an update on where my line of thinking is.

The first thing I want to address and get out of the way is Project Underground. After going through my notes on it and giving it a lot of though, I have regretfully come to the decision to put it, for the most part, on the very back burner. It really is just too big. My ultimate goal with that project was essentially to make creatures as attachable as the engine might allow. Throw them into conflict, a dangerous world where they need your help and eachother's help to survive. Add as many random elements as possible to make each play session a different experience. But the more I thought about it, interacted with my Mixed Berries creatures, and leafed through pages and pages of notes and plans, the more I realized that getting attached to creatures just isn't something you can formulate, no matter how many dangers you have to save creatures from or how much the world may change, suspending your disbelief enough to get attached to your creatures is something you have to choose to do-- it's not something a bunch of mods can do for you. Yeah, they can help, and I don't doubt finishing the project would help, but there's a lot of other things I can do to help without rewriting the entire game. In the end, I just don't feel it's worth it. I have more faith that when Grandroids gets into a playable state, it will blow anything I could do within the limits of the DS engine out of the water, as far as realistic and emotionally attachable A-life is concerned.

Now that said, this doesn't mean I'm scratching every idea related to the project. Some of the ideas I had for the project are still viable under the regular DS world-- namely the notion of a randomized metaroom system. That still sounds like quite a bit of fun, and I'm fairly certain I'd like to try and implement some version of that if I can amass a large enough collection of plants, critters, background imagery, etc to make it viable. Ideally, I'll be able to code it in such a way (probably relying a lot on catalogue files) that it will be possible to construct a very basic version with just a few options that will be easily expanded with new possibilities over time. But I'll find time to ramble on that more in later posts.

As far as LNA goes, I'm leaning towards fixing up the status window and coding very basic client/server agents (the things that let you adopt/retrieve norns) somewhere in the near future and see if it sparks any more interest. If so, I'll look into developing it further, but if not, I'll probably have to retire the project as just another one of those ideas that was way better in theory than practice rather than putting more energy into it (that's not to mean I'll take down the stream by any means, just that I probably won't develop a lot more for it)

I probably will make an effort to use the LNA computer for development too, though. A few people seem interested in watching the game crash and bug out, haha.

As far as my old agents, Mind arrows, SERU, Population Control Options-- I think it's best to just leave those as they are for now (though I probably should at least update SERU's readme since a lot of people running Exodus still aren't aware of its issue handling catalogue files). In the future I may develop better agents that serve similar purposes, but for now I think they stand quite well on their own for what they are.

My unfinished agents... I think I'm going to try to finish them. The critical hit script isn't that far from completion and the crossbreeding script probably only needs an hour or so of work to at least get into a testable state. The lift-ring things will take a little more, as I'm hoping to get them better sprites (from Caos of the Creatures Realm, a rather promising blog for us not-so-artistically-inclined coders) and idiot-proof them a little more as right now they throw errors if say, you stick one in outer-space and then try to port a creature to it. And as much as I dread it, I will prod selective muco a bit more and see if I can make anything of it. I've learned quite a lot since I last touched it-- maybe this time around it'll be a bit less daunting.

I was a bit surprised to hear how many of you were interested in seeing Project BattleStance finished (considering the grand total of zero comments achieved by previous posts about it, hah!). Personally, it's a project that's always been a little dear to me and if people are interested in it, I would be more than happy to oblige-- plus, this could be quite a fun thing to develop live on LNA.

Meanwhile, stuff like revamping the blog, caos tutorials, and documenting nurturing worlds will probably just be done on an "as I feel like it" basis. Though I have a new method I'm trying out for nurturing-world documentation that hopefully I'll get around to finishing/posting in the next few days.

The fanfiction podcast, sorry to say, probably just isn't going to happen, both due to lack of interest and the fact that it's been a really, really long time since a creatures story has really caught my attention. However, if anyone else wants to pick up the idea and run with it, you are more than welcome!

With all this in mind,  I have been working on a project/progress page that I will try to post in the near future, so keep an eye out for that, and if you have any comments, questions, complaints, or concerns, as always, do feel free to leave a note!