Difference between revisions of "Portia"

From Robowiki
Jump to navigation Jump to search
(What's next? updated)
(Added youtube url)
Line 18: Line 18:
| isOpenSource    = false
| isOpenSource    = false
== Video's and pictures ==
:* A melee battle on youtube with Portia's debugging graphics [http://www.youtube.com/watch?v=CjYY_snNqgc click here].
== Background Information ==
== Background Information ==

Revision as of 23:53, 13 August 2009

Version History
Author(s) Positive
Extends AdvancedRobot
Targeting Semi-Circular, GuessFactor, Dynamic Clustering
Movement Minimum Risk, Stop And Go, Random
Released July 2009
Current Version 1.13
Code License closed

Video's and pictures

  • A melee battle on youtube with Portia's debugging graphics click here.

Background Information

What's special about it?
Portia is my first robot, and I'm very proud of it. :)
How competitive is it?
In melee it's quite competitive. :) In solo it's not.

Melee strategy

How does it move?
For each opponent, if Portia detects an enemy energy drop, linear and/or headon shots are simulated from the guessed enemy fire turn and position. Portia tries to avoid simulated shots, and also tries to never be the closest opponent to any enemy. Portia remembers the enemy energy drops, and correlates hits to itself to them.
How does it fire?
Portia has different methods, which are marked by color (if you turn on Paint)
How does it select a target to attack/avoid in melee?
It mainly selects the closest opponent, but it tries not to switch targets too much. If it's near a corner it highly prefers opponents near the same corner.
What does it save between rounds and matches?
Between rounds, it saves general linear-targeting info. If an opponent only seems to be shooting with Head-On Targeting like HawkOnFire, it remembers that between matches.

One-on-one strategy

How does it move in One-on-one?
Until the end game, it first tries to use Stop And Go-like movement, and if the opponent seems to catch on it switches to Random Movement. At the end game, it will try to get very close to the opponent to give the final blow. :)
How does it fire?
It uses an ultra-fast decaying GF gun. If the current GF-bin doesn't have a lot of data, or has high entropy (not many recorded firing angles in the same range), it uses the most recent GF angles instead.
What does it save between rounds and matches?
Between rounds it saves targeting info if the match started with only one opponent. Otherwise it saves nothing. It saves nothing between matches.

Additional Information

Where did you get the name?
"Portia" is the name of a spider I'm somewhat fascinated with. The spider is extremely intelligent (considering its size & that it's a spider): it can hunt using a plethora of methods, and attacks and defends itself strategically. I thought that name was a great fit. :) You can read more about the spider on Wikipedia.
Can I use your code?
At the moment I'm keeping it closed source. Turn on paint to get an idea what it's thinking though. :)
What's next for your robot?
  • I'm thinking that, when it's down to 1 on 1, Portia could preform a lot better. The thing is that conventional "slow-learning" methods aren't very good when you're not facing the same opponent much. I'm brewing some ideas, but any tips are welcome. :)
  • After Voidious' success with it (!), maybe some modifications in bullet-power-selection. Currently the bullet power of the DC-gun is only based on the energy and distance of the opponent.
  • Better guessing of who's firing at Portia in melee.
  • Lobbying to get the army to develop a real tank that uses Portia's code.
  • Anything interesting I hear or find out about. :)
Does it have any White Whales?
Not really at the moment.
What's it based on
I've written all the code myself. But I would like to give some credits for usefull information and tools: