From Robowiki
Jump to navigation Jump to search


Thread titleRepliesLast modified
AgentSmith 0.2 's kd-tree320:01, 30 July 2015
DangerPrediction2917:11, 3 December 2013
Targeting Challenge114:28, 18 March 2013

AgentSmith 0.2 's kd-tree

Why does AgentSmith 0.2 use Skilgannon's kd-tree in it. It's license says You must give appropriate credit.

Tmservo (talk)03:02, 23 July 2015

Oversight, thanks for pointing this out. Credit has now been given on my robots page! :)

Wolfman (talk)09:45, 23 July 2015

Also why is Your version of Skilgannon's kd-tree different.

Tmservo (talk)19:19, 30 July 2015

I'm not sure why you care so much about this, or even why you have bothered checking? You'll get more use out of making your own bot better rather than diffing checking other robots classes against the originals.

But I think the only change is I have changed the package namespace to fit in with the name spacing of my robot. Its been about a year since I put this in my bot as I took a long break. Can you stop looking at the innards of my bot please, its kind of disrespectful. If I wanted people to see things I'd do write ups on the robowiki of the teqniques I have used (and I probably will once I am happy with my implementations) but I would expect others to implement the techniques in their own way rather than copying from source of others.

Other people are happy to share code which is fine, I have no problems using open source code and code examples from the wiki & web. But for now my bot code is not open. If you want to know details of techniques or want tips feel free to ask some SPECIFIC questions and I will do my best to answer. I'll probably not respond to any more questions like this.

Thanks, -wolfman

Wolfman (talk)20:01, 30 July 2015


Edited by author.
Last edit: 21:51, 28 November 2013

what is DangerPrediction and how does it work

Tmservo (talk)02:24, 27 November 2013

From the sounds of it his "DangerPrediction" is very similar to MinimumRiskMovement, except he evaluates the danger along every point in a route. Which is very similar to WaveSurfing except without waves. He would have to have some other method for calculating the risk however.

Also, not sure how those images prove that the robot is open source. The source being in the Jar and a FLOSS License is usually sufficient.

Chase05:59, 27 November 2013

Please stop posting images, they are of no help. Also Robocode cannot `decompile` anything.

Open Source does not refer to the availability of the source code, but the rights given by the author on how that code can be used. In short, it doesn't matter if the source is included in the JAR or not. Since Wolfman has not designated a license (that I can find), this source is copyrighted (closed source) by default.

Chase07:22, 27 November 2013

Yup its closed source, I didn't realise that Robocode packed source with the robot by default - how do people stop this?

I'm not too bothered with people looking at the code, I did say I would write some more details on how I did the movement once I had it working better against more complicated guns, but I don't want people just copying my hard work directly line for line!

Once I've written it up people can re-implement it if they choose but Chase has it pretty much working correctly. I do use gun-waves to keep track of enemy bullet positions, not guess-factors. I'm not sure if it will ever be as effective as true wave surfing but it should work in melee without any alteration as long as I generate waves and bullet positions for all bots not just one target!

Wolfman (talk)10:10, 27 November 2013

There should be a checkbox for including the source when you go to package the robot. Gun-waves usually refer to the waves your gun creates for targeting purposes. I think the other is usually just referred to as enemy waves.

But it is possible to use waves without guess factors, but it makes the process more complicated.

Chase01:38, 28 November 2013

too late i secretly put up the open source version of Agent Smith on 2shared

Tmservo (talk)02:36, 28 November 2013

There's one rule at the wiki: "Pretty please be polite." Please do.

Voidious (talk)02:53, 28 November 2013

Yes, can you please take this down? Thanks!

Wolfman (talk)10:23, 28 November 2013

I also use waves to keep track of enemy bullet positions, but I use guess factors to guess bullet's headings. The wave works as a collection of incoming virtual bullets. They all share the same center, fire time and bullet power, but each virtual bullet has a different heading.

MN (talk)05:10, 28 November 2013

Yup thats pretty much how I am using waves. Each wave has a payload that currently is virtual gun data, but I can add Guess Factors in the future. What Agent Smith doesn't do is surf the waves in a traditional sense for movement. It uses predicted x,y positions of enemy bullets over the next 50 ticks to work out a safe path over the those 50 ticks.

It will eventually use guess factors to work out where the most likely enemy bullet positions are but that is something I will work on next. At the moment it simply predicts head on, linear and circular bullet positions simultaneously without knowing which one is being used.

Wolfman (talk)10:31, 28 November 2013

I tried something like that once, I found it wanted to drive away from the enemy along the path of the bullets far to often, rather then the much safer perpendicular movement. But that was well before I managed to get beyond about rank 50.

Chase20:30, 28 November 2013

Targeting Challenge

Heya. Not sure if you know, but the newest targeting challenges are TCRM and TCAS. If you do, great, ignore this. Otherwise if you run them, I would suggest RoboJogger or alternatively RoboResearch. While I am more used to RoboResearch myself (and I think its UI is still a bit better), RoboJogger has been tested to be quicker at running battles.

Chase14:19, 18 March 2013

I didn't know about this actually, I just looked for the highest numbered 2Kx targeting challenge! :o I'll take a look! Thanks!

Wolfman14:28, 18 March 2013