Features

This page outlines some of the major features of the components of the TRSoccerbots software package.

TREditor

TREditor is a streamlined yet powerful graphical user interface for creating teleo-reactive programs for use in the TRSoccerbots simulator. The flexibility of the interface allows a user to program using only the mouse, only the keyboard, or any combination of the two.

Features include:

  • Intuitive interface that was developed utilizing fundamental HCI principles and weeks of user testing
    • Informative ToolTips that pop up information when the mouse hovers over any part of the screen
    • Resizable panels that automatically attempt to give users the best view for any given resolution
    • Informative icons
  • Intelligent text sensing
    • Syntax highlighting clearly differentiates conditions, actions, comments, and errors
    • Dynamic help
      • Displays pertinent information to the user as soon as the name of a condition or action is typed (i.e. how an action is used with what arguments)
      • Describes in detail any errors in a rule as each new line is entered
  • Automated cursor placement – as the user clicks to add any conditions, actions, or objects, the cursor is automatically placed in the correct position, greatly simplifying the task of programming
  • Error checking to ensure the user never gives any erroneous input or makes any mistakes (e.g. a message box warns the users if they try to close the program before saving or create a new behavior with the same name as another behavior)
  • Cut, copy, paste – all the amenities a user expects from a modern text editor.
  • Appropriate menus, including context menus for objects that pop up when the user clicks on them
  • Created in Visual C# .NET

TRConfig

TRConfig provides an easy-to-understand interface for setting up soccer matches in the TRSoccerbots simulator. With the TRConfig, it’s easy to load in programs that were created in TREditor and start a soccer match.

Features include:

  • Mouse buttons provide simple “click and drag” control for positioning robots on the field and setting the direction they are facing
  • Error checking ensures robots are configured properly before a match begins
  • Helpful warning messages to alert users of useful information

TRSoccerbots Simulator

Once the user has written programs in the TREditor and has used the TRConfigurator to setup a soccer match, the TRSoccerbots simulator begins.

TRSoccerbots simulates a soccer game in which robotic players are driven by the user’s TR programs. It features a fully functional TR interpreter that is also capable of processing parallel actions as well as a robust physics engine that allows for accurate world dynamics.

Our primary goal in creating the TRSoccerbots simulator was to create an exciting, graphically-rich environment in which users can see the results of their programming efforts. By creating a fully rendered world with dynamic sound effects and realistic physics, TRSoccerbots strives to capture the energy of a true soccer match and inspire users to become truly excited about refining their programs as much as possible. TRSoccerbots also supports a number of features that are designed to aid users in debugging their programs.

To this end, the TRSoccerbots simulator features:

  • A rich and dynamic world
    • A frame-rate independent animation system based on interpolated values, allowing for the most fluid animation that the process can handle
    • Completely original robot models with distinct animation sequences for every possilbe user action
    • A fully articulated crowd that responds to the action on the soccer field
    • Cut scenes that mark major events in each soccer match and provide each team with a unique personality
    • 4.1 Surround sound
  • A game mode
    • Ability to choose from a large set of cameras views to enjoy the game.
      • Includes a dynamic, free floating camera that automatically focuses on the most important elements of each match
    • The ability to take control of a robot and directly participate in a match
    • Replay mode that allows users to watch the match again.
  • A debug mode
    • Displays current actions, showing users exactly which lines of the user written code a robot is responding to in the current world state.
    • Active control over time – user may pause, advance by one time tick, set to slow motion, or run at full speed.
    • Robots and the ball can be moved and rotated with the mouse.
    • Ability to focus on a robot in isolation by taking control of a single robot and disabling all others