Difference between revisions of "DeBroglie"
Jump to navigation
Jump to search
(Some updates, including White Whale entry on Dookious.) |
m (rank update) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
| targeting = [[Dynamic Clustering|DC]] - [[GuessFactor|Guess Factors]] | | targeting = [[Dynamic Clustering|DC]] - [[GuessFactor|Guess Factors]] | ||
| movement = [[Dynamic Clustering|DC]] - [[Wave Surfing]] | | movement = [[Dynamic Clustering|DC]] - [[Wave Surfing]] | ||
− | | current_version = | + | | current_version = rev0108 |
− | | best_rating = | + | | best_rating = [[RumbleArchives:RoboRumble 20120723|31]] |
− | | license = [[ | + | | download_link = https://dl.dropboxusercontent.com/u/75978227/tjk.deBroglie_rev0108.jar |
+ | | license = [[ZLIB|zlib]] | ||
}} | }} | ||
Line 23: | Line 24: | ||
; What's special about it? | ; What's special about it? | ||
− | : The targeting and movement draw on a central Universe object that contains the entire situational picture, with a Bot object that represents each robot on the field | + | : The targeting and movement draw on a central Universe object that contains the entire situational picture, with a Bot object that represents each robot on the field. |
; How competitive is it? | ; How competitive is it? | ||
− | : | + | : rev0108 is in the upper 40s in the [http://literumble.appspot.com/Rankings?game=roborumble RoboRumble] and middle of the pack in the [http://literumble.appspot.com/Rankings?game=gigarumble GigaRumble]. |
== Strategy == | == Strategy == | ||
; How does it [[Movement|move]]? | ; How does it [[Movement|move]]? | ||
− | : [[Wave Surfing]], based | + | : [[Wave Surfing]], using data stored in [[Dynamic Clustering|a kD tree]] with [[Waves/Precise_Intersection|precise intersection]]. The algorithm is [[Wave Surfing/True Surfing|true surfing]] based on concepts in the [[Wave Surfing Tutorial|wave surfing tutorial]]. |
; How does it fire? | ; How does it fire? | ||
− | : [[GuessFactor Targeting]] using [[Dynamic Clustering|a kD tree to store data.]] [[Waves/Precise_Intersection|Precise intersection]] is used to determine the fire angles that would have hit. | + | : [[GuessFactor Targeting]] using [[Dynamic Clustering|a kD tree to store data.]] [[Waves/Precise_Intersection|Precise intersection]] is used to determine the fire angles that would have hit. Several different targeters are used in a [[Virtual Guns]] array. The best gun to use is chosen via a [[wikipedia:Condorcet method|Condorcet]] vote. |
; What does it save between rounds and matches? | ; What does it save between rounds and matches? | ||
Line 42: | Line 43: | ||
; Can I use your code? | ; Can I use your code? | ||
− | : | + | : DeBroglie is an open source bot available under the [[ZLIB|zlib license]]. A few files here and there have an extra clause attached. |
; What's next for your robot? | ; What's next for your robot? | ||
− | : | + | : Nothing. Development on deBroglie has ended. A few big chunks of the code will live on in [[User:Tkiesel/Copernicus|Copernicus]]. |
− | |||
− | |||
− | |||
− | |||
; What other robot(s) is it based on? | ; What other robot(s) is it based on? | ||
− | : All code written by others is under | + | : All code written by others is under some form of permissive open source license. |
− | :*The kD tree is written by [[User:Rednaxela|Rednaxela | + | :*The [https://bitbucket.org/rednaxela/knn-benchmark kD tree] is written by [[User:Rednaxela|Rednaxela]]. License: as-is with attribution. |
:*The [[User:Rednaxela/FastTrig|FastTrig lookup table and methods]] are written by a host of amazing folks at this wiki, starting with [[User:Rednaxela|Rednaxela]], but including [[User talk:Rednaxela/FastTrig|other great Robocode luminaries]]. | :*The [[User:Rednaxela/FastTrig|FastTrig lookup table and methods]] are written by a host of amazing folks at this wiki, starting with [[User:Rednaxela|Rednaxela]], but including [[User talk:Rednaxela/FastTrig|other great Robocode luminaries]]. | ||
− | :*Parts of the precise prediction are accomplished with the help of [http://www.openprocessing.org/visuals/?visualID=8009 code] originally by [http://local.wasp.uwa.edu.au/~pbourke/geometry/sphereline/raysphere.c Paul Bourke], adapted by [http://www.openprocessing.org/portal/?userID=54 REAS @ OpenProcessing.org] and further adapted by me. This code determines if a line segment and a circle intersect. License: [http://creativecommons.org/licenses/by-sa/3.0/us/ CC-by-sa 3.0] | + | :*Parts of the precise prediction are accomplished with the help of [http://www.openprocessing.org/visuals/?visualID=8009 code] originally by [http://local.wasp.uwa.edu.au/~pbourke/geometry/sphereline/raysphere.c Paul Bourke], adapted by [http://www.openprocessing.org/portal/?userID=54 REAS @ OpenProcessing.org] and further adapted by me. This code determines if and where a line segment and a circle intersect. License: [http://creativecommons.org/licenses/by-sa/3.0/us/ CC-by-sa 3.0] |
+ | :*The gun ranking uses [http://code.google.com/p/voteutil/ voteutil] by Brian Olson. It is available under the [http://www.gnu.org/licenses/lgpl.html LGPL version 3]. | ||
+ | :*The movement uses the wonderful setBackAsFront() method from [[User:Voidious|Voidious']] [[Wave Surfing Tutorial]]. Great piece of code! | ||
[[Category:Bots|DeBroglie]] | [[Category:Bots|DeBroglie]] |
Latest revision as of 19:03, 18 November 2014
- Sub-pages:
- Version History - Archived Talk 2010
deBroglie | |
Louis de Broglie, winner of the 1929 Nobel Prize for Physics | |
Author(s) | Tkiesel |
Extends | AdvancedRobot |
Targeting | DC - Guess Factors |
Movement | DC - Wave Surfing |
Best Rating | 31 |
Current Version | rev0108 |
Code License | zlib |
Download |
Background Information
- Where did you get the name?
- This is my first wave surfing bot, and I'm a physicist by training, so it's named in honor of Louis de Broglie, who discovered that matter has wavelike properties. This was a foundational discovery in Quantum Mechanics. In 1929 de Broglie received the first ever Nobel Prize given to a student thesis.
- What's special about it?
- The targeting and movement draw on a central Universe object that contains the entire situational picture, with a Bot object that represents each robot on the field.
- How competitive is it?
- rev0108 is in the upper 40s in the RoboRumble and middle of the pack in the GigaRumble.
Strategy
- How does it move?
- Wave Surfing, using data stored in a kD tree with precise intersection. The algorithm is true surfing based on concepts in the wave surfing tutorial.
- How does it fire?
- GuessFactor Targeting using a kD tree to store data. Precise intersection is used to determine the fire angles that would have hit. Several different targeters are used in a Virtual Guns array. The best gun to use is chosen via a Condorcet vote.
- What does it save between rounds and matches?
- Nothing between matches. Between rounds all surfing and targeting data is saved.
Additional Information
- Can I use your code?
- DeBroglie is an open source bot available under the zlib license. A few files here and there have an extra clause attached.
- What's next for your robot?
- Nothing. Development on deBroglie has ended. A few big chunks of the code will live on in Copernicus.
- What other robot(s) is it based on?
- All code written by others is under some form of permissive open source license.
- The kD tree is written by Rednaxela. License: as-is with attribution.
- The FastTrig lookup table and methods are written by a host of amazing folks at this wiki, starting with Rednaxela, but including other great Robocode luminaries.
- Parts of the precise prediction are accomplished with the help of code originally by Paul Bourke, adapted by REAS @ OpenProcessing.org and further adapted by me. This code determines if and where a line segment and a circle intersect. License: CC-by-sa 3.0
- The gun ranking uses voteutil by Brian Olson. It is available under the LGPL version 3.
- The movement uses the wonderful setBackAsFront() method from Voidious' Wave Surfing Tutorial. Great piece of code!