|
NeroTournamentExercise
NERO Machine Learning Tournament
Exercise NERO Machine Learning TournamentIn this exercise, you will use either the rtNEAT algorithm or Reinforcement Learning to train a team OpenNero agents to defeat your opponents in battle. We will run a tournament in class, where we will pit the teams against each other in an apocalyptic battle for world domination (or something). Follow the steps below, unless of course you're comfortable getting destroyed by your opponents who did. 0. Install prerequisites for running OpenNEROSee OpenNeroPrerequisites for detailed instructions for your platform. 1. Install the OpenNERO PlatformOpenNERO runs on Linux, Mac OSX, and Windows platforms. In order to install it on your system, you can either:
If you build from the source, you can modify and extend the game yourself (for the tournament, or otherwise), but no such modifications are necessary to train and enter the tournament. 2. Train Your TeamThe game is described in detail in the NERO game page, including specific instructions on how you can train your team. Please read that page carefully. 3. Submit Your Team to the TournamentThe tournament submissions are now closed. We will be evaluating the teams and post detailed tournament results soon! After you are satisfied with your team, you'll save it into a file, and submit that file into the tournament. Note that
4. Eagerly Await the ResultsWe will collect all submissions after the deadline and run a double-elimination tournament on them. The tournament will be seeded randomly. The standard NERO Battle environment will be used for the games; because the environment is symmetric, each team can be assigned as Red or Blue randomly without providing an advantage to either one. Each game will be run until one team is eliminated, or when a timeout of 5 minutes is reached, in which case the team that has more hits will win. In case of a tie, the winner will be chosen randomly, except for the final game, which will be repeated until there is an actual winner based on hits. The tournament results will be posted a few days after the deadline on this website, including videos of the final games. The teams will be identified by the name provided in the submission. Debugging, Discussion, and Bug FixesIf you run into any bugs in your program, you can find the error log file for OpenNERO (see OpenNeroLogs) We encourage discussion of topics related to the tournament, and have established OpenNERO Google group to support it. Questions can be posted in that discussion forum and answered by anyone on the forum, hopefully making it easier to figure out issues as they happen. In order to provide the best experience for everyone, we may release bug fixes before the tournament submissions are due. Below is a concise summary of such fixes: Most recent release: 2011-12-14Notes for 2011-12-14
Notes for 2011-12-11
Recently fixed issuesIf you are experiencing any of the following, try upgrading to the most recent version:
Known issues
| |

Just to clarify, the deadline of December 15th at 12 midnight CST is at the start of the 15th, as in one minute after 11:59pm on December 14th, right?
nope.one minute before December 16th, 2011
Hi, please see recently-fixed issue #113 , issue #116 , issue #115 for fixes related to saving and loading.
@jarek, this is probably because your python.exe is not in your system path. Add the path for your Python install (usually c:\Python27) to the Path Environment Variable via the Control Panel. You should then be able to run python from your Command Prompt.
The saving problems are indeed an existing problem on Windows - we are working hard on a good solution, but while you wait, your teams may at least be partially saved inside the same directory where OpenNeroLogs are stored. See issue #116 for more details about the saving problem.
The recently-fixed issue #113 , issue #116 , issue #115 related to saving and loading have been fixed again. The new binary is now 2011.12.04 - please reopen those bugs if you get the problem again.
Dunno if anyone else is having this problem, but whenever I try to remove a turret Nero crashes on me. Running Win7 64.
@ikarpov, had the same problem as jarek on Win7 64-bit with today's (2011-12-04) version (although python.exe was on system's path). had to change subproc = subprocess.Popen(['python', script]) to subproc = subprocess.Popen(['python', script], shell=True) in common/module.py
@billrenner, this is a known issue we are working on: issue #114
A new release, 2011-12-04, should address the bug with removing turrets ( issue #114 ) which was fixed in r1530.
@rashmi, please install libgl-dev with synaptic
OpenNERO won't run on WindowsXP.
I installed Python 2.7.2 (32-bit) in my Windows XP 2002 SP3 Athlon 64 X2 Dual Core 4400+ 2.44 GHz PC. Also installed wxPython so 'import wx' statement produces no error. Python path is included in PATH env. variable. Installed OpenNERO-2011.12.04-win32. Try to run OpenNERO.exe:
Aborts with this message: This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
And the pop-up "OpenNERO.exe - Application error" shows up with this message: "unknown software exception (0x0000015)" at address "0x7857beae".
Thanks for any help you might provide.
The file "init.py" is empty. I assume the Q-learning algorithm is implemented in there. I thought this is opensource software. Can you please update the content? Thanks.
@abdossalami, what file are you referring to?
The RL algorithms are implemented on the C++ side here:
http://code.google.com/p/opennero/source/browse/#svn%2Ftrunk%2Fsource%2Fai%2Frl
And wrapped on the Python side here:
http://code.google.com/p/opennero/source/browse/trunk/mods/NERO/agent.py
Also we have a pure Python implementation that gets used in Maze, here:
http://code.google.com/p/opennero/source/browse/trunk/mods/Maze/agent.py
I added a sample team that may be fun to test against. It is here; there's also a link from the NERO page. It is evolved with rtNEAT to go around the wall to the enemy and hit it; I edited out some of the weakest individuals and copied some of the good ones, both those that go around and those that stay on the home side of the wall. Check it out.
@abdossalami, it looks like the version you are using is an oder version - that line currently says:
loc, val = strn.split(' ',1)Try grabbing a more recent binary build or running svn update on your source check out if you are building from source.
Please ikarpov can you take me through the process of updating the NERO/module.py file? I am having problems in saving as most of the people. I tried changing the module.py file but I guess I did not do it right. So please tell me.
@karanjthakkar, please download the latest build for your platform - this contains all the latest fixes including the one you are looking for.
Is the tournament still going? How do we submit teams?
And is there a way to directly call a training or battle scenario with a python script or something instead of opennero.exe and its menus?
Hi @limtrobo1,
Yes the tournament is still going. The submissions are not yet open, but they will be soon!
If you want to run the battle from command line (I'm assuming this is what you are asking) take a look at the script condor_battle.sh - the basic idea is that you can start OpenNERO.exe with command line parameters so that it starts doing what you want. Actually I just made a change to NERO/main.py that lets you do something similar for training. This also allows you to run things in the background without using the display (headless mode).
Nice work on this! If anybody else still struggles to get past the: Add to Path... I followed the guidelines, but still didn't work. I single space crept up in my Path while I edited it (used to Ubuntu CLI not the Windows gui I needed/used). Removed the space and started training away!!
Quick Question, when you zoom in/out a lot you get a very nice picture of a mountain, is that to be used for the mountains around the training base?
When are we going to be able to upload the file?
Now we can send the troops to combat cheers
Can we gzip multiple teams together and just submit that single .gz file?
gz is usually only used for compressing single files, and to make things easier for us, let's keep it to one team per upload.
Thanks, Igor! I will upload my teams one by one then.