Introduction

 

Welcome to NERO, an entirely new genre of game in which you train an artificially intelligent army to suit your strategy. In NERO, you first train your robot soldiers to perform the way you envision. When you are satisfied, you assemble a team out of your favorite trainees and deploy that team in battle against another team on your computer or over a network.  The primary challenge of the game is devising training regimens that lead to successful battlefield behavior.  Agents in NERO really learn and gain in skill and sophistication from the training scenarios that you develop by using a special machine learning technology called real-time NEAT.  This document briefly surveys all you need to know in order to train teams and deploy them in battles, starting with a discussion of the main menu.  The final section gives some background on the technology that makes NERO work.

 

 

I. The Main Menu

 

From the main menu you can select various options:

  • "Tutorial" places you in training mode with the guidance of a special interface that tells you how to get started with training in a step by step manner. There are two tutorials: beginner and advanced. It is highly recommended that the tutorials be completed before playing the game.
  • "Train Soldiers" will allow you to enter general training mode. You can select which map you would like to train on, as well as the spawning style and number of troops.
  • "Create Team" will allow you to mix and match brains from any saved populations in order to customize your army's roster.
  • "Battle Mode" is where your army is put into action. You can play a battle against the computer, or you can play over a LAN or the internet as either host or client.
  • "Options" will allow you to set the games options, including sound, display, and controls.
  • "About" will tell you about the creators of NERO at the DMC Lab at the University of Texas at Austin, and GarageGames, the company that developed the Torque game engine. It will also lead to an in-game version of this manual.
  • “Quit” exits the game.

 

Important:  In order to exit training, battle, or tutorial mode at any time, press ESCAPE.  You may also press “F1” to bring up a version of this documentation any in game.

 

 

II. Training Mode

 

In training mode you will set up the scenarios to train your army for battle. When you enter training, you are asked to select a team you wish to continue training, or select "" to start from scratch.   Note that the specific options in all the pull-down menus and the three panels on the screen are described in the appendix.  The text that follows explains how these functions work in general.

 

Movement

To move around in training, use the WASD keys to move forward and strafe, and the QE keys to rotate. If you want a closer view of the action, press M to get into free look mode and use WASD and the mouse to get a closer look. Press M again to bring back your cursor and enable you to interact with the environment.

Pressing P will pause the simulation and allow you to easily select a robot to right click on. Pressing P again will un-pause the game.

 

If at anytime you are not satisfied with the controls, press O to bring up the options menu and feel free to remap them to suit your needs.

 

Mouse Interaction

The main way of interacting with the environment is with the mouse. Double clicking the left mouse button will add a flag in the world, while right clicking will bring up a location specific context menu (meaning actions will occur at the point you clicked at). If no army is currently being trained, then there are five options on the menu:

 

"Launch Team" starts spawning the team you selected to train;

 

"Add Enemy" places the current enemy selected from the enemy type menu on the

left side of the screen (see Appendix B - Enemy Panel - for descriptions of the enemy types);

 

"Add Object" spawns a wall for you to manipulate in the world.

 

"Remove Flag" takes the flag off the map if it's been placed.

 

After choosing Launch Team, you will see soldiers falling from the sky at the position you selected. This is the army that you will train, and the place they are falling from is called "the factory." After your factory has been created, you will notice that the context menu has changed. The Add Enemy and Add Object options are still there, but more specific training options have been added:

 

"Set Spawn Point" will change the location of the factory so that the army spawns from where you right-clicked.

 

"Milestone" is a way to make your team remember important skills.  It is meant to be used when you have trained them to do something useful and now you want to switch to a different task, but you don't want them to forget the first one.  Example: You first trained the robots to approach the enemy.  Now you remove the enemy and want to train them to go to the flag.  However, you want them to remember how to approach the enemy.  If you choose "Milestone" before the switch, they should retain the original skill of going to the enemy, even while they learn the new skill at the same time. 

 

When a milestone is set, the option in the menu becomes "Flush Milestone," which allows the robots to forget it.  Important: You do not need to milestone unless the second task is unrelated to the first task.  For example, if you train to go to the enemy, then you would not milestone before training to go to the enemy around a wall, because the second task is related to the first one, and therefore does not require a special milestone to be set.  Milestoning is a largely experimental option based on cutting-edge research.  Please see our paper, Retaining Learned Behavior during Real-Time Neuroevolution, for technical information on milestoning and how it works.

 

Your context menu will change if you right click a player, wall, or enemy (recall that you can press P to pause before selecting items on the field by right clicking):

 

When right clicking on walls you created, you have the choice to move, rotate, scale, or delete them. Moving the mouse left and right will rotate the object and also scale it. So for example, if you want to elongate a wall, right click it, select Scale Y or Scale X depending on your orientation, and move the mouse cursor rightward.

 

Right-clicking on soldiers you are training, you have the choice to move, rotate, converge on them, or smite them. Converge means that your entire population's brains will be replaced with the selected soldier's brain.  When used correctly, converge can be a powerful function, allowing you to quickly circulate a behavior throughout the entire population. 

 

It is important to note that some converged behaviors can be unstable, since they were not learned in a natural way.  If a convergence didn't work out as you expected, "Undo Converge" is an available option on the menu when you right-click the ground.


Smite allows you to punish a solider that you don't like. It will be strongly penalized and sent back to the factory.

 

Right-clicking on enemies lets you choose to move, rotate, delete, or inhabit them. Inhabit means you control the unit from a first person perspective, that is, you will inhabit and control its body. WASD will move you around, left clicking fires your weapon (if the type of enemy you inhabit has a weapon), and by default, right clicking will exit this mode. Your team will learn from interacting with you assuming the correct slider settings are set.  (For example, to encourage them to learn to avoid getting shot you should punish them for getting shot.)  By pressing “C” by default, you can change the current camera mode.

 

How to Train

Note that in order to train an army, a factory must be created by selecting "Launch Team" from the context menu. Without a factory on the field, you will have no troops to train.

 

Your army's behavior is determined through the slider values you set in the slider window (the panel on the right of your screen). There are 6 different objectives (see appendix C) you can set. If you move your mouse over the icons near the top of the window, an info box will pop up on what slider you are currently looking at.  The area below the icons holds the sliders themselves. Moving the slider up (into the green) will reward the population for doing the current objective, while moving the slider down (into the red) will punish the population for doing the current objective. Two of the horizontal sliders at the bottom are tied into the two far right vertical sliders. The very bottom horizontal slider determines the lifetime a soldier on the field. For more complex tasks, you will want to make the lifetime longer.  For simpler tasks, you will want it shorter. Your current slider values can be applied to the population by pressing the Apply button at the top right corner of the window. If you forget to press Apply, your slider setting will not take effect!  A blinking red light next to the Apply button alerts you that settings have changed but Apply has not yet been pressed. Note that in early training it is not a good idea to start with numerous sliders all set at the same time.  Try starting by changing one or two sliders, and then gradually augment more sliders as your training objectives improve.

 

Training Tips (Important)

The soldiers you are training are fresh recruits.  They do not initially know anything about the world around them, and thus wander aimlessly around. Although it may be tempting to design a complicated scenario, max out the slider values, press apply, and wait, such an approach is likely to fail.  The soldiers, like any students, need to learn simpler building blocks before more complicated tasks. The best way to train soldiers is to train them incrementally. For example, if you want to train your army to attack an enemy behind a wall, first place an enemy on the field and reward the population for hitting the target and approaching the enemy. After you are satisfied with those results, place a wall in between the spawn point and enemy so that the population has to learn to go around the wall to get to the enemy. (Note that the Tutorial mode guides you through such a learning scenario.)  When you are satisfied with those results, maybe switch out the enemy with a turret, and punish getting hit. Or you could add another wall. The choice is yours depending on your overall team strategy.

 

All scenarios and strategies you wish to train for should be set up in this incremental fashion in order to yield good armies. A good rule of thumb is to change one slider value and/or one environmental stimulus (enemy, wall, etc), and wait for your army to learn it before changing something else.  That way, training is gradual and realistic.  In this way, it is possible to gradually scale up to quite sophisticated behaviors.

Training takes time. Do not immediately expect the soldiers to learn the given task at hand. Wait a few minutes, and if the soldiers still are not giving the desired results, then review your slider settings and overall scenario. Perhaps try to learn something simpler that can serve as a foundation for more complex tasks.

 

Stat Display and the Space Bar

