.. err, Lothrik.
748 bytes out of 749 bytes used.
- Removed all melee logic, this is now a 1 vs 1 bot only.
- Replaced it with Anti-RamBot trickery to improve score.
- Improved energy management and logic, now wins against bots he used to be able to, pre-1.0.
- Reduced codesize down to 727.
- Tweaked movement, and brought up score against several test bots.
- Improved anti-HOT, or rather, added it in the first place.
- Huge improvement compared to 1.03, which, unfortunately reduced Lothrik's score.
- Improved aiming and movement, scrapping most of the changes between 1.01 - 1.03.
- Codesize jumps back up to 749 bytes.
- Improved Anti-RamBot logic, now saves RamBot status between rounds, improving score.
- Codesize dropped down to 748 bytes.
- Anti-RamBot logic now only activates if rammed on the first round.
- Had to use dark magic to keep the filesize under 749 bytes :)
- Fixed the random exceptions that were occuring in the last version.
- Codesize dropped down to 735 bytes, I now have some room to play with.
What's special about it?
Just your average MicroBot
, designed to 1-UP yours.
Great, I want to try it. Where can I download it?
How competitive is it?
You can check his ranking for yourself, [overview]
, and [details]
How does it move?
, he uses StopAndGo
movement, and if that doesn't work, he switches to random FlatMovement
How does it fire?
Fairly simple GuessFactorTargeting
, at least compared to MiniBots
Lothrik tries to dodge HeadOnTargeting
How does the melee strategy differ from one-on-one strategy?
What's this melee you speak of?! .. Perhaps for a MiniBot
How does it select a target to attack/avoid in melee?
It doesn't, if it sees you, it shoots you. Simple.
What does it save between rounds and matches?
Other than guess factor data, and only between rounds, Lothrik doesn't save anything useful. I'd love to save all sorts of information, but it IS a MicroBot
you know.. 749 bytes isn't exactly enough to squeeze that kind of code in.
Where did you get the name?
It's.. MY name. If you ever saw Lothrik anywhere else, it was me. Nobody used this name before me. Ever. Honest. Alright, I'll tell you where the name came from. A friend of mine began playing a game called Face of Mankind (back in beta, when it was free), and suggested I try it. I ended up getting to the point where I had to choose a name, and it wanted a first name, and a last name. I obviously wasn't going to use my real name, since this was a space game, and my last name would sound LAME :) -- so I googled a random name generator, took two names it generated, replaced one letter, and removed a C. That's how I got the name Lothrik, which (oddly) is a combination of Sloth + Rick.
Can I use your code?
What's next for your robot?
I'll find something to improve, until then, colors!
I guess. Make it your goal to make a bot that can beat mine (and better than 60% of the time, too).
What other robot(s) is it based on?
Comments, questions, feedback:
I'm getting a little suspicious that Lothrik is using code directly taken from my bot Thorn.
- Lothrik never switches movement modes after round 5, and travels a distance of 48 for its StopNGo movement (like Thorn).
- Lothrik starts off turning its radar left (like Thorn) instead of right like most other bots.
- The comparison sheets between Lothrik and Thorn seem too similar to be coincidence: http://rumble.fervir.com/rumble/RatingDetailsComparison?game=microrumble&name1=mjb.Lothrik%201.04&name2=kc.micro.Thorn%201.142
- The variable names "enemyEnergy," "lastEnemyBulletSpeed?," "lastEnemyVelocity?," "moveFactor," "ESCAPE_ANGLE," "AIM_FACTORS," "MIDDLE_FACTOR," "movementMode", and "data" appearing in decomplied code from Lothrik all come from Thorn. It looks like they might have been copy-pasted.
I don't mind you using my code (although I prefer no copy-pasting), as long as you give credit and make your bot open source. See the RWPCL for the details of code release. Sorry if I sound upset, but its frustrating to see people take advantage of OpenSource bots. -- Kev
- Man that side by side comparison speaks volumes. It is the same bot. Did he even bother to change the paint job? -- Martin
Sorry if I gave you the wrong impression of myself Kev, I don't want any bad karma around here: I just never paid attention to the licensing (or even read it, at all), I'll go and release the source with 1.05. I definitely took more than a few 'pointers' from several bots. I always seem to drift towards that in a codesize limited environment, especially when there's a better way to do something already waiting around the corner. -- MaXiMiUS
I'm very impressed that you've managed to squeeze a couple more points out of Thorn. However, Lothrik looks just like that: another version of Thorn. It isn't even a big update. The only difference I see in side by side comparison is a change in the ram detection. Everything else looks copy-pasted, and I can't even tell how Raiko and GFTargetingBot influenced it. I spent a lot of work building Thorn from the ground up, and I think its much more rewarding and educational if you create something original. It's very frustrating to see you jump ahead of all that time and effort by altering my code a little. I would appreciate it if you at least released it under the wiki package, since I think I wrote more of Lothrik than you did. You might want to look at the Krillr/DoctorWho page for a similar situation. -- Kev
If I can push him into The2000Club/Micro, I'd rather not put him under the wiki package (being quite the accomplishment), otherwise I think I'll do that. I'm trying to make the code as different as possible from your original code, and it was not originally based on your code -- it just happens that you have a very good way of doing it in 749 bytes -- I started off of code from Raiko and GFTargetingBot, before I even saw Thorn, which is how they influenced it. They're how I began to understand the relevant concepts. -- MaXiMiUS
Sorry if I sounded rude earlier there. The thing is, if you keep using Thorn's code I'm going to have to make it closed source to keep it competitive. Why don't you make up your own type of mode switching, random movement, and distancing? Or try new segmentation for the guess factor gun? It's OK if your bot isn't the best out there. I would rather see you write something new instead of using Thornís code just because itís good. Thorn's gun and movement are both strong, but they're the result of hours of work and over a year of experience. And by no means do I think Thorn is using the "best" possible gun and movement, maybe you could write something better yourself. You obviously have a talent for robocode, and I bet you could work your way up to the top without using so much of my code. Ė Kev