Difference between revisions of "Portia"

From Robowiki
Jump to navigation Jump to search
(Fix broken download link)
Line 14: Line 14:
| movement        = [[Minimum Risk Movement|Minimum Risk]], [[WaveSurfing]]
| movement        = [[Minimum Risk Movement|Minimum Risk]], [[WaveSurfing]]
| released        = July 2009
| released        = July 2009
| current_version = 1.25e
| current_version = 1.26e
| license        = closed
| license        = closed
| download_link  = http://www.robocoderepository.com/BotSearch.jsp?botName=Portia
| download_link  = http://robocode-archive.strangeautomata.com/robots/positive.Portia_1.26e.jar
| isOneOnOne      = true
| isOneOnOne      = true
| isMelee        = true
| isMelee        = true

Latest revision as of 03:20, 1 August 2017

Youtube has a video of Portia in action: click here to watch

Version History
Author(s) Positive
Extends AdvancedRobot
Targeting Semi-Circular, GuessFactor, Dynamic Clustering
Movement Minimum Risk, WaveSurfing
Released July 2009
Current Version 1.26e
Code License closed

Background Information

What's special about it for you?
  • Portia is my first competitive public robot
  • Portia is my first big solo project in any language; as of writing the sourcecode spans 111 files and is 453kb in size. :)
How competitive is it?
In melee it's quite competitive. Highest ever in melee was 2nd place (under Shadow) at 13 September 2009.

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?
With circular targeting it selects the closest opponent, with Dynamic Clustering the most hittable opponent.
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?
WaveSurfing only.
How does it fire?
It uses a DC-PIF gun.
What does it save between rounds and matches?
Between rounds it saves its DC tree. Between matches nothing.

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 probably next for your robot?
  • Better handling of rambots
  • Perhaps an anti-surfer and anti-flattener gun
  • Improved wavesurfing
  • Using more area in the melee movement
  • 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?
Diamond and Shadow in melee.
What it's based on
Furthermore, I would like to give some credits for usefull information and tools: