Author Topic: Random Stuff  (Read 6108 times)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Random Stuff
« on: July 14, 2008, 03:53:06 AM »
Not much happening in the forum right now...

Figured I'd take the opportunity to post on a few things I've been working on.

Getting more use out of delgene and vshoot:

Started using both vshoot and delgene for conspec ID via memloc/memval. At the start of their life both sysvars are set to different large negative values, this helps prevent viruses that only use inc I addition to allowing the bot the ability to safely use these for recognition. Since these values are always required to be activly checked for changes anyways(normally just being reset to zero) this combines resetting the recognition system with protecting the bot from viruses. Memloc is set to one of the two values at the start of their life as well, the actual conditions use the refrence of memloc to know which value to check against.

My virus, Myself:

In the same vein as delgene and vshoot, its actually better not to use zero for virus prevention. For 1G bots it's best to simply make your own gene at the start and whenever mkvirus is not equal to your own gene with vtimer  equal to zero. In this way your bot can prevent regular viruses from utilizing mkvirus. While foreign viruses can still activate vshoot, the worst that'll happen is your bots will launch their own dna out with a decent chance of "infecting" other bots or alga.

Turning without turning:

Been working on a bot that doesn't actually rotate itself but instead moves it's eye5dir for sighting other bots, it's more of a beta-bot than anything else but it's interesting to see. Seems pretty decent they're able to move at a constant velocity, while still remaining on the lookout for food. Once it actually spots something it uses the standard setaim method for aiming. Still a work in progress as it continues to have problems with edges and the turning code could be better. Could likely also be useful for a MB like SeaSnake since the back bots could still be on the lookout for food to inform the head about.

Checker Veggie

Made a better veggie, it uses *.totalmyspecies to reproduce when it's total population is below it's old highest value. Not completly effective due to the slight surge that'll occur but I've found it works better than the standard energy check or simply trying to constantly repro.

I still think something should be done to prevent .totalmyspecies from being stored into memloc for leagues. Seems like it should still be able to be used, just not as a unique species number.

Alrighty, all I have for now. Hopefully this'll break the July 4th spell that seems to have settled over the place.
« Last Edit: July 14, 2008, 04:01:21 AM by Endy »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Random Stuff
« Reply #1 on: July 14, 2008, 04:40:41 PM »
I still like the idea of having totalmyspecies, etc. relegated to just a "shepherd bot" role.  Another tag in the species panel would let you specify that a bot is a shepherd, and would give access to those sorts of sysvars.  It just rubs me the wrong way that bots can get an exact count of the number of others of the same species (which is already a fuzzy idea anyway) in the world.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Random Stuff
« Reply #2 on: July 14, 2008, 10:12:53 PM »
It could be thought of as a form of quorum sensing. Though I don't think that nature has such an exact mechanism for determining an exact number of cells. I do like being able to use it for IM(whenever my net computer works  again  ), you can tell when your bot has just arrived or when it's achieved a level of dominance in another sim.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Random Stuff
« Reply #3 on: July 14, 2008, 11:42:24 PM »
I could accept that if it weren't so exact.  Or maybe if it were tied to biomass (body) instead.

Offline Skylimit

  • Bot Neophyte
  • *
  • Posts: 17
    • View Profile
Random Stuff
« Reply #4 on: July 15, 2008, 02:31:23 PM »
I'm currently experimenting with very large environments.
I still think it would be useful if all selected veggies grow to the same number.  The way it currently works, I think, is that one veggy is dominant.  For instance, I have like 3000 bots in the top right corner, and 3000 bots in the bottom left corner, and in the center is currently growing the Shrinking Violet, and it will continue to grow until it reaches approx. 1000.   It means that it is sucking all the life out of my universe.   Interesting development, but nonetheless, one that was unintended, as violet is an alien in my space

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Random Stuff
« Reply #5 on: July 15, 2008, 02:37:26 PM »
I'm just having fun with internet mode, which recently worked OK for me. My sim is very diverse with different bots and different veggies dominating at different times, sometimes in "rock-paper-scissors" scenarios. The local folder where I save bots also proves to be very useful, as it now often re-seeds the sim with "new" bots (veggies don't usually go extinct for me).

I'm just having fun with internet mode, which recently worked OK for me. My sim is very diverse with different bots and different veggies dominating at different times, sometimes in "rock-paper-scissors" scenarios. The local folder where I save bots also proves to be very useful, as it now often re-seeds the sim with "new" bots (veggies don't usually go extinct for me).
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Random Stuff
« Reply #6 on: October 24, 2008, 02:37:38 PM »
Found something weird about zero stores, they don't remove the value that was going to be stored.

ie.

60 0 store 50 store

would store 60 in 50.

Probably not too much of an issue for most people, but it'll mess up the code if attempting to use the stack more than normal. Found that using "swap dup dup etc." works well for clearing out the unwanted value. Might actually be useful since you could tell if a prior store didn't occur, haven't tried this myself though.

Not sure if this was mentioned anywhere else, but I figured I should mention it in case anyone else was having trouble.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Random Stuff
« Reply #7 on: October 24, 2008, 06:06:27 PM »
Not that many people use it anymore, but it would screw up conditionless logic.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan