Game Management System for Teams


Game Management System for Teams.. 1

Speedy Start.. 1

Summary.. 1

Serving Suggestion... 2

Setting up GMS.. 3

Selecting login modes.. 3

Starting GMS.. 4

Scouting... 5

Syncing.. 9

Survey Analysis.. 12

Shaping the rubrics.. 14

Sample Rubrics.. 17

Setting Schedules.. 18

Status Screen... 19

Sayonara.. 20


Speedy Start

Do the following to get a quick demo of this Android app.

  1. In Google Play, search for "GMS FRC".  Install the app that has the green bot with a FIRST logo on its tummy.
  2. Give it the permissions it needs.
  3. Login using any userId & password.  Select Role = Team, Online, Shared Server, FRC.  Remember the password for next login.
  4. Select event, preferably Test Event or one that is ongoing.  Match schedules will not be available for future events.
  5. Click the ? button at the top for help.




Besides scouting, GMS enhances a team's experience at robotics events.  GMS allows a team to:

Scouting is simplified because all the team information and match schedules are automatically downloaded.  Game specific Rubrics allow scouts to gather information quickly and precisely.  Detailed information on participating teams are conveniently available.

GMS runs on most Android tablets and phones.  It uses Android Beam (NFC) or Bluetooth to share data between devices, or a USB cable to share data with a Windows PC.  It can work without WiFi in offline mode.


Serving Suggestion

One way to use GMS would be to have a "Scout Leader" who would set up all devices and coordinate the team members who do the actual scouting.  There is no limit to the number of scouts.

The Scout Leader would develop a strategy for scouting.  It includes deciding what information needs to be collected, how it should be analyzed and prioritized, and how the analyzed data should influence alliance selection.  GMS will help with these steps.

GMS comes with a default set of rubrics for Match Scouts and Pit Scouts.  These rubrics help scouts collect the required information precisely.  The Scout Leader can optionally customize the rubrics that are to be used.  Customization requires a fair amount of thought and should be done prior to the event.  The customization can be improved for subsequent events.

The Scout Leader would have a "Master" device (tablet or PC) used to merge information gathered by the scouts.  It is also used to setup the devices used by scouts.

Though GMS is optimized for Android Beam, information gathered by scouts can also be merged in other ways.  You could use Bluetooth or merge to a PC using a USB cable.  Details are described in section Syncing.

The Scout leader would direct Pit scouts by assigning them teams to interview.  Each scout would highlight the assigned teams on their tablets.  The leader would also direct Match scouts to observe teams in matches.  A simple way is to assign one scout to observe teams in position Red 1 in all events, another scout to observe position Red 2, etc.  A scout may observe multiple teams per match.

During the event, scouts would periodically "Sync" their data with the Master device.  This helps protect the data in case a tablet gets lost.  GMS can also be configured to periodically save the collected data to a backup file. 

Most importantly, the Scout Leader can analyze the merged data to help make alliance selection decisions.  GMS can summarize data in useful ways.  Data can also be uploaded to a PC and then exported to Excel.  However, GMS is only a tool, not a genii or an oracle.  You need to get familiar with it to hone your skills and perfect your strategy.


Setting up GMS

The following steps can be used to set up GMS for an event. 

Select the event.  Verify that the latest Qualifications schedules are downloaded.  If schedules will not be available, create schedules as described in Setting Schedules.  If a scout's device does not support Android Beam or Bluetooth, then repeat these steps for that device.  The details are described in section Starting GMS.


Selecting login modes

There are two modes displayed on the login screen: Online and Offline.

For Online mode, Teams must select "Shared Server".  ("Dedicated Server" is for Volunteers.)  GMS will periodically fetch the latest event status from the Internet.  The update frequency can be configured via Settings: Update Period.  The downloaded information can include: current match number, scores & rankings, Pit Admin announcements, inspection status, match schedule changes, etc.  If Internet access is lost in online mode, then an annoying error message will periodically pop up.

GMS can be used in Offline mode, where it will operate autonomously without WiFi communications.  It will not try to update itself  or communicate with external servers.  This mode is useful when Internet access is not available.  GMS continues to use the information obtained from the previous online login or merged data.  It can be used to gather new data and sync the data with other devices using Beam or Bluetooth.


Starting GMS

To login, select the Team role.  Choose a user name and a password.  Any name and password can be chosen, however the same credentials must be used to access the scouting data previously recorded by that user.  The name and password are not sent anywhere.  Each scout should ideally choose a unique name as it will identify their comments.  While setting up GMS, the device must be able to access the Internet over WiFi.  Select Online and Shared Server.  Press the Login button.

On the first login, each user will be asked to select an event.  This screen can be bypassed on subsequent logins.  Each column can be sorted by touching the column header. 

GMS may ask to enable NFC and Notifications.  This enables scouting report merging using NFC.

When an event is selected, GMS downloads all available information, including match schedules, pit maps, and details of participating teams.  While in Online mode, GMS will continue to periodically download updates, including match scores and rankings, team inspection states and Pit Administrator announcements. The Match Schedule and Pit Map may not be available until a few hours before the start of the Event. 

A Test Event is available in the list of events.  It has a sample schedule and pit map.

After GMS is set up, logout and log back in Offline mode.  GMS will not use WiFi in this mode.



There are 2 types of scouting: Match scouting and Pit scouting.  Match scouting allows multiple scouts to observe and report on teams' performances in matches.  Pit scouting allows scouts to report on robot attributes based on interviews with the teams.  All reports can be merged to the Master device (tablet or PC). 

Match Scouting

The Match scouting page displays the current match and the team alliances that will be competing.  The alliances and schedules will be pre-configured by the procedure described in the Setup section.




Match scouts can review and edit comments on previous matches by clicking on the Previous or Next button.  Touch the large button labeled "Start Observing" to start entering comments.  This will display the data entry screen for 6 teams and the Match.  Pages for other teams come into view when the screen is swiped sideways.  Alternatively, long press on a team and select "Observe Team".  This allows only one team to be observed.  Long pressing the "Start Observing" button allows you to enter observations on the match.

Free form comments can be entered into the upper part of the team area.  Text can be entered using the soft keyboard, Swype, or via voice transcription.  A noise cancelling headset is recommended for voice transcription in the presence of rowdy spectators in the stands. 

The Rubrics displayed can be scrolled vertically.  Select the buttons that apply.  Buttons can be unchecked by long-pressing them.

Match Scouts can view up to 4 teams simultaneously in Landscape mode.  Select the number of teams by clicking: Settings: Display: Teams per page. 


If a previously played match is being reviewed, comments made by other observers for that match will be displayed.  These comments cannot be modified or deleted, but additional comments can be added as explanations.

The left most screen contains rubrics for the match itself.  It can contain information like whether that match was replayed, or if the robots were waiting for a long time before the match started.

Exiting this screen automatically advances the current match number.

Pit Scouting

Pit scouting allows team members to gather information about a team and their robot.  It uses a different set of customizable rubrics.  Click on the Interview button on the team page to start the Pit Interview.  Clicking on the Resume button displays only the unanswered rubrics.



Team Page

Clicking on a team button displays the Team Page.  This screen summarizes information about the selected team which may be useful while preparing to interview them.  Additional award history is available by clicking on Details button.  Private notes on each team can be entered and viewed on the Team Notes page.  Click on the Match Notes button to see all available match comments made on a specific team.



Team Notes

Both Pit scouts and Match scouts can take notes on teams.  Notes include pictures, videos, finger drawings and text.  Notes can be merged or shared between team members if Android Beam (or Bluetooth) is used.  You can also annotate pictures.  Notes can be searched.  It would be easy to find the team that had a note containing the word 'flamingo'.

Pit Map

A Pit map will be available if the event publishes it.  The teams will be color coded to indicate whether the team is on the field (Red), queuing (Yellow), or if it is on the personal list (Orange).  When the Match schedule is available, swiping the pit map horizontally changes the displayed match number and the teams that are being queued.  Swiping to the right increases the match number and swiping to the left reduces it.  Have fun.  Try long pressing on a team. 

Swiping the Pit map vertically displays the Team List.  This list is color coded similarly.  Try touching or long-pressing a team.




All data entered by scouts can be easily merged with the Master device.  The Master device can be a tablet or a PC.  Data from the scout device is sent to the Master device for merging.  There are three ways for syncing.

1) Syncing with Android Beam

Data is transferred from a sender to the receiver.  Both devices must have Android NFC Beam capability.  Both parties must be logged-in to GMS, and the GMS app must be in the foreground.  At the end of the operation, the receiver will have merged data and notes from the sender. 

All Beam operations follow the same sequence.  There are two steps:

  1. For the first step, hold the two devices together (back to back) until the Beam tone is heard.  Touch the screen only on the sending device.  The Android Notification bar will show an uploading or downloading arrow icon.  It may take a while for the beam to complete if Picture Notes are involved.  The arrow icon will stop moving and a Beam complete tone may be heard when the transfer completes.  It is common for the receiver to accidentally touch the screen, if so, just repeat this step and do it right this time. 
  2. The data is now on the receiving device but it needs to be imported into GMS.  There should be a Beam downloaded arrow icon in the Android Notification bar.  For step 2, pull down the Notification bar.  The Beam icon should say: "Beam Completed.  Touch to view."  Touch it and select "GMS Beam Importer" from the chooser that pops up.  The sync process is now complete.  All rubric buttons and notes (including pictures) are copied over.  You may be logged out if new schedule data is imported..

The Beam operation is useful in the following cases:

  1. Data is sent from the Master device to the scouts during setup.  Ideally, the scout should be logged in offline.
  2. Data is sent from the scout's device to the Master device during syncing.
  3. Merged data can optionally be synced back from the Master to the scout.  This just lets the scout have the latest reports.  Note that only Picture/Video images belonging to the sender are synced.  So, the scout may not get pictures taken by other scouts.  Ask the original picture taker to sync the picture to other scouts.
  4. Data can also be copied from a scout to another scout.  As long as there is no conflicting report in a match, all data will be merged.  This operation can be used to set up a scout device using another scout device (instead of the Master as in case 1). 

Scouts should be warned not to accept Beams from other teams that may have incompatible rubrics.  This may corrupt the Master device.

As a safety feature, "Terse / Expert" mode should be enabled only on the Master device.  Select Menu: Settings and check on Expert Mode.  This skips importing rubrics and match schedules from the sender and prevents the Master device from getting corrupted by a potentially messed up scout.  The scout devices should not have this setting enabled.

2) Syncing with Bluetooth

This function is similar to Syncing with Beam, but the steps are different.  The sender and receiver must have Bluetooth capability.  Both parties must be logged in into GMS and must click the "Share" icon to get to the Bluetooth Share screen.  The receiver should first click on the Receive button and enable Bluetooth visibility.  The sender should then click Transmit.  After a few seconds, the available receivers will be displayed to the transmitter.  The receiving device will display its name and address.  Wait for the target receiver to appear and select it.  Verify the MAC addresses.  Both parties may now need to verify Bluetooth pairing.  Lastly, the receiver must click a button to accept data from the transmitter.  The "Terse / Expert" setting is used as in Beam.


3) Syncing to a PC

The PC must have GMS installed for this function.  Copy your pit and match rubrics into the event folder.  Specifically, your Match rubrics should replace the file called moRubrics.txt and your pit rubrics should be in RIChecklist.txt.

Connect the device to the PC using a USB cable.  You may need to install USB drivers for the device on the PC. You may also need to explicitly allow Android to open a USB connection. 

On the GMS app on the PC, login using the id: team, password is team, role is Team.  Select your event and click Back.  Select File  à Import from USB Device.  You will need to browse to the Android device, into the com.pejaver.gms/ folder, and into the folder with the scout's name.  Select the file called state.txt.  Verify importing by clicking on a team number (Team column) or team nickname.  You should see the Match comments and Pit checklist respectively.

If you do not see a directory with the scout's name or if you get an error, restart the scout's device and try again.  Recent Android versions use the Media Transfer Protocol to transfer files over the USB cable.  This screws things up severely while uploading data.  You may need to power off and restart the Android device just before syncing to a PC.  Also, unplug the USB cable and plug it back in.  Restart the PC.  Stand on one foot and hop 3 times.  For me, it works eventually, just before I am ready to send the tablet to the next room through the wall.

GMS will try to sync the merged data back to the scout's device.  It will fail if the Android version is newer and uses MTP.  It may succeed for older devices that use honest USB.  One way to Sync data to a tablet is to create a state.txt file via File  à Export to Android, and copying that file to the tablet.


Survey Analysis

Scouts can gather a lot of data.  After merging, the data is available on the Master device (tablet or a PC) for analysis. 

On a tablet:

The merged data is organized by teams.  A team can be selected by touching the team number on the pit map or on other screens.  This displays the Team page. 

The screens here show a demo match with simulated data.  Note that ‘moe’ and ‘molly’ on the screens are the names of two fictitious scouts.  All comments are imaginary and do not relate to any team living or dead.  The data on the screens scroll vertically and horizontally.

In Match Notes, all free form comments are collected at the top.  Each comment is annotated with the match number and the comment writer.


Each rubric question is summarized below the comments. It lists the counts for each choice for that team.  The line below shows the total counts for all teams.

When properly constructed, the checklist provide useful “quantitative” information.  It can be used to answer questions like: “how effective was team XYZ in catching the ball?”   It can provide an answer like:

In the 10 matches they played, team XYZ attempted to catch the ball in 8 and were successful in 6;   In comparison, other teams in the field attempted to catch the ball 100 times and were successful 21 times.

This indicates that team XYZ has a 75% (6 out of 8) success rate with catching compared to the event average of 21%.  The “10 matches” may not be relevant since they may not have had alliance partners capable of throwing a ball.

GMS can drill down even further and provide useful information.  If asked the question: “which team was most effective in catching the ball?” touching a checklist summary on the tablet will display a list of all teams sorted by their effectiveness for that checklist question.  Each column can be sorted in ascending or descending order by touching the column header. 

Pit scouting information is summarized on the "Team List" page.  Each team is listed as a row.  There is a column for each Pit rubric.  The column can be sorted by touching the column header.


On a PC

Data is collected and merged, but cannot be analyzed on the GMS server.  It must be exported to an Excel CSV file by selecting File à Export Match Observer and File  à Export .  Match and Pit data are exported into separate files.  Sample CSV files are at and

Analyzing these files is out of the scope of this note, i.e., your problem.  Learn about Tableau for advanced analytics and visualizations. 

Team notes cannot be exported to or viewed on a PC.  Maybe in a later implementation.


Shaping the rubrics


Rubrics help scouts gather consistent data and record precise responses.  They need to be worded appropriately to be effective.  Scouts should also be trained to record data consistently.  A trial run will help, and of course, rubrics can be fine tuned after each event.  A rubric can have several Sections, and each section can have multiple lines.  Each line can be an Instruction or a Question.  There are two forms of Questions: a question can have Options for responses, or it can be a Counter.

Rubrics should not be changed during an event: if they are, all collected data may be lost.

The questions in the rubric can be left unanswered, or a response can be selected by checking a button.  Long press on a button to clear it.

Examples of Option Questions are:

Balls Thrown? 1, 2, 3, 4, 5

Gracious Professionalism? Abominable, Passive, Admirable

Main Strategy? Defense, Passer, Shooter


Counters can replace options in a Question.  Use the keyword $COUNTER.  For example, the following can be displayed on a Match Scout's tablet:

Balls Thrown?


Blocked Opponent's shot?


Clicking on the arrows will increment or decrement the counter by 1.  Examples of Counter Questions are:

