Wednesday, December 5, 2012

A 16-bit Color Switch

Just thought I would share this really quick in case it helps anyone.

In most cases, when you go to run DS under windows, your computer will tell you to switch to 16-bit color if you haven't. This can be pretty frustrating, especially if you prefer to stay in 32-bit color. I recently went searching for a way to fix this, and this is what I came across. Of course, try this at your own risk; everyone's computer setup is different and I only know what works for me, so don't hold me responsible if you screw up your computer.

There's a little command-line application called QRes that makes switching color-depth from the command line possible. Download it, put the exe somewhere (I just put it under C:\ for sake of ease), and create a batch file (that is, a plain text file with the extension changed to .bat, see this guide for more info if you've never created batch files before) with the following simple text:

C:\qres.exe /C:16
C:\qres.exe /C:32

Obviously, if you don't put qres.exe in C:\, you'll have to change those paths to match. Save the batch file in your DS folder, and create a shortcut to that batch file on your desktop, start menu, wherever you want it, and run DS from that shortcut whenever you want to play.

If all goes well, your screen will flicker a bit as it changes to 16bit color, and then DS will start. After you exit DS, you'll get more lovely screen flickers as your screen changes back to 32bit. Then you can carry on as normal.

This works great for me under Windows 7, and I imagine it would work fine for older versions too, but I haven't tested it outside of my specific situation.

If you have any problems feel free to mention them here-- I might not be able to answer them but I'm sure there are people in the CC that know more about this stuff than me. Maybe this will spark people to come up with an even nicer solution.

Thursday, November 8, 2012

Quick note regarding the GB forums.

So um. I guess at you guys have probably noticed by now, I uh, didn't really have the motivation to get anything CCSF-related done. Sorry ._.

But it's been brought to my attention that the Garden Box forums have been broken, for... months. You guys need to tell me these things, or I will never know to fix them ._.

Anyway, until I can figure out how to get the activation emails to send again, I've disabled the activation requirement and am instead keeping out spambots with a question-answer captcha detailed in this post.

I've also wiped all inactive accounts so if you created an account during the "broken" period and never got an activation email, you'll have to re-register.

If you guys have any problems, leave me a comment here and I'll get back to you.

Friday, August 10, 2012

Of Anticlimaticity

Well. This is not as explosively awesome as I originally imagined it, but hey, looking back on it, it's come pretty far.

Garden Box Central is now open to the public. Despite there not being a lot of agents, there are plenty of development resources to (hopefully) stop that from being the case for too long. It is what you guys make it. Have fun!

Note: If you're getting an SQL error, just wait a bit-- it usually resolves itself. If it continues to be a problem, I'll figure something else out. The world will not end.

Tuesday, August 7, 2012

Here is another post with just a video.

Alright, progress is being made. They're awfully cute, aren't they? Even when they're all killing each other, they're cute.

Would you guys mind a Garden Box release with like... just a few patch plants and decorations and these guys? I know the polls said otherwise but I'm not sure I trust my tendency to burn out enough to carry through with my original plan of having like, the entirety of C3 life included >:

Seriously, what was I thinking. "Oh sure, I can totally do amazing conversions of every single plant and animal by myself in a reasonable amount of time; I can also eat four-million sandwiches, and conquer China." Something like that.

I guess I tend to bite off more than I can chew sometimes. Maybe.

Well... um...

I'm pretty sure this isn't supposed to happen.

Hi guys. I'm not dead, just been struggling with uh... severe CAOS burnout. I thought maybe if I did something really cute and silly like play with gnarler-scripts, I could ease myself back into it. We will see where this goes.

I kind of miss Hera too, so maybe something about that will be forthcoming.

Friday, May 18, 2012

Magic Words Room Edits

Alright, apologize for the rushed and sub-par quality of the video, but it should show you the basics of how to use this thing:

Commands are as follows:

DMap - Toggles the debug map on and off, allowing you to see room boundaries and know exactly what you're doing.

RType - Toggles the bit of text next to the hand that tells you the type of the room you're touching.

DoorR [boundary] - Sets the boundary of the room "door" to the right of the hand, between 0 (nothing passes through) and 100 (Everything passes through)

DoorD [boundary] - Sets the boundary of the room "door" underneath the hand, between 0 (nothing passes through) and 100 (Everything passes through)

Room Type [type] - Changes the type of the room the hand is in. You can either type the Room Type number from 0 to 10, or the name of the room type itself. Entering "Room Type Help" will bring up a list of room type numbers and names.

Find CA Links - Creates symbolic colored dots in rooms that have a CA link in them. These dots can be clicked to move to the room they are linked with. Creatures cannot see or use these dots-- they are purely for user information. Note that this command can take several seconds to several minutes to finish, depending on the size of the world.

Hide CA Links
- Hides the CA Link dots (does not affect the links themselves)

Make CA Link -  Use this command twice-- once in the first room you wish to CA link, and again in the second room to complete the link. If you start a link but do not complete it, the linking process will be canceled after several seconds. All links are created with a strength of 1 (max)

Break CA Link -  Use while the hand is hovering over a CA link dot. Destroys the CA link between the rooms corresponding to the dot. It is important to use this command to break links as other methods such as kill hots will remove the dot, but not actually break the link.

After my huge writeup on the importance of CAs, I couldn't not come up with a tool to make that whole process easier, and it follows in the spirit of the Garden Box and other such efforts I've been making to make the world as customizable as possible

Download the Magic Words: Room Edits. As always, requires the Magic Words Core to work. This hasn't had more than a few hours of bugtesting, so please let me know if you run into any problems. 

Thursday, May 17, 2012

CAs and You!

So what is CA?

CA stands for Cellular Automata. More often, they are called “smells”, although this is somewhat of a misnomer, since light, nutrients, and water are not exactly smells, but since the majority of CAs are smells, the name sticks anyway.

CAs, sadly, are not easily perceived by the player, and as a result, we often forget completely about them while developing or even just setting up a creature habitat. I’m writing this stuff up to help bring awareness to how CAs are used in the game, how creatures perceive them, and how important it is that we design our agents and metarooms with the proper flow of CAs in mind.

CAs are Room Values!

Look at the map of the room below:

Each of those little sections, those little boxes, is called a room. The lines that divide them are known as doors. Even though they don’t really look like rooms or doors as we know them, that is how they are referred to, so just keep that in mind as you read the rest of this article.

CAs are not little invisible agents that waft around the ship like bacteria. They are actually numerical values calculated and stored in each room. One room might have a CA 8 (fat) smell value of 0.65, and the room next to it might have a CA 8 value of 0.55. CA values range from 0 to 1.

If you want to know the value of a certain CA in a certain room, first make sure you can see you room map by entering “dmap 1” in the caos command line. Center the hand in the room you want to check and enter the following: “outv prop grap mopx mopy #” replacing the “#” with a number from 0 to 19, depending on the CA you are testing for. Hitting enter should return a decimal value for the CA.

In the screens below, I’ve created labels to monitor the CA value of protein in each room. I’ve removed all other sources of protein smell in the world, so the only agent producing the smell are the lemons in the top left. As you can see, the CA concentration is the strongest where the lemons are sitting, and gets to be less and less as the rooms get further away. Even down at the bottom of the workshop, the CA exists, meaning a creature can sense it and follow it.

CAOS Note: Lemons don’t smell like lemons just because they’re classified as fruit! To make an agent “smelly” you have to use the EMIT command in the creation script-- the same place in the script you set your ATTR, BHVR, and other agent settings. The EMIT command is structured as such: emit [CA number] [amount]. The amount ranges from 0 to 1, so you might use 0.05 to give your agent a mild scent, or 0.9 for a very strong smell. You can actually set EMIT to a number even higher than 1, but the increase is very minimal.

How Creatures Use CAs

The classic Creatures IQ Test is the most common example of how exactly creatures use CAs to find their way around.

Creature brains already know from the start that protein smell is linked to fruit-- this is defined when the world is created using the CACL command, it’s not something they need to learn. And most creatures are born with an instinct to find fruit when they are hungry for protein. Once a creature decides to go looking for fruit, a combination of brain and action scripts take over.

The brain starts by checking the room the creature is in, and the rooms around it. It then decides which room has the highest CA value. If that room is to the left or right, a creature will simply walk that direction, but if that direction is up or down, the creature will start to feel very “low down” or “high up”, which will trigger its instincts to push or pull lifts to get moving in the direction with the higher CA. Similarly, if the CA is higher in a room that the creature can’t access by walking, it will start feeling “trapped” and feel inclined to push doors.

So in short, for a creature to pass a classic IQ test, it needs to:

- Be hungry.
- Understand that food (or fruit or seeds) will satisfy its hunger.
- Decide that finding food is more important than pushing the training dummy, taking a nap, smashing the lift button repeatedly, running into walls, etc.
- Be able to detect smells
- Understand that pushing lifts will satisfy its “need to go up” drive
- Understand that pushing doors will satisfy its “need to exit/trapped” drive.
- Not have any pose or gait mutations that might prevent it from traveling properly.

