Monday, July 27, 2009

The Future of DS

Let's face it guys, we're all but abandoned by Gameware. It really is time we start taking our beloved game into our own hands, and this thread is an awesome place to start. Even if the DS engine doesn't support creature "memory", migratory instincts, or personality traits, with enough CAOS workarounds we can simulate this stuff and make the life sim we've always loved into the game we've always dreamed of.

Wow, did that sound corny or what. Seriously though, check it out and make your suggestions-- you never know, there may be a way to make it happen.

I actually did a lot of work on project BattleStance today-- I finally fixed the lifts to slow them down so creatures wouldn't obsess over them so much, and created the seasonal fertility fruit tree that only bears its fruit in the fall during the time of peace. I also created the tasteless and only barely nourishing rockgrass, which is the only relatively constant food supply in the room. The sprites are really ugly though-- I'll have to work on that. But on the upside, the room is now fully capable of sustaining a small population, so I've been running small wolfling runs in it, just for fun. Maybe I'll put it on LNA one of these days, just to show off the progress.

Unfortunately, I got none of my non-creatures related stuff done today, so I'm going to be pretty busy this week. I'm pretty inspired though. Great things are coming, I think.

Saturday, July 25, 2009

A COS for every occasion

I have to say I'm very satisfied where my desire to learn CAOS has gotten me. It's now pretty easy for me to write simple scripts from scratch to suit whatever purposes I have. But I don't ever really make these scripts public, mostly because I'd rather release them as agents than scripts. But I know some people will find them useful even in .cos form, so I might as well make them available.

I would like to eventually devise an elaborate, expandable options panel that contains on/off switches for all these little tweaks since manual injection is generally a pain. But until then-- here, have some cos files!

Use these at your own risk! Some may be buggier than others.

AutoAge: Check your world every few minutes for creatures that are not adults, and make them adults. Probably the first script I ever wrote for DS, with the help of Fuzzie

AutoEgg: Monitors your creature population and automatically creates a random norn egg if the population drops below four.

AutoTab: Made especially for Live Nornish Action. Automatically cycles through norns so you're not stuck watching the same one (really, really annoying if you're trying to play normally though.

EggLimit: Checks for females that have laid more than four eggs and keeps them infertile. This has only barely been tested-- you have been warned.

Generation Check: Checks for the lowest generation in the world and exports all creatures of that generation-- but only if it will be leaving behind at least 3 creatures of each gender.

Infertility: Attempts to keep all youth, old, and senile creatures infertile, making adulthood the only possible breeding time.

Enjoy :)

Wednesday, July 22, 2009

Targeting certain norn breeds

Figured I'd write this down before I forgot it, and in case it helps anyone out.

It appears to be quite possible (and strangely simple) to create agents that will only affect certain norn breeds-- or at least the breed according to the head sprite.

The key string is FACE, and can be used something like this:

enum 4 0 0
sets va00 face
doif va00 = "a00d" or va00 = "a40d"
sezz "I have a chichi face!"
endi
next

Such a command will cause all the chichi-headed norns in the world to proudly declare their heritage.

FACE returns the file name of the baby head sprite of the target creature. In this command, if the head sprite matches a00d (the baby male chichi) or a40d (the baby female chichi), the norn must have a chichi head. It doesn't matter what life stage the creature is actually at-- FACE will always return the name of the baby sprite.

You can also easily find out the head sprite name of a creature by targeting it and caosing, "targ norn sezz face". The creature will tell you his/her face sprite so you don't have to go digging through your image folders to find out what matches. Just make sure you get both male and female sprite names.

Now whatever havoc you decide to wreak on specific creature breeds is up to you. You might make a toy that comforts treehuggers, calms down hardmans (hardmen?), poisons toxics, and so on.

I'm still trying to see if there's a way to retrieve the names of sprite files of other body parts. It would be neat to have a script that allows norns with butterfly bodies to fly, or to allow creatures with magma tails to emit heat. No luck so far though.

Monday, July 20, 2009

Live Nornish Action Test Stream

Ustream has been giving me grief for quite some time now-- mostly because its broadcaster client likes to randomly freeze up and cut out the sound, and I have to reload it to get it to work. So I'm going to test running it on Justin.tv for now, to see how it works and how people like it. You can check it out here, and feel free to give feedback! Depending on how it runs, and if people like the newer stream, I may switch over permanently. I'll have to see how it goes though.

Meanwhile, the Splice DS agent is currently undergoing some heavy testing much thanks to the nice folks at Creaturetopia, and should be ready for release soon :)

Sorry for the lack of updates-- I've been extremely busy with some career-related things and it will probably actually get busier as the weeks go by, but don't worry, I'll come around eventually.

Friday, July 3, 2009

Omnomnom Norns

It's getting hard to tag these posts when I'm covering like three different topics in a single post, haha.

I found a few people willing to test my DS splicer, so we'll see how buggy it is on other people's computers. I managed to work out the bugs I mentioned before. Here's a tip if you're ever going to make agents that move creatures using the mvsf command; it's helpful to preface the command with a "doif movs = 0". If a creature is currently in a vehicle (like say, a splice pod) and you try to move it using mvsf, you'll get an error saying mvsf only works on autonomous agents. If a creatures movs value equals 0, that confirms it is autonomous and it won't try moving it if it's not.

LNA is down, sadly, mostly due to the computer it was running on completely blowing up. I'm currently fixing up one of my older computers to try running it on. It might be a while, but I'll get it back up eventually.

In the meantime, when I'm not splicing creature in mass quantities, I've been working on other horrible things like a script that allows creatures to eat each other. It's easy enough to script something that simply allows creatures to be edible, but I've been trying to script something a little more realistic... so far, the script in its current state allows one creature to eat another, but "eating" won't instantly kill a creature, just wound it a lot and make it very prone to infection (it's more like biting than eating, really, but the creature will still die if bitten several times in succession). Though the biting creature receives nourishment, it still gets stim'd for disappointment-- sort of like a guilt trip for eating one of your own kind. However, the hungrier a creature is, the less disappointed they will feel, so hopefully creatures just won't eat each other unless they're really desperate.

I suppose I'll tweak it a little so say, grendels won't feel any guilt for eating norns, norns will only be able to eat a grendel if it's dead, among other things. Just to add some realism to the game, however gruesome it may be.

I still feel that C3/DS is far too easy if your goal is to raise a family of norns, and while it's not difficult to pick some more frail genomes to raise, that still really limits your variety. So I'm trying to come up with some ways to make the game as a whole a bit more difficult. Ideally these would be changes they would take effect regardless of the breeds of norns or metarooms that were used.

Perhaps a scripted "mating season," a script that essentially only allows creatures to become fertile during the in-game summer season, to make it a little more difficult to keep the population high. I wonder what other sorts of changes could be made to up the difficulty of raising creatures...