Hi,
because lot of great ideas are flying in emails among us Robocode developers, contributors, developers of extensions and veteran Robocoders, I created new discussion group robocode-developers@googlegroups.com to improve spreading of information. Please, if you feel that you belong to some of groups above or belong there potentially, join us.
This group is NOT for support of Robocode users, if you need help with writing your robot, please use Robocode@yahoogroups.com
Whole discussion should have circa following rules:
1) Ideas are welcome.
2) We are looking for contributions not for demands. All of us work in our free time, so if you have an idea, but you do not will to work hard on it, it is just wish. Your idea could be used by some of us or not. We may ask you to fill such idea as a feature request. We welcome feature requests.
3) Discussion should be constructive. We are trying to improve our great toy for everyone. So we should give each other as much freedom to implement our own ideas as possible.
4) For sure, we will have different opinions. In case that we will be unable to find common ground or conclusion, Flemming will decide which direction to go.
5) Flame war or holy wars about operating systems, platforms, languages, etc. are silly, please go private to discuss them.
Thanks,
Pavel Ĺ avara
Build the best - destroy the rest!
Sunday, 6 April 2008
Sunday, 30 March 2008
Robocode 1.6 explained
To those of you that wants to learn more about what is really new in Robocode 1.6, and what is in the pipeline for Robocode, you should read Pavel Savaras' article "Robocode 1.6 explained".
Pavel Savara has joined in with the development of Robocode with the goal of creating a .Net version of Robocode. Actually, in the future it should be possible to run battles between Java and .Net robots simultaneously!
Please welcome Pavel as new developer to Robocode. He has really done a tremendous job with the new robot interfaces in Robocode 1.6, and also fixing all obstacles in Robocode to allow a .Net implementation on top of Robocode!
Did you try the Robocode 1.6 Beta? If not, don't hesitate with testing all your existing robots on this new version all supply us with feedback about issues while Robocode 1.6 is still in Beta (download).
Pavel Savara has joined in with the development of Robocode with the goal of creating a .Net version of Robocode. Actually, in the future it should be possible to run battles between Java and .Net robots simultaneously!
Please welcome Pavel as new developer to Robocode. He has really done a tremendous job with the new robot interfaces in Robocode 1.6, and also fixing all obstacles in Robocode to allow a .Net implementation on top of Robocode!
Did you try the Robocode 1.6 Beta? If not, don't hesitate with testing all your existing robots on this new version all supply us with feedback about issues while Robocode 1.6 is still in Beta (download).
Friday, 28 March 2008
Robocode 1.6 Beta - Introduction of new robot interfaces
Bugfixes:
- The CPU constant was not calculated the first time Robocode was started up.
- Removed ^M characters from the buildJikes.sh file so that the Jikes compiler can be built under Unix, Linux and Mac OS X.
Major changes:
- A new package named robocode.robotinterfaces has been introduced, which contains pure Java robot interfaces for basic, advanced, interactive, junior and team robots. See the Javadocs (HTML) documentation for more details about these new interfaces.
- The main purpose robot interfaces is to make it possible for developers to create robots with other programming languages that requires interfaces instead of classes. However, the provided robot interfaces obeys the rules within Robocode. But it is possible to create new robot types with other methods names etc. from the robot interfaces, and it is also possible to create ordinary robots based directly on the robot interfaces.
- See the new 'sampleex' directory for some examples of how to use these new interfaces in Java.
- The introduction of the new robot interfaces required a great deal of changes and cleanup of the internal structures of Robocode, but for the better.
- A new command line option has been made for Robocode named EXPERIMENTAL, which must be set to true in order to allow the robots to access the internal robot peer with the robot interfaces for performing robot operations. If this flag is not set, you'll get a SecurityException in your robot if it is inherited from a robot interface. This option must be set in the robocode.bat/robocode.sh like -DEXPERIMENTAL=true
- Note that this experimental option might be removed in the future so that robots are always allowed to access the robot peer from the new robot interfaces.
- Most work with the robot interfaces were performed by Pavel Savara that has joined the development of Robocode, and which has done a tremendous job with the new robot interfaces.
Minor changes:
- Fixed a security issue, where robot was able to access the internals of the Robocode game thru the AWT Event Queue.
- Robots that try to access the AWT Event Queue will be disabled
- Added a "Make all bullets white" option to the Rendering Options.
- When this option is enabled, all bullets on the battle field will be painted in white. Use this options when you need to see all bullets on the battle field, i.e. when bullet colors are almost invisible.
- Lots of the Javadoc (HTML) documentation for the Robocode APIs were updated.
Download: here
- The CPU constant was not calculated the first time Robocode was started up.
- Removed ^M characters from the buildJikes.sh file so that the Jikes compiler can be built under Unix, Linux and Mac OS X.
Major changes:
- A new package named robocode.robotinterfaces has been introduced, which contains pure Java robot interfaces for basic, advanced, interactive, junior and team robots. See the Javadocs (HTML) documentation for more details about these new interfaces.
- The main purpose robot interfaces is to make it possible for developers to create robots with other programming languages that requires interfaces instead of classes. However, the provided robot interfaces obeys the rules within Robocode. But it is possible to create new robot types with other methods names etc. from the robot interfaces, and it is also possible to create ordinary robots based directly on the robot interfaces.
- See the new 'sampleex' directory for some examples of how to use these new interfaces in Java.
- The introduction of the new robot interfaces required a great deal of changes and cleanup of the internal structures of Robocode, but for the better.
- A new command line option has been made for Robocode named EXPERIMENTAL, which must be set to true in order to allow the robots to access the internal robot peer with the robot interfaces for performing robot operations. If this flag is not set, you'll get a SecurityException in your robot if it is inherited from a robot interface. This option must be set in the robocode.bat/robocode.sh like -DEXPERIMENTAL=true
- Note that this experimental option might be removed in the future so that robots are always allowed to access the robot peer from the new robot interfaces.
- Most work with the robot interfaces were performed by Pavel Savara that has joined the development of Robocode, and which has done a tremendous job with the new robot interfaces.
Minor changes:
- Fixed a security issue, where robot was able to access the internals of the Robocode game thru the AWT Event Queue.
- Robots that try to access the AWT Event Queue will be disabled
- Added a "Make all bullets white" option to the Rendering Options.
- When this option is enabled, all bullets on the battle field will be painted in white. Use this options when you need to see all bullets on the battle field, i.e. when bullet colors are almost invisible.
- Lots of the Javadoc (HTML) documentation for the Robocode APIs were updated.
Download: here
Saturday, 16 February 2008
Robocode 1.5.4 - fixes the CPU calculation
Bugfix:
- The CPU constant was way too little compared to version 1.4.9. This is a critical bug when Robocode is used for competitions. Now the CPU calculation has been improved, where a heavy math benchmark has been adopted from Robert D. Maupin (AKA Chase-san).
- The method for determining if a robot has exceeded it's CPU time limit has been improved to use nano second precision, to get rid of an issue with millisecond granularity. This method was created by Julian Kent (AKA Skilgannon).
Download: here
- The CPU constant was way too little compared to version 1.4.9. This is a critical bug when Robocode is used for competitions. Now the CPU calculation has been improved, where a heavy math benchmark has been adopted from Robert D. Maupin (AKA Chase-san).
- The method for determining if a robot has exceeded it's CPU time limit has been improved to use nano second precision, to get rid of an issue with millisecond granularity. This method was created by Julian Kent (AKA Skilgannon).
Download: here
Monday, 4 February 2008
Developers Guide for building Robocode has been updated
The Developers Guide for building the Robocode game has now been updated to reflect the change from using CVS to using SVN. In addition, more hints has been added to ease building Robocode from the Eclipse IDE.
You can read the Developer Guide here
You can read the Developer Guide here
Wednesday, 30 January 2008
Robocode 1.5.3 released
Bugfixes:
- Some of the mnemonics on the menus on the Help menu did not work correctly.
- NullPointerException occurred when clicking a robot button on the right side of the battle view, when no battle was running.
Changes:
- All functions key shortcuts have been replaced to comply with OSes where the function keys (F1 - F12) are not available or have a specific purpose, and thus should not be overridden.
-- The F5 shortcut key for refreshing the list of available robots in the New Battle, Robot Packager, Robot Extractor, and Team Creator window has been changed to 'modifier key' + R, i.e. Ctrl+R on Windows and Linux, and Command+R for Mac OS.
-- The F6 shortcut key for 'Compile' has been changed to 'modifier key' + B, i.e. Ctrl+B on Windows and Linux, and Command+B for Mac OS.
-- The F3 shortcut key for 'Find Next' has been changed to 'modifier key' + G, i.e. Ctrl+G on Windows and Linux, and Command+G for Mac OS.
- When a robot or team is being packaged an UUID is now put in the .properties and/or .team files in the newly generated robot or team archive file (.jar file).
-- The UUID is a unique identifier for the robot or team, which is generated every time a robot or team package is being created or overwritten.
-- This feature has been made in advantage to support coming features provided in Robocode Repository, which is currently being updated.
Download: here
- Some of the mnemonics on the menus on the Help menu did not work correctly.
- NullPointerException occurred when clicking a robot button on the right side of the battle view, when no battle was running.
Changes:
- All functions key shortcuts have been replaced to comply with OSes where the function keys (F1 - F12) are not available or have a specific purpose, and thus should not be overridden.
-- The F5 shortcut key for refreshing the list of available robots in the New Battle, Robot Packager, Robot Extractor, and Team Creator window has been changed to 'modifier key' + R, i.e. Ctrl+R on Windows and Linux, and Command+R for Mac OS.
-- The F6 shortcut key for 'Compile' has been changed to 'modifier key' + B, i.e. Ctrl+B on Windows and Linux, and Command+B for Mac OS.
-- The F3 shortcut key for 'Find Next' has been changed to 'modifier key' + G, i.e. Ctrl+G on Windows and Linux, and Command+G for Mac OS.
- When a robot or team is being packaged an UUID is now put in the .properties and/or .team files in the newly generated robot or team archive file (.jar file).
-- The UUID is a unique identifier for the robot or team, which is generated every time a robot or team package is being created or overwritten.
-- This feature has been made in advantage to support coming features provided in Robocode Repository, which is currently being updated.
Download: here
Tuesday, 8 January 2008
Robocode 1.5.2 released
On some systems Robocode would not start up when tryng to run robocode.bat or robocode.sh. This version contains a bugfix for this issue.
Download here
Download here
Subscribe to:
Posts (Atom)