Difference between revisions of "Neuromancer"

From Robowiki
Jump to navigation Jump to search
(Here is an open source version, pardon the messy code)
m (Update version and link)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Infobox Robot
 
{{Infobox Robot
| bgcolour        =
 
 
| name            = Neuromancer
 
| name            = Neuromancer
| altimage        =
 
| image          =
 
| imagesize      =
 
| caption        =
 
 
| author          = [[User:Skilgannon]]
 
| author          = [[User:Skilgannon]]
 
| extends        = [[AdvancedRobot]]
 
| extends        = [[AdvancedRobot]]
 
| targeting      = Shadow-style melee gun, PIF logging into circular VCS bins
 
| targeting      = Shadow-style melee gun, PIF logging into circular VCS bins
 
| movement        = Melee [[Wave Surfing/Go To]] with [[Dynamic Clustering]], logged into circular VCS bins
 
| movement        = Melee [[Wave Surfing/Go To]] with [[Dynamic Clustering]], logged into circular VCS bins
| released        =
 
 
| best_rating    = 1st in MeleeRumble
 
| best_rating    = 1st in MeleeRumble
| rating          =
+
| current_version = 7.1
| current_version =  
+
| download_link  = http://robocode-archive.strangeautomata.com/robots/jk.melee.Neuromancer_7.1.jar
| license        =
+
| isOpenSource    = yes
| download_link  =  
+
| isMelee        = yes
| source_link    = https://dl.dropboxusercontent.com/u/4066735/jk.melee.Neuromancer_4.6open.jar
+
| isOneOnOne      = yes
 
}}
 
}}
  
Line 47: Line 41:
 
* Using waves with an uncertainty width, rather than just a single-tick-wide wave.
 
* Using waves with an uncertainty width, rather than just a single-tick-wide wave.
 
* Branching the movement at each wave crossing, to allow multiple waves to be correctly surfed, rather than the current [[CassiusClay]] style multi-wave surfing.
 
* Branching the movement at each wave crossing, to allow multiple waves to be correctly surfed, rather than the current [[CassiusClay]] style multi-wave surfing.
* Tuning and adding/removing attributes in the gun and movement.
+
* Tuning and adding/removing attributes in the gun and movement, and layering different views for a more diverse stats system
* Try to get radar scans to line up with gunheat-0  
+
* Try to get radar scans to line up with both enemy gunheat-0 and who I am targeting when my gunheat is 0
 
* Use post-fire-data to figure out more details about where and when (and IF) enemies fired
 
* Use post-fire-data to figure out more details about where and when (and IF) enemies fired
* <strike>Double-checking the gun physics - my spidey-sense is tingling</strike> Got 'm!
+
* Slowing down when turning hard - new debugging graphics make it obvious there is potential here
 +
* Improving 1v1 PWin
 +
* Improving early-round melee movement when there are lots of enemies
 +
 
 +
This list only seems to get longer the more things I do...
  
 
==== Does it have any [[WhiteWhale]]s? ====
 
==== Does it have any [[WhiteWhale]]s? ====

Latest revision as of 11:17, 30 November 2017

Neuromancer
Author(s) User:Skilgannon
Extends AdvancedRobot
Targeting Shadow-style melee gun, PIF logging into circular VCS bins
Movement Melee Wave Surfing/Go To with Dynamic Clustering, logged into circular VCS bins
Best Rating 1st in MeleeRumble
Current Version 7.1
Download

Most Recent Updates

Check out /Version History

What's special about it?

It does a nice job of surfing in a melee setting, which scales smoothly back to 1v1 surfing.

How competitive is it?

1st in Melee, so it currently sets the standard for Melee state of the art.

How does it dodge bullets?

By keeping tabs on which angles (actually Guess Factors) the enemy is most likely to shoot at in different circumstances, and avoiding them

What does it save between rounds and matches?

Between rounds it saves all the surfing and targeting data, between matches nothing

Where did you get the name?

Neuromancer is the name of an AI in a book titled, fittingly, "Neuromancer". I also think it sounds awesome, and it sort-of follows the nounverber pattern I've used in a few of my other bots (Waylander, Stormrider)

Can I use your code?

Sure, but under the following terms:

  • Your bot MUST be OpenSource.
  • You give credit in your code, and in any documentation of your bot.
  • Pleeaase don't just take my bot, tweak it and release it under another name. Rather tell me about the changes, and I'll give you credit. =)
  • Use of this code without my personal permission in ANY competition WHATSOEVER is strictly prohibited (an exception being the Roborumble)

What's next for your robot?

  • Using waves with an uncertainty width, rather than just a single-tick-wide wave.
  • Branching the movement at each wave crossing, to allow multiple waves to be correctly surfed, rather than the current CassiusClay style multi-wave surfing.
  • Tuning and adding/removing attributes in the gun and movement, and layering different views for a more diverse stats system
  • Try to get radar scans to line up with both enemy gunheat-0 and who I am targeting when my gunheat is 0
  • Use post-fire-data to figure out more details about where and when (and IF) enemies fired
  • Slowing down when turning hard - new debugging graphics make it obvious there is potential here
  • Improving 1v1 PWin
  • Improving early-round melee movement when there are lots of enemies

This list only seems to get longer the more things I do...

Does it have any WhiteWhales?

Diamond really stomps me in the endgame, so some sort of flattening and adaptive targeting may be helpful. Or just taking out Diamond earlier in the game before I have to face it 1v1...

What other robot(s) is it based on?

Some of the goto stuff is based on DrussGT. I've perused Shiz and HawkOnFire but none of the code was directly used, just ideas from what I learned.

It takes the targeting idea of 'everybody at once' from Shadow.