Author Topic: Tips  (Read 13139 times)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Tips
« on: February 21, 2005, 02:10:36 AM »
First off your Bot [you]must[/you] be able to reproduce fast as possible without sacrificing too much strength advantage in the process. Too fast and the babies are sitting ducks, too slow and the other bot could outreproduce yours waiting for when the bot is weakest to strike.

Next the bot needs to combine shot/tie-attack types in such a way as to acheive the most advantage when feeding from another bot. The best combo I've seen is using body shots with a tie-feeding attack for the veggies. If your fighting with another species you have to have your bot make an assessment based on the bot's defenses (slime, poison, shell) and decide which attack is best. Nrg shots will penetrate shell but trigger poison, while body shots will be blocked by the shell but not trigger poison.

Tiefeeders need to be especially careful since it is relatively easy to reverse the flow of nrg. This can be diminished somewhat with good coding but the best advice is to use *.refties to select what you TF from. If it is 0 then you probably have a veggie. If it is one then the bot is likely to be a shot-bot and only uses ties for repro purposes. If it is greater than 1 than the bot is either some sort of multi bot or another TFer; if multi then it is "generally" safe to TF but if it is something like Helios than you had better rethink your strategy, if it is another TFer then it is better to go with shots instead.

Then there is efficent hunting techniques. The use of a single .aimsx/aimdx command to cover all the possible turn values. Quite truthfully this was pioneered by PY and then the rest of us borrowed from him. Just take a look at Din(a sort of mishmash combo bot, that combines some of the best abilities of the others.)
While complex this method saves massive amounts of energy, which can be put to far better uses like, for example, utterly destroying your enemies.

Metabilism, no not that discussion taking place elsewhere, but the process of converting body to energy and back again. Here is the basic math: Plants initially contain about 1000 body and some 5000 nrg. But since each body point counts for 10 nrg points there are some 10000 units of nrg locked away there, largely unused by your opponents.

Now that you have it you need to decide at what level to maintain your body at or even inc it during a fight. If your body is maintained too low your bot will be noticably weaker against opponents and children will be virtually defenseless. If it is too high your bot will slow down perhaps too much to compete with the more agile bots sitting directly on its tail.

Defenses, while these are varied there is one important thing to remember,
Never let the cost exceed the gain. Your bot's energy is limited and trying to over-defend will ironically cause it to destroy itself without the opponent ever getting a shot or tie in. There is also the question of counter attacking with viruses, venom, or poisons. My advice is do not try to attack any one target but to randomize your attack pattern to target several different major memcell(shoot, tienum, and repros, memcell 50) are some of the best.

Last take a look at other top bots and the SG's. These are treasure troves of valueable genes and coding strategies (make sure to give credit where due, it makes people happy getting an honorable mention for something they've racked their brains to think of). While this will take time to adapt for your own use, but the bennefits are worth it. When you find something you like test your bot against itself(add something like *.eye5 *.eye5 sub dec) to double check if it is actually working like you want it to.

Have fun designing your own top bot. B)

Endy ;)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Tips
« Reply #1 on: February 21, 2005, 02:26:37 AM »
Good post, but I think, as with all rules of thumb, the exact opposite is true too.

That is, as Ymir demonstrates, (BTW, I uploaded a new Ymir to the database.) if you can defend your resources, never lose a fight, you can reproduce as slowly as you like and you'll eventually win.

If you go that route, though, you must make sure your bots never die.  If you produce lots and lots of baby bots, you can afford to lose a few.

If anyone's played Starcraft, you know that Protoss aren't necessarily stronger than Zerg, or vice versa.  It's all in how the player playing them can handle themselves.
« Last Edit: February 21, 2005, 03:47:02 AM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Tips
« Reply #2 on: February 21, 2005, 09:31:01 AM »
I will have to second the statements made above by Numsgil and Endy.

I have tried almost every conceivable tactic with this and my most successful body managing robot to date has been Destinatus Preliator.

He manages to combine the best of both worlds by starting out small and fast while he is young then steadily conserving more and more energy and body points as he grows older.

This tactic makes him the ideal "comeback Kid". I have often seen him down by a factor of 10:1 or worse yet he still comes back and wins by becoming close to indestructible in his older age.

Other bots have since come along that can beat him but he is still hanging in there near the top of the leagues. DP is probably due for a bit of a makeover but I am going to wait until all the coming changes are implemented first.

 :D  PY  :D
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Tips
« Reply #3 on: February 22, 2005, 05:06:52 PM »
Good point Num about the opposite being true. That is basically the strategy Helios uses and it manages to be a major challenge for Din. I managed to evade and eventually beat it after some 30,000 cy when Helios started reproducing. Insane how difficult it was. :D

Not that I'm complaining but how come Helios isn't in the F1 league, thing is awesome to watch mowing its way through the others.

Endy ;)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Tips
« Reply #4 on: February 22, 2005, 05:21:36 PM »
It will be. Don't worry.

We just aren't upgrading the leagues until V3.0 comes out. All the automated leagues and stuff will just make things SOOOOOO much easier.

You line 'em up and you let 'em go. Come back a few hours later and the whole league is sorted out.

 :D  PY  :D
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Tips
« Reply #5 on: February 22, 2005, 05:23:32 PM »
Quote
If anyone's played Starcraft, you know that Protoss aren't necessarily stronger than Zerg, or vice versa. It's all in how the player playing them can handle themselves.

Do you play it online?

I love Starcraft  B)
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Tips
« Reply #6 on: February 22, 2005, 05:25:01 PM »
Bad me!   :angry:

geting off topic already.

I might have to suspend myself in a minute for board violations.

 :rolleyes:  PY  :rolleyes:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Tips
« Reply #7 on: February 22, 2005, 06:00:50 PM »
I used to play starcraft online but I stopped a while ago.  I got soo good at Protoss rush it wasn't even funny.  Slaughtered most of everyone I played against.  Don't know if I have that skill anymore but the lessons are invaluable to most strategy situations.

Offline Light

  • Bot Destroyer
  • ***
  • Posts: 245
    • View Profile
Tips
« Reply #8 on: February 22, 2005, 07:11:20 PM »
Quote
Not that I'm complaining but how come Helios isn't in the F1 league, thing is awesome to watch mowing its way through the others.
Nice to be appreciated, its odd that it started out more as an experiment but has shown the power of multibots and maybe inspire other people to write some, when I get round to it there are a few improvements I would like to make, but it would be so good to see other multibots being created.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Tips
« Reply #9 on: February 22, 2005, 10:02:33 PM »
Shoot Light, give Helios' babies some slime, waste disposal, and somehow have it reproduce completely/correctly again and that thing would be virtually unstoppable. Going be insane to imagine what will happen when the DNA length is extended.

Although this will mean that the SB's have a chance to use viruses again... :)

Endy ;)