Category: digital organisms

Zombie code

Zombie code

I’ve come up with a mixed bag of modifications to my artificial life system. I’m trying to get my digital creatures, which I call “figures,” more stable, quicker to emerge from randomness, and better able to tolerate mutations. As far as quicker emergence and greater stability goes, the tricks are working out. The system as gone from requiring multiple runs of 8 to 12 hours each, just to generate one stable population; to a system that can make a stable population consistently in less than 15 minutes, usually less than ten, and often less than 5. As far as tolerating mutation goes, it still isn’t any better. One single mutation is still enough to kill off the entire population, no matter which trick or combination of tricks I use.

Read More Read More

Two entries from my project journal

Two entries from my project journal

22 :: Sunday September 2, 2018

I need to jot this down before I forget.

I only just yesterday got the fat ports to work. I’d been calling inner write on the baby figures before they were added to the realm. That meant there were no trackers connected to the baby figures when their safe random method got called. All that time, I was just running the system more or less like the fat ports weren’t even there. Once I fix that, it ran like a dream.

Read More Read More

Searching for a kinder gentler mutation

Searching for a kinder gentler mutation

I spent a couple of weeks testing a notion I had. I’m not going to bother explaining—it would take too long for something that I’m not going to use. So far as I can tell, what I did to try and increase the system’s stability made it even more fragile. For example, with the usual approach, as few as 5 mutations have wiped out an entire population. With the other method, what I called snapcom, the one I’m tossing out the window, one mutation was enough. I gathered some statistics, but the results were inconclusive. Still, even if it is somehow performing better, it’s not enough better.

Read More Read More

Now that’s evolution!

Now that’s evolution!

Remember six? She’s a small population of the digital creatures I implemented, called “figures.” Six has a population size of 6, thus the name, and no matter how much room there is, no matter what the maximum population size happens to be, she always has a population size of 6 figures. Meanwhile, each figure will make one copy of itself and then die. There’s a constant stream of figures being born and copying themselves and dying, but the population size never changes/ it’s always 6.

I put six in a larger world. There was enough room for 200 figures. As expected, she still stayed at a 6 figure pop size. Then I started mutation.

Like I said in the last entry, the mutations are nasty, and often kill off an entire population. If that happened, six would be reloaded, back where she started before all this “mutation” business started going on, and do it all over again.

The notion was to see if six could evolve into a population that grows, instead of just holding steady. I set it up so it would beep at me when the population size reached 200, and pause the system so I could take a look at what six had become. I had no clue how long the experiment would run, or if six could be mutated into a growing population at all. I was all set to leave it running in the background while I did any&everything else.

Read More Read More

Messing with messy mutation

Messing with messy mutation

I’ve been experimenting with mutating some of the populations I had saved. To do such experiments, I had to implement mutation in the first place. I got the first form of mutation implemented on Tuesday night. It had been an interesting and long day, so I climbed into bed, ready to start experimenting in the morning.

I spent months doing all this very careful coding, keeping things as clean and well documented as I could. That was to implement the core system. Then I set it up so that the downstream programmer, which has been just me so far, could be as quick and dirty as they like. I can be as sloppy as I want, just hack things together, and the core system stays safe.

All that preparation is paying off. Implementing the first form of mutation didn’t take much more than half an hour or so. That’s good, because it meant that the next form of mutation was just as quick and easy to create. And that’s good, because the first form was far, far too deadly.

Read More Read More

Playing with populations

Playing with populations

For once, there are no bugs to report, or fix. There are some utility methods I should add, and the perennial chore of updating the documentation. All that is all well and good, and I’ll get it done well… or good. However, since I can, I spent a few days just playing with the system and some of the populations that have been generated.

Let me introduce you to some of the populations.

Read More Read More

Hurray! Another bilious bug defeated!

Hurray! Another bilious bug defeated!

Last time, we left our intrepid heroes—our desperate digital desperadoes—trapped—at the mercy of the extremely rare and apparently invisible 2,147,483,646! The villainous variable had been masquerading as 2147483, by all accounts a hardworking and kindhearted value, who wishes to say that she is in no way affiliated with that more nefarious number. 2147483646, at last unmasked, still holds the entire system in his iron grip. The Figures and their programmer must somehow find a way to deal with this invidious integer.

For background, checkout the previous post on this topic.

Read More Read More

Their nurture has become their nature

Their nurture has become their nature

In posts on this topic, I keep saying I’m about to get to the interesting part…

posts, with optimistic titles like “Trembling on the verge.” Followed immediately thereafter by posts like, “How long has that been wrong?”

Bugs and issues keep dancing out from between my lines of code, and they all demand their share of time and attention. It’s reached the point where I’ve become superstitious about it, so I didn’t say any sort of fate tempting phrase like, “Almost there,” or “nearly done,” in the last post.

BWAHAHAHAHA HA HAHA!

Read More Read More