Difference between revisions of "WhiteWhale (robot)"
(Nanorumble stats) |
(→Performance: Rumble stats have stabilized) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | WhiteWhale is a nanobot. It builds on the work from {{OldWiki|Interpreter/NanoInterpreter | NanoInterpreter}}. | |
The robot is in the [http://darkcanuck.net/rumble/RatingsDetails?game=nanorumble&name=kinsen.nano.WhiteWhale%201.0 RoboRumble]. | The robot is in the [http://darkcanuck.net/rumble/RatingsDetails?game=nanorumble&name=kinsen.nano.WhiteWhale%201.0 RoboRumble]. | ||
{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=nanorumble&name=kinsen.nano.WhiteWhale+1.0|rumble=NanoRumble|scorelabel=APS|score=77.96|rank=1st|win=147|loss=4|plrank=1st|glicko2=1938.7|score2label=Survival|score2=89.87}} | {{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=nanorumble&name=kinsen.nano.WhiteWhale+1.0|rumble=NanoRumble|scorelabel=APS|score=77.96|rank=1st|win=147|loss=4|plrank=1st|glicko2=1938.7|score2label=Survival|score2=89.87}} | ||
+ | |||
+ | The current source code can be downloaded from [http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar]. | ||
+ | |||
+ | == Architecture == | ||
+ | The robot understands a very small set of instructions: set, get, subtract, divide, if, call, and characterToInteger (CMD_SET, CMD_IF, CMD_SUBTRACT, CMD_DIVIDE, CMD_IF, CMD_CALL, and CMD_LITERAL). This instruction set provides the foundation for basic mathematical expressions. The expressions use prefix notation (e.g. + 5 2 instead of 5 + 2). | ||
+ | |||
+ | WhiteWhale has a large, but limited memory. The calls to Java functions are stored in STRING_TABLE and the commands are stored in COMMANDS. | ||
+ | |||
+ | The nanobot cannot do anything object-oriented. There is no way to instantiate arbitrary objects. | ||
+ | |||
+ | The architecture has proven to be a bit controversial. | ||
+ | |||
+ | == Performance == | ||
+ | The interpreter robot is quite speedy due to various neat tricks, which you'll have to read the code to find out for yourself. :) Let's just say that it wasn't exactly a fast bot for a very long time. | ||
+ | |||
+ | As far as the nanorumble goes, WhiteWhale beats all the bots except for 1. | ||
[[Category:NanoBots]] | [[Category:NanoBots]] | ||
[[Category:Bots]] | [[Category:Bots]] |
Latest revision as of 07:41, 9 October 2009
WhiteWhale is a nanobot. It builds on the work from NanoInterpreter.
The robot is in the RoboRumble.
NanoRumble ‒ APS: 77.96% (1st), PL: 147-4 (1st), Survival: 89.87%
The current source code can be downloaded from http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar.
Architecture
The robot understands a very small set of instructions: set, get, subtract, divide, if, call, and characterToInteger (CMD_SET, CMD_IF, CMD_SUBTRACT, CMD_DIVIDE, CMD_IF, CMD_CALL, and CMD_LITERAL). This instruction set provides the foundation for basic mathematical expressions. The expressions use prefix notation (e.g. + 5 2 instead of 5 + 2).
WhiteWhale has a large, but limited memory. The calls to Java functions are stored in STRING_TABLE and the commands are stored in COMMANDS.
The nanobot cannot do anything object-oriented. There is no way to instantiate arbitrary objects.
The architecture has proven to be a bit controversial.
Performance
The interpreter robot is quite speedy due to various neat tricks, which you'll have to read the code to find out for yourself. :) Let's just say that it wasn't exactly a fast bot for a very long time.
As far as the nanorumble goes, WhiteWhale beats all the bots except for 1.