I added Pickups/Items to source. What to do with it?

42 views
Skip to first unread message

Anders

unread,
Sep 12, 2018, 4:28:04 PM9/12/18
to robocode-developers
hello,

i love robocode since 2008.
But my problem was always, that in FFAs without any points of interest everyone is trying to position himself out of the way. In robocode meelee, that is corners.
Imho the stile to incentivice behaviour, that risks going into middle, is more fun, than punishment for staying away.
However, i had the idea anyway and wanted to implement it. It was fun.

Changes:
I added items that robots can pick up.
There is option in UI on how much Items are on the map.
Every turn, it's checked, if bounding box of item intersects with a robot.
When it does, robot gets +20Energy (thats editable) and the Pickup goes into respawn.
When Respawn time is up (thats 200turns), its available for pickup again.

I still have a problem with rounds sometimes not ending. So i have to set some timelimit. Maybe whoever has the most life after 1000  turns wins OR respawn is disabled.
Also i set maximum life to 200.
There is also another SampleBot, that just runs to the closest pickup and collects.
There are 2 new Events: ScannedPickupEvent and PickupEvent.

Im relatively new to large projects.
The code and documentation is not very clean yet. But i can work on that, if you like the addition.
Im looking forward to your feedback.

Greetings

ps.: there is so much cool stuff doable with this: bombs, mines, hazardous landscape, health items, repair.

Flemming Larsen

unread,
Sep 12, 2018, 4:56:38 PM9/12/18
to robocode-developers
Hi Anders,

Your addition to Robocode is very interresting, and I think lots of people should love to try it out. :-)
Currently, I am very conservative with Robocode as it is, and I am working on a new version built from scratch (protocol based). This is where I will have my primary focus for a new platform for Robocode -> Robocode 2.

I propose you add a web page for your version (Robocode Powerups), where you give some instructions for how your version works. You could write about the additions / modifications only, or you could supply the complete javadoc for your version.
If you create a distribution file for it like Robocode-Powerups-0.1.0.jar, I should like to upload both the .jar file and sources.zip (mvnassembly.bat/.sh can build those for you). I can put these files on SourceForce an provide links for it on the homepage, FaceBook etc.

To begin with, people should try out your version, and you should have some feedback. Another variant named Robocode Naval (with ships) is already put on SourceForge, so people can play with that as well.
If people like it, I guess more versions will follow with improvements. Let's see how it turns out. :-)

Regarding current Robocode. I am concervative due to the RoboRumble, which counts on the current rules of Robocode, and because a .NET plugin exists for Robocode, which must also be updated whenever a new feature is added to Robocode.
You don't have to worry about RoboRumble and .NET for your version.

Best regards,
- Flemming

Andreas Stock

unread,
Sep 25, 2018, 11:01:03 AM9/25/18
to robocode-...@googlegroups.com
Thanx for your answer and interest.
I understand, that for roborumble/etc the rules should not change. The additional rules in my version are completely optional and should not change/effect the behaviour of normal battles like rumble.
I run all the original tests when assembling.
Problem with rounds not ending is solved: powerups will not respawn after turn 2000.

However, where can i edit maven, so that distribution files will be renamed? All the files i found in source say: "DO NOT EDIT". including maven-build.properties
I would like to set name to "robocode-1.9.3.0-with-powerups-setup.jar".

Greetings,
Anders


--

---
You received this message because you are subscribed to a topic in the Google Groups "robocode-developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/robocode-developers/TrXORRTJWlg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to robocode-develo...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Flemming Larsen

unread,
Sep 29, 2018, 11:41:36 AM9/29/18
to robocode-developers
Hi Anders,

Sorry for the late answer.

Regarding the name of the output distribution files (jar file for the robocode.setup-xxxx.jar and robocode.src-xxxx.zip), this is setup by the following files:

This is the primary POM file, where you set the version number (for Java and the .NET plugin)
/super-pom/pom.xml

The "setup" jar file:
/robocode.distribution/setup.asm.xml

The "src" file (zipped source file):
/robocode.distribution/src.asm.xml

So I guess to would create a new file named with-powerups-setup.asm.xml as:
/robocode.distribution/with-powerups-setup.asm.xml
... which is a copy of the setup.asm.xml

The id in the top of this file is using "setup", which must be changed to "with-powerups-setup".
You need to change to the with-powerups-setup.asm.xml in the /super-pom/pom.xml file.

I hope this helps?

Otherwise, write my at fnl (at) users.sourceforge.net, so I can help you out faster per ordinary mail.

Cheers,
- Flemming

Andreas Stock

unread,
Oct 4, 2018, 2:43:41 PM10/4/18
to robocode-...@googlegroups.com
Hallo,

thanx for answer. It worked. Doesnt matter how late. Its a hobby, not a job, right?
Here are the files:

Im very excited about feedback. However, i have not yet figured out or put in any work for a wikipage. SoonTM.

bye,
Anders


--
Reply all
Reply to author
Forward
0 new messages