Difference between revisions of "Portia"

From Robowiki
Jump to navigation Jump to search
(Created page with '{{Infobox Robot | name = Portia | image = Portia1p0Paint.jpg | author = Positive | extends = AdvancedRobot | targeting = Semi-…')
 
m (cleanup)
Line 2: Line 2:
 
| name            = Portia
 
| name            = Portia
 
| image          = Portia1p0Paint.jpg
 
| image          = Portia1p0Paint.jpg
| author          = [[Positive]]
+
| author          = [[User:Positive|Positive]]
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
 
| targeting      = Semi-linear targeting
 
| targeting      = Semi-linear targeting
Line 19: Line 19:
  
 
; What's special about it?
 
; What's special about it?
Portia is my first robot, and I'm very proud of it. :)
+
: Portia is my first robot, and I'm very proud of it. :)
  
 
; How competitive is it?
 
; How competitive is it?
We'll see. :)
+
: We'll see. :)
  
== [[melee]] strategy ==
+
== [[Melee]] strategy ==
  
 
; How does it [[Movement|move]]?
 
; How does it [[Movement|move]]?
It simulates enemy bullet fire and danger zones, and tries to avoid them by selecting from different exact movement plots.
+
: It simulates enemy bullet fire and danger zones, and tries to avoid them by selecting from different exact movement plots.
  
 
; How does it fire?
 
; How does it fire?
It uses semi-linear and semi-headon firing. The results vary, and currently it preforms very poor against some bots using [[Oscillator Movement]].
+
: It uses semi-linear and semi-headon firing. The results vary, and currently it preforms very poor against some bots using [[Oscillator Movement]].
  
 
; How does it select a target to attack/avoid in [[melee]]?
 
; How does it select a target to attack/avoid in [[melee]]?
It mainly selects the closest opponent, but it tries not too switch targets too much. If it's near a corner it highly prefers opponents near the same corner.
+
: It mainly selects the closest opponent, but it tries not too 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?
 
; What does it save between rounds and matches?
Between rounds, it saves general linear-targetting info. If an opponent only seems to be shooting with [[Head-On Targeting]] like [[HawkOnFire]], it remembers that between matches.
+
: Between rounds, it saves general linear-targetting info. If an opponent only seems to be shooting with [[Head-On Targeting]] like [[HawkOnFire]], it remembers that between matches.
  
 
== [[One-on-one]] strategy ==
 
== [[One-on-one]] strategy ==
  
 
; How does it [[Movement|move]] in [[One-on-one]]?
 
; How does it [[Movement|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
+
: 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. :)
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?
 
; 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
+
: 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.
high entropy (not many recorded firing angles in the same range), it uses the most recent GF angles instead.
 
  
 
== Additional Information ==
 
== Additional Information ==
  
 
; Where did you get the name?
 
; 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
+
: "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 [http://en.wikipedia.org/wiki/Portia_(spider) here].
and defends itself strategically. I thought that name was a great fit. :) You can read more about the spider [http://en.wikipedia.org/wiki/Portia_(spider) here].
 
  
 
; Can I use your code?
 
; 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. :)
+
: 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?
 
; What's next for your robot?
* Fast trigonometry (it's somewhat slow now and then, and I think the many calls to sin & cos have something to do with it).
+
:
* Better melee targetting
+
:* Fast trigonometry (it's somewhat slow now and then, and I think the many calls to sin & cos have something to do with it).
** Beat simple pattern bots
+
:* Better melee targeting
** Beat oscillerating bots
+
:** Beat simple pattern bots
* Fix collision bug (when it collides, it sometimes tries to move through the opponent at the moment)
+
:** Beat oscillerating bots
* Anything I'm interested in. :)
+
:* Fix collision bug (when it collides, it sometimes tries to move through the opponent at the moment)
 +
:* Anything I'm interested in. :)
  
 
; Does it have any [[White Whale]]s?
 
; Does it have any [[White Whale]]s?
Line 70: Line 67:
  
 
; What's it based on
 
; What's it based on
I've written all the code myself. But I would like to give some credits.
+
: I've written all the code myself. But I would like to give some credits.
 
+
:
* The [[Stop And Go]] was inspired by [[Coriantumr]] by [[Kawigi]].
+
:* The [[Stop And Go]] was inspired by [[Coriantumr]] by [[Kawigi]].
* The sologun has really benefited from his [[GuessFactor Targeting Tutorial]] as well.
+
:* The sologun has really benefited from his [[GuessFactor Targeting Tutorial]] as well.
* The melee dodging is much easier to test thanks to the debugging graphics of [[Gladiator]] by [[User:KID|KID]].
+
:* The melee dodging is much easier to test thanks to the debugging graphics of [[Gladiator]] by [[User:KID|KID]].
* I've found [[Diamond]] by [[User:Voidious|Voidious]] also very usefull to test the solo targetting with because of it's graphics. :)
+
:* I've found [[Diamond]] by [[User:Voidious|Voidious]] also very usefull to test the solo targetting with because of it's graphics. :)
  
 
__NOTOC__  __NOEDITSECTION__
 
__NOTOC__  __NOEDITSECTION__
 
[[Category:MegaBots]]
 
[[Category:MegaBots]]

Revision as of 11:00, 12 July 2009

Portia
Portia1p0Paint.jpg
Author(s) Positive
Extends AdvancedRobot
Targeting Semi-linear targeting
Movement Minimum Risk Movement
Released July 2009
Current Rating None yet
Current Version 1.00
Code License closed
Download

Background Information

What's special about it?
Portia is my first robot, and I'm very proud of it. :)
How competitive is it?
We'll see. :)

Melee strategy

How does it move?
It simulates enemy bullet fire and danger zones, and tries to avoid them by selecting from different exact movement plots.
How does it fire?
It uses semi-linear and semi-headon firing. The results vary, and currently it preforms very poor against some bots using Oscillator Movement.
How does it select a target to attack/avoid in melee?
It mainly selects the closest opponent, but it tries not too 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-targetting 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.

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 here.
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?
  • Fast trigonometry (it's somewhat slow now and then, and I think the many calls to sin & cos have something to do with it).
  • Better melee targeting
    • Beat simple pattern bots
    • Beat oscillerating bots
  • Fix collision bug (when it collides, it sometimes tries to move through the opponent at the moment)
  • Anything I'm interested in. :)
Does it have any White Whales?

At the moment, I hope to make it consistenly defeat GlowBlowMelee and Infinity in melee. And of course, all of the top-10. :P

What's it based on
I've written all the code myself. But I would like to give some credits.