Balls Thrown? $Counter =0 >0 <5

Blocked Opponent's shot? $Counter =0, <19, >0

Blocked Alliance's shot? $Counter =0, <5

In the "Balls Thrown" question, the value of the question will be between 0 and 5 depending on the number of times the arrow buttons are pressed.  The starting value is 0, the minimum value is 0 and the max value is 5.  Those who program will note that '>' really acts like '>=' and '<' acts like '<='.

The Rubric will have a value only if it is keyed.  Long-pressing on a arrow button will reset the question. 

The Survey Analysis pages will display the Total, Min, Max and Average values for Counters.


Each line in a rubric can be a Section title, Question or Instruction.

  1. A Section title is specified by enclosing the title between ‘<<<’ and ‘>>>’.  This title will be displayed in bold on the mobile device. 
  2. A Question requires the scout to select a response.  The response options are listed following a question mark (?). 
  3. In a Option Question, each option is used to label a single choice radio button. 
    1. If no options are specified following the question mark, the default options are ‘No' and ‘Yes'.
    2. The syntax for specifying a Question with Options is:

QuestionText? [ optionText1 [: value] [, optionText2 [: value]  ... ] ]

    1. If not specified, the defaults for 'value' are the index of the option, starting with 1
  1. For Counter Questions,
    1. The syntax for specifying a counter is:

QuestionText? $Counter [ =start ] [ <max ] [ >min ]

    1. The keyword Count is case insensitive.
    2. The start, max, min and factor are numbers that immediately follow a character code.  There should be no space between the character code and the number.
    3. The counter starts with the value start and is bounded by min and max.
    4. The increment step is always 1
    5. If specified, commas are ignored
    6. If not specified, the default values are:

·         start: 0  (initial value)

·         max: 5

·         min: 0

·         factor : 1.0

  1. An Instruction should not contain with a question mark.
  2. Blank lines can be inserted as separators.


The following fragment of checklist rubrics generate the screen shown below.


Initial Activity? Dead, Moved, Mobility Zone

Did it detect the Hot Goal? No, Yes

Did it score in Auto? Attempted, Low Goal, High Goal

Extra credit? Attempted, Low Goal, High Goal

<<<TeleOp Period>>>

General efficiency? 1, 2, 3, 4, 5

Main Strategy? Defensive, Passer, Shooter



There are two separate rubrics: one for Pit scouts and another for Match scouts.  The default sets provided can be easily modified or customized for each team.  

The Pit Rubrics are summarized in the Team List page as shown above.  To save space, only the first word of the rubric question is used as the column header.  Make the first word representative of the rubric.  See the sample rubrics file pit_rubrics.txt for examples.  Note that the first word of each rubric is unique and describes the rest of the rubric.

Lastly, there can be special section in the Match rubrics file. The rubrics listed after a header called "<<<Match>>>" are used as match rubrics.  These collect data on each match, independent of teams and alliances. .  This section must be last, following all other sections.

Installing Rubrics

The customized rubrics must be installed on the Master Android device in 2 files.  If it is not already there, create a directory called com.pejaver.gms on the Android.  A simple way of creating this directory is to start GMS.  The rubrics must be copied to the GMS directory on the Master Android device.  Their contents will be automatically transferred to scout devices during setup using Beam or Bluetooth.

The files must be called match_rubrics.txt and pit_rubrics.txt.  GMS will read these files only when logging in to an account.  If you make changes to the files, you will have to logout and login again on the Master device.

Copy the customized rubric files into this directory.  One way is to connect the device to a PC using a USB cable.  If you don't see the directory from Windows, restart the Android device (not a GMS bug!)  Connect the Master device to the PC using a USB cable.  You may need to install USB drivers for the device on the PC. You may also need to press a button to allow Android to open a USB connection.

You can also create or edit the files directly on the Master tablet.

Repeat this procedure for Scout devices that do not have NFC Beam/Bluetooth, since the rubrics are not copied automatically to them.

Sample Rubrics

