Sunday, June 19, 2011

Highgen Generator

The DS server is down, and I am bored to death.

So I've gone and written another script. Many of my scripts exist to accomplish a certain purpose as fast as possible, and this one is no different! This one just exists to generate high-generation creatures.

When you inject it, it starts by emptying your world of most objects so that it can spend most of its resources generating creatures instead of worrying about other scripts-- this includes removing elevators and doors, so you'll want to start a new world specifically for this purpose before injecting it.

The script will then check your world for the youngest creature. If there are no creatures in your world, it will attempt to import the last creature that was exported. If there are no creatures to import, it will pick a random genome from your genetics folder and make one.

The script will then either kill or export all other creatures in the world. It's set to only export creatures of generations in multiples of 1000, and kill the rest. Otherwise, the script would be generating thousands of export files, which can really take of space, not to mention just clutter things. Exporting every 1000th creature provides a bit of a save point in case the world crashes or your creatures get autokilled, and allows you, if you wish, to track the changes over time.

Once only one creature is in the world, the script splices the creature's genetics with a random genome in your genetics folder at an average mutation rate to create a creature of the next generation. That new creature is now targeted, and the script repeats itself indefinitely, creating higher and higher generations of creatures.

On my computer, in fast ticks, it generates a thousand generations about every 6-7 minutes. Of course, this will vary according to your computer's speed.

Keep in mind that worlds running this script tend to take up a bit of space since hundreds of genetic files are being generated every minute. If you run the script for say, days at a time, you may find your world's folder bloated to a gigabyte and beyond, so if hard drive space is an issue for you, keep that in mind and delete/recreate the world every so often. The script will pick right up from the last exported creature.

What did I do this? I don't really know. Part of me wondered if the generation counter would break at a certain number, I guess. Part of me just likes to see numbers go up. But mostly, I was just really, really bored.

Anyway, if you want to join me in this relatively pointless boredom-induced number generating, get your copy of the cosfile here. As always, use at your own risk!

9 comments:

  1. How high is your FPS usually when you put your game into fast ticks?

    ReplyDelete
  2. Hmm I can't get it to work... I open a world and type
    ject "gencheat v4_dist.cos" 7
    into the CAOS Command line, it says OK, but nothing happens?
    What am I doing wrong? :/

    ReplyDelete
  3. Finally got it to work. Because the file originated from a computer that isn't my own, Windows decided to lock the file. Even though I was injecting it, the script itself couldn't be accessed, thus doing absolutely nothing.
    Was able to unlock it though, and it's running just fine! :) It's quite entertaining as well, haha.

    ReplyDelete
  4. Would it be possible to make a script similar to this, but instead of constantly splicing with the original genome, it creates two norns, splices them into two norns, and just keeps going? Splicing with the original breed genomes pretty much cancels out any chance of having a color mutation survive all those generations, and I'm all about color mutations, haha. XD
    This is great though, I'm up to generation 14000 already! Thanks for making this!

    ReplyDelete
  5. @Anonymous -- My FPS in a regular DS world tends to hang around 500/1000. With this script injected though, the wolf control isn't going to accurately display FPS because every time the game has to create a new creature or export one, it freezes briefly to calculate everything, which drops your FPS average very low. So don't be surprised if your fast ticks FPS bobs between 2 and 500, hah.

    @maddie -- Actually, earlier versions of this script did just that, but in the end it was changed because the purpose was really to push the numbers up rather than create interesting creatures and splicing the same genetic line together created all sorts of problems:

    Since the creatures being spliced don't have to know how to eat, breathe, walk, or even be alive to get to the next generation, it was usually only a matter of a hundred or so generations before the script was just splicing stillborns together and mutating to the point of complete genetic worthlessness, like creatures having 75% their genes missing and the rest duplicated multiple times... just some really weird stuff that made the creatures far from viable. Also, I don't know if it was the mutations or what, but the game seemed to crash a lot more often under that model.

    Implementing checks to make sure the creature wasn't dead before splicing it helped viability a lot, but slowed down efficiency greatly since it had to start from it's last exported creature every time they died (and back in that version creatures were exported every hundreth gen), and unless I slowed down the timer script it would still run into problems where it didn't register the creature was dead until it had already spliced it, kinda defeating the point.

    And for all that, nearly every color mutation I noticed mutated back out within the next few generations, so it wasn't even good for that >:

    So in the end I favored generation efficiency over all else, and splicing with first gens was really the only way to keep a high pace while having genetically viable creatures. I can probably fish out an earlier version of the script and post it if you're still interested; it's nowhere near as fast at getting the generation number up, but could net you some interesting creatures!

    ReplyDelete
  6. 6 hours and 56 minutes on my Linux Laptop generated 100,000 generations

    ReplyDelete
  7. I'd love to have a copy of that earlier script! :) I'm trying to breed some crazy colors in my feral run, and I'm not too picky on maintaining their genes... they already can live without food, are immune to any ill effects from slapping, and live just about forever. (all in only 500 generations too, jeez!)
    And wow, 100k generations?!? That's crazy! I wonder if the counter does have a limit... :P

    ReplyDelete
  8. I think it wouold be a good idea for the generator to use it's own folder where you put genomes of your choice, I feel simularly about the seru agent.

    ReplyDelete
  9. How to stop the script, please? Its nice but in cant stop :-)

    ReplyDelete