Project SteeringGame (previous versions known as SteeringTool) visualizes steering techniques proposed by Craig Reynolds in 3D virtual environment provided by UnrealEngine2RuntimeDemo game engine.

SteeringGame is an educational logical game, where the player has to guide an agent through a virtual 3D city using steering behaviors. Steering behaviors are a force-based mechanism, using which is the steered agent able to solve simple tasks (such as avoiding obstacles, going to a certain place, etc.). These steering behaviors may be configured differently (e.g., how much is the agent “afraid” of hitting a wall) and, ultimately, combined. Finding the proper combination and configuration of steering behaviors is the way to success in this game: In SteeringGame, you have an agent, some money to spend on making steering behaviors available to him, and a set of tasks to solve using these steering behaviors.




Starting the game

You need to run 3 files in this order:

  1. Server. You will find it in the directory with the installed SteeringGame:
    • c:\Games\SteeringGame1.0\UnrealEngine2RuntimeDemo\System\startEmohawkServer.bat
    • If the window about allowing communication of UCC appears, confirm Allow access.
  2. 3D virtual environment (UE2Runtime). It will be in the same directory:
    • c:\Games\SteeringGame1.0\UnrealEngine2RuntimeDemo\System\startUE2Runtime.bat
    • Wait 10s and then confirm OK. When the environments is loaded, press Esc.
  3. The SteeringGame. Run the file:
    • c:\Games\SteeringGame1.0\SteeringGame.exe
    • Loading could last some time (about 1 min).

How to move in the UE2Runtime

At first, click on Spectate. Afterwards navigate in the environment by using mouse and arrow keys. Using the left mouse button, you can observe one of the agents and move with it. (If it doesn't work, try to press Alt key.)

To get out of this window, use the key short-cut Alt+Tab. To resize the window, press Esc and resize it. Afterwards click on Continue.

Game controls

SteeringGame has 3 modes: game mode, testing mode and editing mode. To change the mode select it in menu Game.

Testing mode

You can create your own scenes and observe all implemented steering behaviors. This mode had formerly its own application called SteeringTool.

Read the Help (you'll find it in the application menu) for more details about this mode.

Game mode

All you need, is to be seen on the map - the small circles with numbers are checkpoints (tasks) of the agent. The agent has to go through these checkpoints in the given order.

Editing mode

In this mode you can create your own game missions.

The implemented steering behaviors

  • Obstacle Avoidance
  • People Avoidance
  • Target Approaching
  • Path Following
  • Wall Following
  • Leader Following
  • Walk Along


This component allows to display process of one or more run scenes. The user may load data of previously saved scenes and display the trajectories of agents in the scene. It is displayed how the trajectories changed in time, along with forces that affected the agents.

It helps to understand behaving of agents in the scene and generally to undestand steering behaviors. Moreover trajetories of more scenes may be displayed simultaneously, thus allowing the user to compare several scenarios at once.

Component Trajectories


Testing mode

SteeringGame main window SteeringGame map

Left: The main window of the application. Right: The bird-eye-view map of the city for user-friendly setting of locations, rotations and other parameters.

Game mode

SteeringGame game mode

SteeringGame game mode


Czech presentation about SteeringGame 2.0: SteeringGame 2.0 (in CZ).


  • Markéta Popelová: author of SteeringGame 1.0 and main programmer of SteeringGame 2.0
  • Jakub Tomek: translation, testing and assistent programmer of SteeringGame 2.0
  • Jakub Jirka: level designer and author of the story of SteeringGame 2.0


This project was partially supported by project P103/10/1287 (GACR) and by a student grant GA UK No. 0449/2010/A-INF/MFF.

project/steeringgame.txt · Last modified: 2012/08/18 18:43 by marketa.popelova