The default rubrics for the 2016 Recycle Rush game are listed below.  They can be downloaded from and

Match Rubrics (in match_rubrics.txt)


Category A? Portcullis, Cheval de Frise

A Position? 2, 3, 4, 5

Category B? Moat, Ramparts

B Position? 2, 3, 4, 5

Category C? Draw Bridge, Sally Port

C Position? 2, 3, 4, 5

Category D? Rock Wall, Rough Terrain

D Position? 2, 3, 4, 5



Start Location? 1, 2, 3

Robot Movement? Reaches Defense, Crosses Defenses, Did Nothing

Defense Position? 1, 2, 3, 4, 5

Shot a Boulder? Scored Low, Scored High, Attempted, Did Nothing

Autonomous Points? 0, 5, 10


<<<TELE-OP PERIOD - Robot>>>

Which defenses could the robot traverse:

Defense A? Cheval de Frise, Portcullis, None

Defense B? Rampart, Moat, None

Defense C? Drawbridge, Sallyport, None

Defense D? Rock wall, Rough Terrain, None

Lowbar? Yes, No

Goal capabilities? Low, High, Both, None

Goal Accuracy? Poor, Fair, Good, Excellent

Match Ending? Challenge, Scale, None

Block opponents? Yes, No

Hold doors open? Yes, No

Does Robot Damage Defense? 1, 2, 3, 4, 5

How may defenses did robot damage? $COUNTER =0 >0 <10 *1

Steal Boulder? Yes, No

Boulder management? Herds, Shoots Low, Shoots High, Carries

Assists other bots damage defense? 1, 2, 3, 4, 5


<<<TELE-OP PERIOD - Alliance>>>

Ranking Points? $COUNTER =0 >0 <9 *1

How many fouls did this alliance cause? $COUNTER =0 >0 <21 *1



Failures? Tipped over, Died, Part fell off, Communication Error

Liabilities? Penalties, Disorganized, Got in the way

Driving speed? Poor, Fair, Good, Excellent

Driving agility? Poor, Fair, Good, Excellent

Human Player (write about specifics in comments i.e. how consistent were they, how far could they throw, etc.)? Poor, Fair, Good, Excellent



Match replayed? Scoring issues, Field reset, Comms

Excessive starting delay?

High scores in match?

Pit Rubrics (in pit_rubrics.txt)

Rating? 1, 2, 3, 4, 5



Wheel type? Track, Standard, Pneumatic, Mecanum, Omni, Swerve, Other

Boulder Manipulator? Forklift, Claw, Vacuum, Rollers



Autonomous Mode? No, Yes

Strategy? Defense, Offense, Both

Cross Defenses? No, Yes

Shoot Boulders Low? No, Yes

Shoot Boulders High? No, Yes

Challenge Tower? No, Yes

Scale Tower? No, Yes

Boulder Management? None, Shoots, Herds



Friendliness? Foes, Neutral, Friends

Helpful - Graceful Professionalism? Yes, No


Setting Schedules

In the ideal situation, match schedules are automatically downloaded for the selected event.  However, there will be times (like in off-season events or during practice matches) when the schedule is not published online.  The Scout Leader would need to manually enter the schedule.  To do this, select Settings: Terse/Expert Mode.  This enables the Schedule buttons in the home page.  The Terse/Expert setting is meant to discourage scouts from messing with the schedule.  You can also get to the Schedule page by long pressing on the title on the Team List page.

To insert an event after the current event, construct the alliances by selecting a driver station (Red 2, Blue 3, etc) before selecting a team.  Press Confirm to save the selections.

After a schedule has been configured, it can be shared with all other scouts using Beam or Bluetooth.  Devices without these capabilities lose out and need to be configured individually.



Status Screen

When logged in (online), the tablet displays Pit Administration announcements as shown below.  Touching a message changes it from red to black indicating that you have already seen it.


Someone silly suggested starting section subjects similarly as S as a sick stunt....   so sue us.


(c) Raj, Dec 2014