Difference between revisions of "SimpleBot"

From Robowiki
Jump to navigation Jump to search
m (update credits)
 
(23 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
| parent = SimpleBot
 
| parent = SimpleBot
 
| page1 = Version History
 
| page1 = Version History
 +
| page2 = Understanding SimpleBot
 
}}
 
}}
  
[[Category:Bots|SimpleBot]]
 
[[Category:MegaBots|SimpleBot]]
 
  
 
== Background Information ==
 
== Background Information ==
 +
;
 +
 +
 +
: Simplicity does not precede complexity, but follows it. — Alan Perlis
 +
  
 
; What's special about it?
 
; What's special about it?
: SimpleBot is very simple, it starts to be a reference bot I created to test my [[WaveSurfing]] implementation by firing HOT while moving forever. Soon I found that SimpleBot is deadly simple, therefore I decided to give up anything overcomplex I've created and start from scratch with SimpleBot. And SimpleBot is my first bot in [[RoboRumble]].
+
: ''It's simple. ''
  
 
== Strategy ==
 
== Strategy ==
  
 
; How does it [[Movement|move]]?  
 
; How does it [[Movement|move]]?  
 
+
: ''kNN GuessFactor WaveSurfing. ''
: <s>Very simple, just circle around enemy forever ;)</s> Starting from 0.02, a simple [[WaveSurfing]] that dodge randomly selected history GuessFactor has been added.  
 
  
 
; How does it [[Targeting|fire]]?
 
; How does it [[Targeting|fire]]?
 
+
: ''kNN GuessFactor Targeting. ''
: Fire randomly based on recorded [[GuessFactor]]. It works surprisingly well that it outperformed VCS without segmentation against a lot of bots, such as [[RaikoMicro]].  
 
  
 
; What does it save between rounds and matches?
 
; What does it save between rounds and matches?
 
+
: ''Between matches: Nothing.''<br>
: Between matches: Nothing.<br>
+
: ''Between rounds: Everything.''
: Between rounds: Everything.
 
  
 
== Additional Information ==
 
== Additional Information ==
  
 
; Where did you get the name?
 
; Where did you get the name?
 
+
: ''For it's simple. ''
: For it's simple.  
 
  
 
; Can I use your code?
 
; Can I use your code?
 +
: ''Sure. The repository is [https://github.com/bumfo/SimpleBot here], which is released under [https://www.gnu.org/licenses/gpl-3.0.en.html GPLv3]''
  
: Not yet ;)
+
; What's next for your robot?
 +
: ''Robocode is just another name of movement. ''
 +
:* ''<s>Movement rework.</s> It will be another bot ;) (Now [[ScalarBot]])''
 +
:* ''<s>Open source to everyone.</s> done.''
  
; What's next for your robot?
+
; What other robot(s) is it based on?
 +
: ''As my "make it work" step, it's basically my trial of several [[Innovations since 2005|modern techniques]]. Thus no code from others are used, except for "getNewVelocity" and related functions, which have to be exactly the same as the robocode engine (as long as I don't control velocity all by myself). Credits will give to —''
 +
:* ''[[ABC]], who invented [[WaveSurfing]] which is now a must have of modern robots. ''
 +
:* ''[[Paul Evans]], for his excellent idea of [[GuessFactor]], without which the power of [[kNN]] can never be explored fully. ''
 +
:* ''[[Corbos]], for introducing [[kd-tree|kd-trees]] to the community. ''
 +
:* ''[[Voidious]], for the innovation of precisely surfing multiple waves, and also the invention of the [[Non-explicit Dive Protection]]. ''
 +
:* ''[[Voidious]], [[Skilgannon]] and [[User:Positive|Positive]] for the brilliant [[User:Voidious/Optimal_Velocity#Hijack_2 | getNewVelocity]] code. ''
  
:*Tune gun against [[RaikoMicro]]
+
: ''And finally thanks Mathew A. Nelson for inventing [[Robocode|this game]], and Flemming N. Larsen for maintaining the project even in today. ''
:*<s>Add simple [[WaveSurfing]]</s> done.
 
  
; What other robot(s) is it based on?
+
__NOTOC__ __NOEDITSECTION__
  
: None, it was started from scratch, without using/reusing any code from anyone, including myself.
+
{{Template:Bot Categorizer|author=Xor|isMega=true|isOneOnOne=true|isMelee=false|isOpenSource=true|extends=AdvancedRobot}}

Latest revision as of 06:13, 10 October 2017

SimpleBot Sub-pages:
Version History - Understanding SimpleBot


Background Information


Simplicity does not precede complexity, but follows it. — Alan Perlis


What's special about it?
It's simple.

Strategy

How does it move?
kNN GuessFactor WaveSurfing.
How does it fire?
kNN GuessFactor Targeting.
What does it save between rounds and matches?
Between matches: Nothing.
Between rounds: Everything.

Additional Information

Where did you get the name?
For it's simple.
Can I use your code?
Sure. The repository is here, which is released under GPLv3
What's next for your robot?
Robocode is just another name of movement.
  • Movement rework. It will be another bot ;) (Now ScalarBot)
  • Open source to everyone. done.
What other robot(s) is it based on?
As my "make it work" step, it's basically my trial of several modern techniques. Thus no code from others are used, except for "getNewVelocity" and related functions, which have to be exactly the same as the robocode engine (as long as I don't control velocity all by myself). Credits will give to —
And finally thanks Mathew A. Nelson for inventing this game, and Flemming N. Larsen for maintaining the project even in today.