Primarily, creatures use CAs to find food. Creatures will also follow them to find their way home. This is most commonly seen in pregnant norns, who will often feel homesick and try to make their way back to the heating pan or incubator, where the hidden “norn home” (CA 15) emitter is located. Ettins will also make use of this, following the CA to “ettin home” (CA 17) when they are carrying a gadget (which they might have sought out by following the CA for “gadget” (18). CAs play a few other roles here and there, for example “norn” (12) CA generally makes grendels angry.

How other agents use CAs

While creatures use CAs for navigation, there are some plants and animals that rely on CAs as well. CA 3 (moisture) and CA 4 (nutrients) are sometimes required for certain plants to grow. The seed might check the room that it lands in, and if the CA levels aren’t high enough, it will just rot away instead of sprouting. Moisture might be added by little raindrops that, upon hitting the ground, add a little CA 3 into the room they land in. CA 4 might be added by decaying food; essentially compost. Similarly, some critters might require certain light or heat levels to reproduce or for eggs to hatch.

But this is all very agent-specific-- many third-party plants and critters especially don’t rely on CAs in part because many third-party metarooms don’t use emitters. These days, having an agent that requires certain CAs to function tends to really cripple where it can be used.

Overall, CA requirements for agents can potentially add a lot of complexity and interest to the game, but it requires a lot of knowledge about exactly what the agents require. In a room of CA-requiring agents, you might want to be careful about planting too many flowers that require lots of nutrients, lest they deplete the soil and your fruit-bearing plants are unable to grow. You might have to worry about watering the soil regularly, or throwing apple cores over it. The more CA requirements an agent has, the more restrictions there are on where it can thrive.

Often, when it comes to customizing, it’s easier to just ignore CA requirements and script in a form of population control, limiting where your plants sprout by room-type instead of CAs, so your species will thrive whether or not a room has proper emitters. But if you want to include this sort of interesting complexity into your agents, it’s important to specify to players what CAs they need, so the player knows to provide them in one way or another, whether by placing them in a room with emitters, creating their own emitters, or using other CA-altering agents.

CAOS Notes: Creating emitters is very easy. The code goes something like this:

new: simp 1 1 [species] "blank" 0 0 0
emit [CA number] [amount]
mvto [x] [y]

That’s it. Let’s say I want to be really mean and make a protein smell emitter to confuse my creatures. I might enter “new: simp 1 1 12345 "blank" 0 0 0 emit 6 0.5 mvto mopx mopy”.

This would create an invisible agent where the hand was that constantly emitted protein/fruit smell. Creatures would come from all over looking for fruit, and find nothing, and get very confused. So I wouldn’t recommend using it for fruit smell, but you might use it to emit light or heat, whatever the agents in the room might require.

But let’s say you don’t want to create an agent that emits a CA forever-- let’s say you just want to give the room a one-time boost of a certain CA, like how fruit might give the soil a little bit of nutrients as it decays. For this, you would use the ALTR command:

ALTR [Room ID] [CA number] [amount]

The room ID will probably be the room that the agent is sitting, in which case you can use “room targ” or “room ownr” in place of the room ID. If you’re running this from the CAOS command line, you can just use “room pntr” to use the room the hand is hovering over.

Amount in this case goes from -1 to 1, depending on if you want to subtract or add some amount of CA from the room.

Now, one thing to note is that ALTR doesn’t work on “smell” CAs that creatures use for navigation; it only works on CAs 0-5. If you need to alter the other CA of a room, you can use PROP, a command with the same function of ALTR, but instead of adding or subtracting the number specified, it sets that CA level in that room to exactly the number specified.

How CAs Travel

Now, we know what causes a CA value to exist at all, but what affects how CAs travel from one room to another?

Just a moment ago, we mentioned that ALTR works on some CAs, but not others. It works on heat, water, light, and other CAs that do not represent smells. Actual smell-based CAs are called “navigable” CAs by the game, presumably meaning that they are CAs creatures can follow to find their way to food sources or other objects of desire.

The interesting thing is that while non-navigable CAs can travel freely in all directions, navigable CAs only travel to the left and right.

For the purposes of demonstration, I have removed CA links from this room. Note how the grendel smell will only travel from left to right, and ignore rooms above and below:

Why do navigable CAs work like this? Doesn't it make more sense that smells would travel through all rooms?  Well, to us, yes, but you have to remember that we're dealing with not-so-bright creatures.
Again, for purposes of demonstration, I have set the pink and white grazer to emit a non-navigable CA that can travel anywhere. But let's say that was a protein smell, and poor Disastrous Plantation wanted to get to it? She would feel a pretty painfully stabbing desire to go up once she reached the open air, and have no way to get there. Maybe she would travel a bit more to the left to take the lift there, but she would just walk off the edge of the cliff trying to get to the grazer, getting increasingly more confused.

So for the sake of the creatures, it is better that smells only naturally travel in the directions that creatures can walk, and the rest be controlled by CA links.

CA links are very critical part of navigation for creatures, but not all third party metarooms include them, meaning you need to set them up manually to ensure your creatures can thrive.

As an example, here we see that there is a bounty of food right above Herria. But since smell CAs do not pass vertically through rooms, without CA links, she'll never be able to smell the food right above her.

CAOS Notes: Setting up a CA link is actually very easy. The syntax is as follows:

LINK [room1] [room2] [perm]

Room1 and Room2  are the room numbers you want to link. Getting these numbers is easy-- using Shift+Ctrl+R will produce the number of the room the hand is currently in right next to the hand:
 As shown, the room numbers we want to link here are 839 and 855. The perm is easy-- for most CA links, it is set to 1, to let all CAs flow freely between the link. Setting it to 0.5 would only let about half the CA amounts through the link, and so on.

So once we enter our command, "LINK 839 855 1" ... Herria can suddenly smell something delicious above her, and does not hesitate even a second to take the lift up to where the fragrant food awaits! As you can see by the tags, the CA smell has spread out into the rooms below.

CA links are also used to connect different metarooms together by creating a link between the rooms that the doors are located in; this way the creatures can smell what's on the other side of the door.

CA links are not just useful for linking up metarooms though-- creating links between rooms where elevines reside will encourage creatures to use them as well. Just remember that you are creating a link between two rooms, not two agents, and if you move the elevine, you'll need to break the old link (by running the command again with the perm set to zero) and create a new one, if you want to avoid some very confused creatures wondering where that smell is coming from!

Room Types and CAs

There's one more important thing to know about CAs, and that's how room types affect them. Room types are not just to determine if plants should grow or if fish should swim-- each type of room treats each CA differently. Consider the chart below:

Gain determines how much of the CA is absorbed from emitters in the room, Loss is how much of the CA dissipates into nothingness, and Diffusion controls how much of the CA flows over into other rooms.

Here you can see that soil-type rooms are really the only ones that can hold onto nutrient CAs, and CA smells travel much more easily through hard surface areas than through soil.

The variations between room types are subtle, but one special type of room to note is "Ettin Home," which is very much like a standard walkway with one huge exception-- it doesn't carry absorb gadget smell from gadgets in the room. This strange mechanism basically ensures that once ettins bring gadgets home to add to their hoard, they don't smell them anymore, meaning they can still pick up the subtle smells of other gadgets further away on the ship and hunt them down.

These relationships between CAs and Room Types can be altered with the RATE command, but you want to be careful what you do, because changes in CA rates will affect your whole world. Perhaps the most common CA rate modification available is Moe's Heat in Water transfer, which changes the rates to allow...well, heat to travel through water.

Wow... well, that about wraps up what I've learned about CAs over the past several weeks! I hope this clears up a lot of questions and misunderstandings about CAs, and hopefully makes the world an easier place for norns to find their way around. If you have any questions or comments or corrections, feel free to leave them below! And stay tuned for the release of a few Magic Words commands that will make managing your world's CA links a lot easier, I hope!

Saturday, April 28, 2012

Room-Editing, Magically!

I was in the middle of this lovely book when suddenly this idea hit me: Hey, what about a magic words command to change the DOOR permeability between rooms? That would be pretty easy, right? Yes, yes it would; I will try it after I finish this chapter.

But I couldn't focus on the chapter because I just could not stop thinking about the room-editing possibilities that could come from a few simple lines of code. Gah. When inspiration hits, it's unmerciful.

So an hour later I had a couple of new commands to play with:

DMap, which toggles the map grid on and off, as well as a bit of text near the hand that displays the type of room it is hovering over.

DoorH [number], which sets the door boundary between the rooms touching the right and left side of the hand. This is a number between 0 and 100, with 0 meaning nothing can pass though (a solid wall) and 100 meaning everything can pass through.

DoorV [number], which does the same thing as DoorH, but changes the boundary between rooms touching the top and bottom of the hand.

Room Type [number], which changes the type of room the hand is hovering over. This is a number from 0 to 10, a list of room types is found here. I ended up kind of throwing this in at the last minute because I figured if you were going to make new floors, you might want to not be "air" type rooms. But you can use it for whatever-- to flood certain areas or turn them into dry land, make barren metal hallways into soil to support plant growth, etc.

As shown in the video, this pairs pretty nicely with the garden box decorations as you can use them to visually denote your new platforms/walls, but I don't think these magic words commands are going to be bundled with the garden box; I'll probably release them before that.

Wednesday, April 18, 2012

Hera: Not lab rats, honest!

I have to confess something. I'm guilty of turning even my nurturing worlds into testbeds for agents that I'm working on. Maybe it's just that I get restless simply nurturing, or maybe it's because I enjoy testing a little be more if I actually know the creatures I'm working with. Either way, I wanted to accomplish a few things today-- run Hera a little bit, and finish off some long-pending releases. Since I'm putting the majority of my efforts into Garden Box agents now, I wanted to get a few things people have been asking about out of the way before getting too deep into such a big project.

Unfortunately, testing and developing while running Hera doesn't leave me a whole lot of time to pay attention to what the creatures are doing, which in some cases is just as well, since I did want to just let them go feral for a while and see how they did. Well, right off the bat we had some closure to the circle this world started with. Lilac, inexplicably, passed away not long after I opened the world. Surprisingly her score had shot up again, and I had no idea she was even having any trouble until she dropped. The hoverdoc told me she was really hungry; I hate to think she may have starved, especially surrounded by food, but it seems to be the most reasonable guess. I was especially saddened by this because I had just finished scripting in a magic words command to artificially lower a creatures' score, and had planned to use it on her to at least give her a chance to pass on her genes to the future, but sadly, it was not to be.

This is the last photo I have of Amina, playing some strange version of nornish hide and seek with her new friends. She had gone gray and entered the old stage; still, I was surprised to see her go so quickly afterwards. The worst part is, I was so busy trying to get these marks to show up on the right plane that I didn't even notice she had died until her body had already returned to stardust. Thus the first generation of these Hera creatures is finally complete. Amina was certainly the best of the lot in terms of genetics, even though her score was slowly climbing upwards as she aged, she seemed to be quite happy all the while.

It was funny that Rishi was randomly allocated the egg mark during testing, since the the two deaths had certainly made room for more. Having wandered off on her own, she quickly became pregnant and laid an on the island, then returned to sit by the horn and eat coconuts until she too, slipped to permanent sleep. Like Amina, she hadn't even been old very long when she died, so I'm really not sure why it happened so quickly, other than the fact that she had let her score shoot quite high.

But the egg hatched, and life continued. I figured I would name this one Aura, considering one of the agents I was trying to finish off was similarly named. She was born alone, but surrounded by food. Holding the genetics of Kayla and Elm, I can only hope she has a good life ahead of her.

Lyra had only just reached youth age when she had a sudden stirring in her belly. What a strange welcome into adulthood! Though she had wandered towards the volcano, her confusion over the whole situation must have sent her trekking back to her mentor Kayla for some advice, and together they watched this strange miracle unfold.

If this world contained males, it wouldn't be difficult to name the baby "Mark". But that isn't the case, so I decided Marcie was a close enough match. Even though she offspring of Kayla and Elm, she sported a much different color at birth than her sister. Genetics can be so unpredictable at times!

By the time she reached the child stage, however, her color had shifted pretty dramatically, much more akin to the tint of her sister and genetic parent, Elm. But her other genetic parent, Kayla, may have not been happy about this, as she developed a sudden dislike for Marcie and began slapping at her for seemingly no good reason. The little nornling retreated over to Lyra for safety, while I gave Kayla a couple punishing slaps.

 Speaking of color-changes though, Shimmer is certainly less....shimmery than she was when she was born. Still hanging out in that basement, she was quickly chosen to carry the offpsring to fill that last open population slot. Meet Bubbles, offspring of Elm and Kindi, a fitting candidate to test the third magic words agent I'm trying to finish up today.

While you guys have probably seen my Auras video before and have no doubt seen the marks in use on Discover Albia, I'm not sure I've said much about the "air bubbles" command, which essentially attaches an air tank to a creature, allowing it to breathe underwater, or if the creature is gilled, breath on the surface. Since it's an agent that essentially keeps the creature's lungs full of air, it can also be useful for creatures that have genetic handicaps preventing them from getting air properly. I actually invented this little command shortly after CCSF when I wanted all my creatures to be able to play in the seas of Devil's Reef, not just the aquatic ones.

Bubbles, much like Marcie, started out that nice blue tint that faded a bit when she left the baby stage. Elm's genetics are certainly getting around, and I for one am not complaining!

After that whole having-a-baby fiasco was over, Lyra returned to the volcano, where for some reason there grows a prototype chilli peppers patch plant, stars spewing everywhere from her as I test the large stars aura. She must feel pretty special about now. I'm a bit worried though; I'm not sure if the C2inDS version of the volcano is so dangerous as the original C2 version, but I don't want her bone marrow to start melting.

Testing out the butterflies aura, I was surprised to find Shimmer napping out on this rock! I don't remember this being a walkable area in C2, but it does look like a nice place to sun oneself! And poor Shimmer needs it too, having spent nearly her whole life in that little basement playroom!

Well, luckily this venture was a success, and I think I have these agents tweaked to a suitable release state! Let me know if you find any problems with them; in the meantime, Download the Magic Words [Marks], [Auras], and [Air Bubbles]!

Now, a few notes on these before you run off!
  • This might go without saying, but the Magic Words Core is required for these agents to function
  • The lovely sprites used in the Magic Words Marks were made by the talented Mea! I can't thank her enough for all her hard work on these cute little marks, and this agent flat out would not exist without them! 
  • That said, the idea for these marks and auras was inspired by Kittie's comment on Jessica's DS World Concept, as a method for easily telling creatures of varying social classes apart!
  • The syntax for putting a mark over a creature is "[name] mark [color]", for example, "star mark blue". The magic words help dialogue (typing "help" after injecting) will list all the marks and colors. However, if you enter an unrecognized mark or color, the system will pick a random one for you. So typing "star mark shjkgyres" will give your creature a randomly tinted star mark, and typing "dsjghr mark jsaghre" will give your creature a  random mark with a random color.
  • The magic words auras make heavy use of both TINT and ALPH, commands that tend to use a lot of resources, so it may not be suitable for slower computers. I personally have not experienced any problems with them, but use caution.
  • A creature can have one mark and one aura at a time. "Clear Aura" and "Clear Mark" will get rid of them.
  • The "Air Bubbles" command toggles the bubbles on and off on a creature. It doesn't conflict with the marks or auras.
Did I forget anything? Sorry for taking so long to finish these up, especially the marks and auras; I've been sitting on them for pretty much ever. But I hope you guys have fun with them now!

Saturday, April 14, 2012

Garden Box Conversion Poll

So I just wanted to make clear what my personal goals were for converting the C3 plant and animal life for Garden Box, and give you guys the chance to let me know exactly what it is that you want most!

Did you ever know there was so much life in C3? I honestly didn't pay a lot of attention to the sheer number of plants and animals there were until I looked into converting them all! Just looking at the length of this survey is a little bit daunting, and perhaps even moreso when I consider the tasks I set out for myself.

The C3 conversions you've seen in the preview videos are mostly pretty "dirty" conversions consisting 95% of C3 code with a garden-box install script attached. But when I release these conversions officially, I would like them to meet a certain set of personal standards to ensure that they can thrive, which I've decided on as follows:
  • All critters and bugs should be edible/pushable/pullable/hitable. All seeds/detritus should be edible. Generally, the more ways a creature can interact with an agent, the better.
  • Critters that aren’t logically edible (sorry, I just can’t really imagine a norn stuffing a grazer in its mouth) should be reclassified as beasts.
  • No plants or animals should require certain CA levels to function (light, soil nutrients, etc). Due to the generally unreliable nature of CAs, and the fact that several popular metarooms don't properly utilize them, I've decided that this would be best to ensure that these agents won't be handicapped in these areas.
  • All plants and animals that reproduce should have checks in place to avoid overpopulation.
  • Edible animals (and seeds for reproducing plants) should have some sort of defense mechanism that kicks in when the population is low to help keep creatures from eating them into extinction (fleeing from creatures, seeds germinating faster/plants producing more seeds, turning invisible, etc)
  •  Animals/Plants that must consume a food source should ideally have that source specified by genus, not species, for sake of ecological flexibility (Example being to allow the gnarlers to gain nutrients from all toys).
  • While not exactly a hard standard, I would like to add some sort of special touch/personal flair to as many of these conversions as possible. For example, I think I would like to make the snail, when it dies, leave behind its shell as a toy for creatures, or give more animals and plants the ability to color mutate. I have a cute idea for allowing some critters, when pushed by creatures, to potentially get attached to them and follow them around, but I dunno how painful that would be to implement.
Furthermore, all conversions will have their own classifiers, so they're not going to mess with any already-established C3 life. All my C3 conversions will also be named with the suffix, "(AMK)" (so, "Grazers (AMK)"). I would recommend that developers doing conversions adopt a similar naming convention, since two agents cannot have the same name. And lastly, I plan on annotating the scripts as much as possible and making them easily available, so hopefully others with a working knowledge of CAOS can easily modify the agents to their liking.

Anyway, rambles aside, on with the survey! I realize not everyone will be aware of exactly what everything is in the C3 world, so the far right option is reserved for that case. (But if you want to double check, the C3 Ecology page on the Cwiki should be able to help you out!) Maybe I'll even do a post on the lesser-known C3 life, hah!

Note: This survey is for traditional plants/animals, not patch plants (but no worries, apples and pumperspikels are certainly coming along as patch plants)

Thursday, April 12, 2012

Garden Box Preview 2

So this is long overdue (I posted the first preview what, over two months ago?), and I'm sorry, but here's a much longer, more in-depth explanation of what the Garden Box is, its features, how they work, etc.

It's best viewed full-screen so you can make out all the text and other details. I did my best to explain things, but let me know in the comments if you have any questions or don't understand something (explaining via speech is certainly not my strong point!)

Literally did this in one take without any pre-planning, so excuse all the "ums." Or make a game out of counting them, up to you.

Things are coming along nicely! The Box itself is almost finished, though the agents very much leave something to be desired. (RIP, gnarler ;_; )

And don't worry, I haven't quite forgotten about Hera! I'm tending to the world in a more casual way now, but hopefully you'll see an update soon, and maybe the completion of a small project!

Thursday, March 29, 2012

Hera: A Slice of Life

I figured I would just do a quick video update today instead of a huge write-up, but, hilariously, when I got it all done, I discovered I forgot to hit record on the software I was using to record the narration! Since it was all live, I couldn't exactly redo it, but in the end I think having the video speak for itself was fairly effective. It's almost peaceful to watch.

And if you find it too boring to watch, I'll sum up the most important details:

- Amina has become a bit slappy, but Kindi loves her anyway.
- Amina attempts to dive into the waterfall, to a painful end.
- Lilac really enjoys splatting herself in the face with tomatoes.
- Welcome Lyra, genetic daughter of Amina and Elm.
- Welcome Shimmer, genetic daughter of Amina and Cyana.

Did you guys make any other interesting observations?

Wednesday, March 28, 2012

Hera: New Blood

There are still two groups of spliced creatures that I intend on eventually pulling offspring from, but I was really eager to introduce these two girls into Hera. I decided to start them off in the little glass domes under the sea, a place untouched in the world by creatures until now. They seemed pretty happy until the realized there was nothing to do there, and proceeded to whine about being bored.

I kept suggesting they pull the elevator, but they paid me no mind... I thought this might be the beginning of another episode of frustration, when I remembered that this dome was located right on the world-wrap seam, meaning they might not even be able to see the elevine at all. Sure enough, when I led them over so the vine was in their view, they were more than happy to listen. That was way more of a relief than I expected it to be. I'm still having nightmares about retraining norns to listen to me.

The girls were off, and traveled their way eastward and upward until they ran into Amina. Looks like they're not shy at all about meeting the natives! I was a little surprised to notice that both of them had aged pretty quickly-- Elm especially, who had already advanced to youth age at a very young 25 minutes. Even though she's of age now to put her genes forward, she's got a bit of work to do to lower her score. I'm not sure that anyone will be able to compete with Amina though; she's probably going to keep mothering little ones as long as she's walking.

Trusting they could care for themselves now, I went to briefly check in on the status of the other creatures. Lilac was hanging out near the bridge, taking a nap. Ever since I put my bias aside and gave her some attention, she's been doing pretty well, hanging mostly around the tree, where she has access to a well-balanced diet and a nice variety of toys. Her score is pretty respectable too. Considering her slow-aging, I think she'll be with us a long time.

Rishi was still hanging out in the incubator den, feeling a bit lonely (my, this looks familiar) but otherwise satisfied as she stuffed her face with bramboo berries. That den seems to be a bit of a trap for creatures, doesn't it? It's too full of delicious things for anyone to want to leave, yet it's such a lonely place.

Speaking of lonely though, little Kayla is still aimlessly wandering the swamps, seeking companionship. You know, it's a little sad that norns can't sniff each other out when lonely like they can when they're searching for food. Norns emit a CA smell, but sadly a norn can't tell the difference between her own norn smell and the smell of other norns. But it got me wondering-- might a lonely norn not know any better and still try to "approach norn" by scent? This could go a long way in explaining why poor Rishi and Kayla tend to sit in one spot as they grow more and more lonely. It might warrant further research!

Lastly, Kindi has already reached youth, and is hanging out with Amina (and you can't see it, but Elm and Cyana are just off to the left side of the screen; they didn't seem to want to come together for a group shot.) I'm not too alarmed by her high-ish score yet-- since it gets automatically set to 100 at youth age, she's still working it down to something reflective of her true survival abilities.

It's kind of funny how we have about half the creatures grouped together, and the other half completely strewn about the world. We'll have to see how this develops!

Tuesday, March 27, 2012

Hera's Candidates

So several hundred splicings later, I had snatched about a dozen girls that I thought had, if nothing else, interesting appearances. I decided, instead of dropping them all into one world, I would divide them into groups of four, and run the groups one at a time through an undocked DS world.

I didn't bother giving them names, as these aren't the creatures that are going into Hera anyway-- it's their offspring. My plan was to not put too many rules on the length of these runs; I pretty much planned on just running the scenario script on these groups and letting them carry on for a few generations. The creatures that were already pretty adept at self-care would put their genes towards the future, and after a while I would hand-pick a creature or two (depending on the diversity of the appearance) to bring into the genepool of Hera.

Group one consisted of a gaius cross, a pink-tinted grendelish thing. a treehugger/ettin cross, and bright blue bengal. Sadly, the gaius cross and the bengal died off pretty quickly, leaving the other two to populate. When I checked back after a few hours, their offspring weren't looking half-bad, but I chose to let things run a little bit longer. Even though I didn't turn creature nametags on, I was watching the scores through the debug window, and well.. they were pretty terrible. The DS meso isn't a hard place for one to care for oneself, and if these creatures couldn't manage scores below 90 in such an easy zone, there was no way they were going to make it in Hera.

However, things only seemed to get worse as they went on. Over seven hours into the run, nearly all the creatures had scores of 100. Most of their high drives were related to hunger, the most basic and easily-solved of needs. Bad blood was only going to breed more bad blood, so I took a chance and reimported a clone of the little blue bengal, on the offchance that she originally died from being beaten or some other unnatural cause. I hoped she might grow up healthy this time around and add some superior genes to the pool. I guess I was a little biased too and wanted to give her a second chance; she was just so pretty!

But what originated as a choice made on personal bias turned out to be exactly what the failing tribe needed. It took a while, but when I checked the world again at the 14 hour mark, all of the creatures bore some trace of the little blue one's genes, and most of the scores hovered between 40 and 65, with the original norn's score dropping as low as nine!

Even at seven hours old, this nameless heroine was still just an adult, a good example of how the scenario script rewards norns that care for themselves with a longer lifespan.

In the end, I picked out two norns I thought were suitable for Hera: an excitable youth who was a pretty exact clone in appearance to our original, and a newborn hatchling with a more subtle tint and a little more treehugger in her. Meet Cyana and Elm!

These two girls have quite an adventure ahead of them-- life has been pretty relaxed here in the norn meso, with food and toys never far out of reach, but the much, much larger world of C2inDS is going to be quite a test of their skills of adaptation. Let's wish them the best!

Monday, March 26, 2012

Splice Quest

My DS splicer is so, so poorly coded. When I wrote it I was just fumbling through things, barely understanding how they worked and using cheap work-arounds to fix errors rather than find the source of them. Still, it was the first major thing I ever scripted, and the overwhelmingly positive response I got from it gave me the confidence to keep developing even more complex agents. Maybe that's why I enjoy using it, even if it is rather dated and buggy.

I recently learned that between my personal creatures folder and my LNA exports folder, I have nearly 5000 creatures lying around. For some reason, I've always felt ... odd about deleting export files; I would rather them have a death in a world than a simple deletion. So when I feel the need to pare down my massive collection, I enjoy splicing them.

It wouldn't be too difficult for me to just write a script now to just auto-import all my creatures and mass-splice them, but it's just more engaging to fire up the DS splicer, setting the auto-splice, and watch the whole process. Especially for the purpose of this project.

See, I'm trying to find some new genetics to introduce into the gene pool of Hera. So I'm planning on splicing a bunch of creatures, keeping an eye out for any interesting looking females, which will be set aside. Then I plan on letting the girls loose in an undocked DS world with the scenario script running, and letting them go completely feral for a few generations to weed out any bad genes. Hopefully the resulting creatures will do well in Hera, and in the meantime, I'll get to test how well the scenario script works in a feral/wolfling setting.

There's just something fascinating about watching the results of a mass splicing. Especially when I'm watching my own creatures getting spliced, and remembering all the various wolfling runs and other projects that generated the creatures to begin with.

I've put together a quick video here, just showing off the splicing process a little to tide you over until things get interesting in Hera again:


This is pretty terrible music for it though. It reminds me of those really depressing clips about factory-farmed animals that are created for the sole purpose of dying horrible deaths so we can eat them. Don't eat factory-spliced norns, kids. Free-range, carrot-fed norns are much tastier!

Okay, now I'm just being weird. Back to the splicing!

Sunday, March 25, 2012

Hera: Everyone Dies (or so it feels)

Man, this is going from exciting to just...depressing.

First, we lost Loorea. She had gotten separated from her trio of traveling friends and with a still upsettingly high score, passed away alone in the desert. It really is a shame she never got to pass on her genes to the future; she had so many interesting visual traits, even if she was...well... not of the highest intelligence.
Then, I noticed Stella's score had become even worse, and, desperate to save her, I dropped her back in the barrel room for some intensive "eat seed" training. But she didn't even survive that. Looking at her drives, it's really very sad.. she generally wasn't too bad at taking care of herself, but she just couldn't understand where starch came from. At least she got her genes into Rishi, who passed them on through her genetic children, so Stella will still live on, in one form or another.

But life continued on in other parts of Albia. Rishi continued her journey throughout the world, and Lilac followed, through every elevine and door-vine. They didn't split up until they reached the incubator room. No one had walked those halls since Amina had when she was first brought into that world. Rishi chose to stay there, resting in the grasses and munching on the apples, while Lilac chose to go to the surface, heading west towards the island.
 It came to my attention that maybe I've been a little biased against Lilac, considering her harsh treatment of Rishi. Her score was edging higher, and I hadn't really put much effort into helping her out. Lilac and Amina were the only two of the original six left, and Lilac deserved as much help as the others (Not that Amina needed any help while her score sat at a record 35).

Luckily, she didn't seem as affected by aging as the other creatures were-- I remember it took her over two hours just to get her to adult, and now, at a little over four hours, she retained her adult status.

I set about giving her some food and encouragement, and she made her way past the island, across the sea, and climbed up the tree to the platform PinkiePie once lived on. There, she was joined by Kindi, who had just turned adolescent. These norns grow up so fast!

With Lilac well on her way to a more acceptable score, I felt a little better. Of course, with so many deaths in the world, the script fought to catch up, and soon Rishi was carrying another splice of herself and Amina. But this one wasn't going to stay in the world. After naming her Kitty, I went ahead and exported her. Maybe I'll reimport her later, or save her for something else, but I don't think this world needs yet another Amina/Rishi cross, as genetically promising as they may be. I want to keep some diversity in this world-- but genetically strong diversity, still. I've got a bit of a plan to accomplish this, but it's going to take a bit of time!

Saturday, March 24, 2012

Hera: You miss a day around here...

Wow. This has been quite a day! I honestly can't remember the last time I had this much fun playing this game. I don't know if it's the script, or just the circumstances, or the fact that I'm blogging about it and get to have all kinds of interesting discussions with you guys, or maybe just that these are seriously interesting creatures, but I am honestly loving this world and the creatures therein. 

But I've got a lot of events to cover, so we'll get started. It was no real surprise that PinkiePie was chosen to be the carrier of the next egg, considering she was all alone up there in that tree, resting her life away. But I was surprised to see another astro head poke out of the egg! Could it be that Stella contributed yet again? But no, on further examination, this baby was a product of Amina and Rishi!
To be honest, I was hoping for a little more genetic diversity, but fair is fair-- it looks like Amina has some promising genes-- she's now both a genetic grandmother as well as a genetic mother. Who would have guessed, considering all her stubbornness in the beginning! I named the new baby Kindi, and she instantly took quite a liking to PinkiePie. PinkiePie seemed to like the newcomer just as much, and seemed to nearly give up her resting habit! I had high hopes for her score recovery, and went to work on my next task: getting Rishi out of the swamp.

The swamplands, I am reminded, are a big, big place, and Rishi seemed to want to stop and rest a lot. But I kept encouraging her to go right, and after quite a bit of traveling, as we approached the pond on the eastern edge, I noticed her bulging belly. What must it be like, I wonder, to be on a long journey, preparing to leave your homeland, and suddenly finding yourself pregnant! Rishi didn't seem to mind at all, laying her egg with quite a smile, before wandering over to munch on some pears.

But I was distracted from this newly-laid egg when I noticed an unfortunate death notice. I cringed, hoping it wasn't another case similar to Ginger's. But no, it was PinkiePie, whom I guess had finally managed to rest herself into a permanent slumber. All signs pointed to a natural death due to lack of the Life chemical. I'm not sure how much of her aging is genetics (considering she pretty much skipped the Old stage, I think that is a factor) and how much is the script, but I do wish she had been able to snap out of her rest addiction a little sooner and buy herself some more time.

I was surprised to see Amina there with her, approaching her for company. Not to keep gushing over Amina, but she's turning out to be a quick traveler as well, considering the last time I saw her, she was at the other end of the bridge. Then over in the corner, Kindi was resting. Oh dear. I do hope she's actually tired and hasn't just picked up poor Pinkie's fatal habits

I noticed that Stella, below the bridge, had also joined the ranks of the aged. It's just a little sadder, knowing that this old age could have been postponed had she only had the foresight to eat seed instead of eat ettin. Gladly though, we should hopefully be seeing a lot less of this premature aging in the future, since the altered script is quite a bit more forgiving, and creatures shouldn't be stuck with debilitating scores of 100 so often. 

I went ahead and lowered the breeding limit back to seven. Two new babies in such a short time was enough, and even with the population slots empty,  I didn't want a third just yet. This hatchling, yet another Rishi/Amina cross, was all alone in the swamps. I called her Kayla, and hoped that she would either find company, or be able to raise herself well, as Rishi had already moved on in her journey.

Yes, Rishi, oddly enough, made her way into the volcano to find... Lilac had beat her to it! I don't know what caused this burst of wanderlust in Lilac... perhaps she is just determined to keep Rishi nearby. I am still a little suspicious of Lilac's motives considering her violent behavior in the past, but I'll just keep an eye on them for now. I'm hoping to guide Rishi up towards the surface of Albia, in hopes that she will finally get to meet others of her kind. As always, we'll just have to see what happens.