Fhqwhgads

From Robowiki
Revision as of 03:40, 18 August 2017 by MultiplyByZer0 (talk | contribs) (Mass-edit Robocode Repository URLs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Fhqwhgads
Author(s) Kawigi
Extends AdvancedRobot
Targeting GuessFactor Targeting
Movement Random Movement
Current Version 1.1
Code License Custom
Download

Background Information

Fhqwhgads is the first robot made by Kawigi since he started doing the Flood series that completely ignores his enemies firing in reference to when he chooses to change direction and such. He doesn't ignore the power with which they are firing, he just doesn't react to the firing time at all. It's a MiniBot using FloodMini's gun.

Fhqwhgads loves Strong Bad, so she (it's a girl's name) will cling to Strong Bad if she sees him. Make a robot called StrongBad and see what I mean :-p. The movement is small, so I had plenty of room to just cram something stupid in there like that.

What's special about it?
To quote David Alves, it moves the same against SittingDuck as it does against SandboxDT. Roughly, anyways.
How competitive is it?
I think it should be a quality bot - it will probably open 1-on-1 in the ER and the RO in the top 10. The movement is good, and the gun is tried and true.

Strategy

How does it move?
It orbits its enemy in one direction for a random amount of time up to the amount of time a bullet from the enemy would take to reach it. At that point, it changes direction about half the time. The distribution of the 'distance function' is uniform, so if I always changed direction afterward, I'd probably have a Bell curve for a movement profile. Doing it this way, I have a bell curve and a half of a bell curve to the right of the original one, which results in a reasonably flat profile. It is amazingly simpler to tweak this movement than the FloodMovement, because if I move independently of individual bullets (except for the power of the last one fired), my profile should look roughly the same to about every bullet, regardless of how many there are. That was my goal with this robot - rather than having the super-duper-flattest movement, it is meant to have a good movement that is pretty much equally strong at all distances.
How does it fire?
It uses a variation of GuessFactor Targeting ported over from FloodMini. It segments its statistics on its opponent's relationship to the wall, acceleration, lateral velocity, and distance.
How does it dodge bullets?
It completely ignores them. To help create a uniform profile, though, it knows when the bullets are fired and remembers the power of the last bullet fired by its opponent.
How does the melee strategy differ from one-on-one strategy?
It doesn't have a Melee strategy, it does have a one-on-one strategy. That's a pretty big difference.
How does it select a target to attack/avoid in melee?
Dumb luck, if anything.
What does it save between rounds and matches?
It saves its statistics and Dynamic Distancing factors between rounds and matches.

Additional Information

Where did you get the name?
It's short for Fhqwhgadshgnsdhjsdbkhsdabkfabkveybvf. Oh, and it's pronounced "Fuh-HOO-ku-gahdz". Of course, you can get that from just about any online urban dictionary. For those of you who aren't familiar with Homestar Runner, and you don't want to familiarize yourself too much, but you want in on the joke, then look at these pages (in this order, preferably) to get a general order of the state of the Fhqwhgads: [1] [2] [3]
I'm somewhat determined that it is the single most difficult name to spell among robots in current development.
Can I use your code?
Yes, as long as you don't make a robot that can beat any of mine. Ummm... just kidding. If you do make a robot that's better than mine using my own code, though, I'd like you to let me know and make your robot open source as well.
What's next for your robot?
Maybe some tweaking, find something more useful to do with the extra code-space.
Does it have any White Whales?
Eh, not really. I made it in one day, so it hasn't had time to have any White Whales.
What other robot(s) is it based on?
FloodMini

Version History

  • Version 1.0 - first version, I think the movement came out well and strong. If I tweak the gun to be more coherent against the dev version of FloodMini, it beats it by a small margin.
    • Takes second place in season 14 of the Robocode Outpost Pro league! This is incredible! It beat FloodHT (don't plan on that anymore once FloodHT gets more familiar with Fhqwhgads), and edged him out of second for the week, and actually was less than 800 points shy of taking the title from SandboxDT! Now THAT's exciting.
  • Version 1.1 - wow, all that stuff I always wanted to have in FloodMini but was afraid to fit. I went ahead and took out dynamic distancing and kept only pretty simple distancing in place. That opened up space to make the new Fhqwhgads melee aware (although I didn't put an actual melee *strategy* in there, it can basically just beat other one-on-one MiniBots in melee), give it two "Virtual Guns" (one that fires a wave every scan and one that only fires a wave when it fires a bullet), and so all-in-all, it saves 4 times as much information as FloodMini does now, because it's saving constantly compiled and shot-only stats for both melee and one-on-one against every enemy. Of course, if it's never seen the enemy in melee, the 0's compress nicely. It also doesn't use exception handling to qualify its waves anymore (it took some space to do this without having him still crash about once every 50 rounds or so). On my system, it appears to run at least 3 times faster, and I'm sure it will run exceptionally faster on other operating systems/JVM's than version 1.0 (much to PEZ's delight). While this was a minor change for me, it was the driving force behind the release. Still has colors :-) Includes a little more ugly code :-(
    • Takes second in the MiniBot Challenge 20030802, beating everyone FloodMini lost to and then losing to FloodMini.
    • Falls to 8th place in the RO Pro league (season 15). This was expected, as it is less aggressive and will tend to play lower scoring battles now. It still had better survival than FloodMini 1.3, who came in 3rd.
    • Fhqwhgads finally gets onto the ER. He didn't start in the top 10, but I'll make an excuse for my mis-prediction. First of all, the dynamics of the top 10 have changed since I made that prediction - CigaretST wasn't ranked, Sedan and BlestPain didn't exist, and there were only 6 bots with a rating above 1800. Now there are 11 bots with a rating above 1800, and this is one of them. It's also 4th among MiniBots, behind Sedan, FloodMini, and Cigaret. The top 10 minis look like a big contest between Iiley and I now, with Rozu's GlowBlowAPM stuck in the middle of us.