It is possible to observe certain stats about your individual robots by pressing the space bar.  By default, the robots have no stats above their heads, but by pressing spacebar you can cycle through a number of different stats that appear above their heads. In addition, the HUD button (on the bottom panel) becomes active when stats are being displayed (see Appendix D for info on the HUD).  Space bar cycles through the following states (pressing spacebar in the last state cycles the stats back to being off):

 

1. Brain ID's:  This is the current id of a unit's brain.  Every time a new brain is inserted into a robot body, it gets a new number, so the numbers give you an idea of how new the robots' brains are.  In general, older brains only stay around if they are still good compared to the newer ones.   You can use these brain ID's later to identify individuals in the Create Team mode.

 

2. Species Number:  Tells which species each robot belongs to.  See Section VI for pointers to NEAT documentation, which explains how speciation works with the NEAT technology that is inside NERO.  Roughly, within each species are similar brains with similar styles, but the brains differ between different species.

 

3. Current Fitness: Shows the internal number NERO is using to rate different individuals

 

4. Fitness Rank:  Shows the current rank of every individual from 1 (the best) to n (the worst) where n is the number of robots on the field.

 

5. Neural Net Complexity:  The rtNEAT method used by NERO actually evolves networks that increase in complexity as the game is played.  This display mode shows you the number of nodes (N), the number of links/connections (L), and also the species number (S) of each individual.  The first two numbers give you a sense how big their brains are getting.  The last number tells you how that correlates to different species. Note that complexity may vary at any given time among your troops.  

 

Training Maps

The map you train on can have a significant effect on the kind of soldiers you produce.  In some cases, you may want to train soldiers in the same map in which they will go to battle.  New configurations of walls that you create yourself can be saved in your own custom training map files by pressing the "Save Map" button. You can reload maps later.  That way, if you for example created a maze and your robots are not done training but you need to turn off your computer, you can save your team, save the map, and exit safely.  When you restart training choose the new map that you saved.  NERO comes with a variety of maps for both training and battle.  It is possible to use any of the maps for both purposes.

 

Saving your Army

You can save your current army by pressing the "Save" button on the bottom panel and choosing a name for your team in the resulting dialog box.

 

Tutorial

To learn more about training in a hands-on environment, select "Tutorial" from the main menu and follow the step-by-step beginner's guide to training your army to go around a wall. The advanced tutorial treats more high level topics.

 

 

III. Battle mode

 

General Information

In battle, you put your trained team to the test. You can play a battle against the computer or against a human opponent on a local area network or the internet.  On some servers, the player can place a flag interactively during the battle. If the team was trained to react to the flag, they will do so during battle.  It is possible to play battles with or without the use of flags.  Note that when playing the CPU, the computer will not place flags on its own; only humans can place flags.

 

After entering Battle Mode, there are three options:

"Vs. CPU":  This option allows you to play against the computer in single player mode.  You select a battle arena and assign a blue team (your team) and red team (the computer's team).  You can also set a battle type: "Destruction" means an untimed game, while "Timed" games end after a specified number of minutes.  Team size and whether or not flags are allowed can be specified as well.

 

"Host Battle ": In this mode, you will advertise your game on the network, for play over a LAN or the internet.  As in the "Vs. CPU" mode, you can choose an arena and team, as well as set battle options.  You can choose a name that will be displayed when you chat during battle (using the "u" key).  Note that when you click "Begin," your server IP address is sent to the Master Server on the internet, and can also be seen by other computers on your LAN as a NERO game host. While your game is waiting for an opponent to connect, the game will be in a demo mode. During demo mode, you will not have control over the two teams that are competing as they are both computer controlled. Your teams will not appear until someone joins the game, at which point demo mode will exit and both players must press "Begin" to commence the battle. 

 

"Join Battle ": In this mode, you can choose the team you want to send to battle and the name you want to appear in chat.  Note that the battle type and arena will be determined by the host.  When you first enter this mode, you will see an empty list box that can display a list of servers waiting for games.  If you press "Query LAN," you will get a list of NERO servers on your LAN.  If you click "Query Master," you will get a list of NERO servers waiting for opponents on the internet.  The list includes information on the type of game (e.g. flag or no flag and the arena) hosted on each server.  Once you find a game you want to join, select it and click on the "Join Server" button.  At that point, you are transferred to the battle arena chosen by the host (the arena was displayed in the list), and both you and your opponent must press "Begin" to commence the battle.  You will be the red team. Note that NERO will not display servers with newer versions of NERO than your own. Therefore, please check nerogame.org for updates to make sure you have the latest version.

 

In order to handle a larger number of clients connecting to the game, a battle queue has been introduced. When a player enters the game and there are already two clients connected, the new player will be inserted into the battle queue. Upon completion of the match, the loser will go to the back of the queue and the winner will challenge the next in line. When a user wins a match, 1 point is added to the scoreboard for that player. To see the current scores, press F2.

In battle, the movement controls are the same as in training. At the top of the screen, you can see the number of remaining soldiers each team has as well as the name of the player and the color of the team. The battle is over when one team's population reaches zero or when time runs out in a timed game.  The team with the most robots left standing is the winner.  You can determine the damage of each robot by observing the brightness of its corresponding ring on the ground:  the darker the ring, the more damaged the robot is. A stat screen pops up at the end of battle displaying the final score.  You can click on the "Red" or "Blue" tabs to get specific stats for individual robots, such as their accuracy and how many enemies they hit.  Since stats are shown for specific brain ID's, this information can be used to determine your best robots, who can then be assembled in "Create Team" mode into even better teams.

 

Battle is a chance to see how training paid off.  Failures or surprises among your troops can give you ideas for better training in the future.  For example, if they won't go to the flag in a room full of walls, you may realize that you should have trained them with a flag and walls together, and you can go back and do it next time.

 

Players in battle can chat: press "u" to chat.

 

Battle Maps

There are several included maps intended for battle:

"Shadow Grove" in which a large wall separates the warring armies;

" Mountain Pass " in which the armies have to deal with large obstacles;

" Sunken City ," a desolate urban landscape with several pieces of wreckage serving as obstacles;

"Andrian Arena" in which the armies have to deal with various obstacles;

And "Virtual" maps which are intended for training, but can be used for battle.

 

IMPORTANT- Firewalls and Network Play:

If you want to host a game over the internet through a firewall, you will need to give NERO permission to access the network.  NERO uses ports 28000 and 28002 to send UDP packets over the internet.  Make sure that both your software firewall and, if playing behind a router, that your router's firewall allows UDP traffic through these ports.  If you are hosting behind a router, you might also have to forward these ports to your computer.  More information about port forwarding and your specific router can be found at www.portforward.com.

 

Battle Demos

For examples of armies trained on a specific map, pit any of the included Grove armies against one another in "Shadow Grove", and see the different tactics each member of our programming team came up with. BR-Trung-deathfromafar was the overall winner. Other examples of training include pitting an avoiding team versus an aggressive team or an aggressive team versus an aggressive team. We have included a selection of pretrained sample armies for you to play against or further train.

 

 

IV. Create Team Mode

 

In this mode, you can manage teams by moving individuals from one team to another.  For example, you may have trained sniper-like behavior in one session but more aggressive following behavior in another.  It is possible for you to combine individuals from both sessions into the same team using this mode. 

 

The list of saved population files appears at the bottom right. Click on one to bring up its list of brains into the top right window. Click on the unit you want, and press Add Unit. The window on your left is the team you are creating. You can remove a unit from your team by selecting it and pressing Remove Unit. Clone Unit will copy that unit and add it to your team. You can save your new team by pressing Save Team.

 

You may wonder how the individuals listed in the interface differ from one another.  As a general rule, teams that come straight out of training are ordered from most fit to least fit.  However, note that there is power in diversity: if you only make clones of the top individual, your whole team will act almost identically, which can be a disadvantage.  In addition, when a battle ends, the Organism IDs that are shown in the stat screen are the same IDs that appear in Create Team mode.  Therefore, you may discover from watching several battles that a certain individual is really good.  You can then be sure to include it on a new team.

 

Another interesting aspect of creating teams in this way is that the teams you create not only can be taken into battle, but also put back into training for even more training. However, note that the effect of taking a heterogeneous team of individuals with different training behaviors and training them all on the same task may result in some convergence; that is, they will eventually start acting similarly.

 

One final note:  The battle mode automatically spawns a team of the size determined by the properties of the current battle.  If you choose a team that is too small, NERO will cycle through and place clones on the field until the team is big enough.  If your team is too large, only the top n individuals will be placed into battle, where n is the specified team size (between 1 and 20) for the current battle.

 

 

V. Demo Arenas and Teams

 

NERO comes with several arenas and armies meant to provide examples of the system's capabilities.  These may provide inspiration for your own armies or projects, or you may even further train them yourself. 

 

Robots in NERO are capable of learning quite sophisticated maze navigation. For an example, load the "Virtual Navigation Arena" and place a flag at the center of the far end of the maze, where the walls are closer to the outer bounding wall.  A pretrained team called "DispersionDemo" has been provided that can navigate the maze.  The team was trained with "Approach Flag" rewarded and "Disperse" rewarded, and with collision off.  To see a demonstration, choose "Load then Go," load the "DispersionDemo" team, and turn Evolution and Collision off on the bottom panel.  You will see the team both navigate the maze and attempt to stay away from each other at the same time.  This demonstration is provided to give you a sense of the navigation capabilities that are possible. 

 

To train your own team with similar capabilities, you need to start with a single wall, and incrementally make the path more and more complex.  It took us about an hour of such incremental training to train the DispersionDemo team.

 

Several sample battle teams have been provided as well.  These include simple aggressors and avoiders as well as several more interesting teams that were trained by the NERO programming team.  This set of teams was trained specifically for battle in the "Shadow Grove" arena.  All 8 special teams start with the letters "Grove" and can be loaded into the Grove for battle or further trained.  Some teams, such as "Grove-Trung-DeathFromAfar," have quite sophisticated abilities, such as hanging back and acting like snipers without running away.  Many teams can run around the large dividing wall in order to attack their opponents in the “Shadow Grove”.

 

These demonstration teams provide a glimpse at what is possible in NERO.  There are many other arenas to train for and other skills to develop.

 

 

VI. NERO Support

 

For support, including email addresses, software and documentation updates, and discussion forums, please visit our website:

 

http://nerogame.org

 

 

VI. AI Technology in NERO: rtNEAT

 

While this section is not necessary to play NERO, you may be wondering how the robots in NERO learn.  This section briefly explains the technology behind NERO and points you to more detailed references.

 

A major goal of this game was to showcase how a novel machine learning technology can impact the video games industry.  The technology in the game is called real-time NeuroEvolution of Augmenting Topologies (rtNEAT for short).  rtNEAT is a real-time genetic algorithm; that is, a population of artificial neural networks is evolved by evaluating their performance and allowing the better ones to reproduce through crossover while eliminating the worse ones.  Over time, the process of Darwinian natural selection (survival of the fittest) yields better and better performers.

 

rtNEAT is the a real-time variant of NEAT, which was originally introduced in 2001 to evolve increasingly complex neural network topologies for difficult control problems.  After several years of successful agent control applications, NEAT was a natural choice for controlling video game characters.  To make this possible, the algorithm was altered to make it real-time, enabling the implementation of NERO.  rtNEAT can potentially supply the intelligence for agents in a variety of game and training genres.

 

A great deal of information is available on NEAT over the web.  The original journal article in Evolutionary Computation is a good introduction:

http://nn.cs.utexas.edu/keyword?stanley:ec02

 

A shorter award-winning conference-paper version is a faster read:

http://nn.cs.utexas.edu/keyword?stanley:gecco02b

 

This journal article provides more details on NEAT used to control mobile autonomous agents, a precursor to NERO:

http://nn.cs.utexas.edu/keyword?stanley:jair04

 

NEAT has its own Users Page, which includes pointers to available software and a FAQ:

http://www.cs.utexas.edu/users/kstanley/neat.html

 

A NEAT Users Group is also available: 

http://groups.yahoo.com/group/neat/

 

In 2000, Agogino, Stanley, and Miikkulainen published a paper on real-time neuroevolution. While this paper preceded NEAT, it was a major inspiration and proof-of-concept for eventually making NEAT real-time, and the game of NERO itself:

http://nn.cs.utexas.edu/keyword?agogino:npl00

 

rtNEAT is described in detail in the following paper, which won the Best Paper Award at the IEEE 2005 Symposium on Computational Intelligence and Games:

http://nn.cs.utexas.edu/keyword?stanley:cig05

 

Milestoning experiments (using the milestone option) and the associated algorithm are described in this paper from the first Artificial Intelligence and Interactive Digital Interactive Entertainment (AIIDE-2005) conference:

http://nn.cs.utexas.edu/keyword?dsilva:aiide05

 

Project NERO has its own special academic research website with links to publications and researchers:

http://nn.cs.utexas.edu/keyword?nero

 

Lastly, a lot of information can be found on Ken Stanley’s website:

http://www.cs.utexas.edu/users/kstanley/

 

 

VII. Appendices

Appendix A: Right Click context menu:

 

For Terrain (before starting a factory):

  • “Launch Team” - Spawns a population for you to train.  You can choose a population file to spawn from before entering training mode, or else "<Create New>" will automatically spawn a random population.
  • “Add Enemy” - Places the current enemy selected from the “enemy type” menu.
  • “Add Object” - Spawns a default obstacle box for you to manipulate in the world.  

 

For Terrain (after starting a factory):

  • “Add Enemy” - Places the current enemy selected from the “enemy type” menu.
  • “Add Object” - Spawns a default box for you to manipulate in the world.
  • “Set Spawn Point” - Changes the location where your army spawns.
  • “Remove Flag” - Removes a currently placed flag.
  • “Undo Converge” - Sets the populations brains to the way they were before converging took place (see below for converge button operation).

 

For objects:

  • “Move” - Moves the selected object to where your mouse is pointing.
  • “Rotate” - Rotates the selected object.  Moving the mouse right will rotate the object right, while moving the mouse left will rotate the object left.
  • “Scale X/Y” - Scales the selected object in the X/Y coordinate.
  • “Delete” - Deletes the currently selected object from the environment.

 

For enemies:

  • “Inhabit” – Allows you take control of the enemy through a first person perspective.  You may inhabit any enemy you place on the field, but only the turrets and pretrained soldiers have weapons that you can fire.
  • “Move” - Moves the selected enemy to where your mouse is pointing.
  • “Rotate” - Rotates the selected enemy.  Moving the mouse right will rotate the enemy right, while moving the mouse left will rotate the enemy left.
  • “Delete” - Removes the selected enemy from the environment.

 

For your own troops:

  • “Converge” - Replaces all current brains on the field with the selected soldier's brain.  You would choose this option for example if you see one individual doing the right thing and you want everyone else to be the same.  (Note that although the effects are quick and satisfying, converging loses diversity, which can have long-term negative effects on evolution and hence your team.) This operation can be undone with "Undo Converge," described above.
  • “Move” - Moves the selected soldier to where your mouse is pointing.
  • “Rotate” - Rotates the selected soldier.  Moving the mouse right will rotate the soldier right, while moving the mouse left will rotate the soldier left.
  • “Smite” - This will cause the selected unit's time limit to expire, thus sending him back to the factory for evaluation.  Useful for removing units that are doing the wrong thing.

 

Appendix B: Enemy Menu Descriptions:

 

Note: The "Add Enemy" menu option adds the enemy of the type currently selected in this panel.

  • “Normal Turret” – This enemy does not move, but has a weapon that fires in a ninety degree arc.

 

  • “Better Turret” – This turret arcs towards the closest target.

 

  • “Brutal Turret” – This enemy does not move, but has a weapon and fires at the closest enemy to it.

 

  • “Static Enemy” – This enemy has no weapon and does not move.

 

  • “Rover” – This enemy has no weapon, but runs around in circles.

 

  • “PreTrained” (variable number) - You can select a number (between 1 and 9) next to this option that specifies how many pretrained individuals to spawn together from a saved team.  Then, when you "Add Enemy," it will prompt you for a team file from which it will draw the top n robots, where n is the number currently selected.  Those robots will be spawned as *enemies* that are now playing against your team.  In this way, you can train your team off of other teams you already trained!  It is also possible to spawn several different types of pretrained enemies at the same time by adding them separately. Note however that the pretrained individuals are not evolving in this case- only your current training team evolves.  Finally, you can remove pretrained enemies just like any other: Press "p" to pause, find the pretrained enemy you want to remove, right-click on it, and choose "Delete."  Note that this is an extremely useful option for training your team against different style of play.

 

Appendix C: Slider Menu Descriptions:

·                                 

  • “Approach Enemy” – This objective controls whether your soldiers approach the enemy or not.
    • Reward: Your soldiers approach the enemy.
    • Punish: Your soldiers stay away from the enemy.

 

  • “Hit Target” – This objective controls whether your soldiers shoot at enemies or not.
    • Reward: Your soldiers will shoot at enemies.
    • Punish: Your soldiers will not shoot at enemies.

 

  • “Avoid Fire" – This objective controls whether your soldiers should avoid getting shot by enemies or not.
    • Reward: Your soldiers will try to avoid getting hit.
    • Punish: Your soldiers won’t mind getting hit.

 

  • “Approach Flag” - This objective controls whether your soldiers approach the enemy or not.
    • Reward: Your soldiers approach the flag.
    • Punish: Your soldiers stay away from the flag.

 

  • “Stick Together” – This objective controls how much your soldiers group together.
    • Reward: Your soldiers will group up together.
    • Punish: Your soldiers stay away from each other.

 

  • “Stand Ground” – This objective controls the amount of moving your soldiers will do. 
    • Reward: Your soldiers become sedentary.
    • Punish: Your soldiers move a lot.

 

  • “Approach Enemy Range” – This slider is tied to the "Approach Enemy" slider and is only used when "Approach Enemy" is being rewarded.  This slider sets the optimal distance away from the enemy that you want your soldiers to reach.  For example, if you set this slider to "Near", and reward "Approach Enemy", your soldiers will get as close as possible to the enemy.  If you set this slider to "Far", and reward "Approach Enemy", your soldiers will approach the enemy, but they will try to stay far away from them.  Regardless of how you set this slider, if you punish "Approach Enemy", your soldiers will try to stay as far as possible from any enemies.

 

  • “Lifetime Slider” – Controls how many seconds your soldiers are on the field before they are evaluated and respawned.  Note that for easier tasks, they need less time on the field, and for more complex tasks, they need more time to complete the task.  If they don't seem to be learning, they may need more time.

·                                 

The slider panel contains 1 button:

  • "Apply" - Makes the current slider settings come into effect.  If you do not press apply, the sliders will not come into effect even if you have changed them recently.  Only Apply makes settings active.  If you have recently changed slider settings, and not pressed "Apply", a red light at the top left of the slider box will flash on and off signifying that you have not committed your slider settings.

 

 

Appendix D: Bottom Menu Descriptions:

·                                 

  • “Evolution” – This toggles evolution on and off.  When pressed, your units will not learn anything, but they will to continue to perform at the same level.  By default, evolution is on.

 

  • “Collision” – This toggles whether your soldiers can run through each other or not.  By default, collision is enabled.  It may be useful to disable it in situation where robots are blocking each other during early learning phases of (for example) path navigation.

 

  • "HUD" - The "Heads Up Display" will only work when you are displaying stats over their heads (using the space bar).  If it is in stat mode in this way, the HUD will cause a sensor/output display to appear above the head of every robot on your team. This depiction shows you what the NERO robots are seeing and doing.  While this mode is not necessary for playing the game effectively, it may be interesting to those involve in AI research or curious about the rtNEAT technology behind NERO. Thus, it is really just an option to satisfy your curiosity.  In order from top to bottom, the bars represent the levels of (25 total inputs and outputs ):

o        2 Friend Sensors that tell the robot the center-of-mass of friends in the local area

o        5 Enemy Radar Sensors 

o        1 On-target (i.e. lasersight) Sensor

o        5 Wall-detecting Ray-casting Sensors

o        5 Flag Sensors

o        2 Enemy Line-of-fire Sensors

o        Forward/Reverse Movement Output

o        Left/Right Turn Output

o        Fire Output

o        Dummy Output (reserved for future use)

o       Ignore Friends Output (allows it to decide not to pay attention to its friend sensors)

 

  • “Spawn” – These three buttons change the spawn style of your factory. From left to right, crowded, line, and circle spawn styles.  Note that in some cases the placement of the factory may cause certain spawn styles to spawn robots off the main arena.

 

  • “Save Army” – This button saves your current trained army into a population file.  This file can be used as a base for a new training population, loaded up for battle mode, or edited through team creator mode to create the ultimate army.

 

  • “Save Map” – This button allows you to save your wall configuration as a mission file.  You can load this mission up in the future so that you don't have to recreate your wall layout.  You can host a battle using this mission file. Be careful not to overwrite existing mission files.

 

  • “Reset” – This button resets your current population to when you first started training.

·                                 

 

Credits

more information available at  

www.nerogame.org