This feature is available in Broadcast Pro and Broadcast Enterprise only.
Forio Broadcast Pro and Broadcast Enterprise allow you to store a Score model variable (which must be named Score) and up to four other model variables (named Metric1, Metric2, Metric3, and Metric4).

For example, you might have the four metrics be based on revenue, customer satisfaction, employee satisfaction, and production, while Score is an amalgamate of those items.
In addition to saving high scores, you can also store text information using the Message Fields and display them with the reference $Score.Run.Messages. For example, you might save answers to the questions "What is your planned strategy?", "Describe your strategy", and "How did your strategy work out?"
If the simulation player is a logged-in user you can access their account information with $Score.EndUser. For public simulations (no usernames or passwords), store the name with a message field.
Broadcast Pro and Enterprise allow you to store 5 pieces of numeric information related to high scores:
|
Variable Name |
Example |
|
Score |
V Score = Cumulative Profit |
|
Metric1 |
V Metric1 = Market Share |
|
Metric2 |
V Metric2 = Product Quality |
|
Metric3 |
V Metric3 = Employee Morale |
|
Metric4 |
V Metric4 = Customer Satisfaction |
Example text information you might want to store
|
Message Key |
Field Name |
Example |
|
Name |
M_Name |
"Sam Jones" |
|
|
M_Email |
"sjones@sjones.com" |
|
Strategy |
M_Strategy |
"My strategy was successful at increasing market share, but my company lost a lot of money." |
Every game played by the user allows you to store some or all of this information, which can then be displayed in a "High Score List".
You need to provide a mechanism to capture high score information. This can either be done automatically or controlled by the simulation user.

Set the form method to "post". Set the action to the web page you would like the user to link to after the submit button is pressed.
<FORM method="POST" ACTION="displayscorelist.htm">
ACTION="displayscorelist.htm" takes the user to the high score page after the user's high score has been posted to the database.
Name the fields M_Email, M_Name, or M_Strategy.
|
<input type="text" name="M_Name"> <input type="text" name="M_Email"> <textarea name="M_Strategy" cols="56" rows="4" wrap=virtual></textarea> |
Setting the text box name to a field name that starts with "M_" tells Broadcast to save that info for this run.
Name it FD_action and set its value to post_score.
<input type="hidden" name="FD_action" value="post_score">
This tells Broadcast to save the score and the metrics when the submit button is pressed.
Create a submit button with the value Submit Decisions
<input type="submit" value="Submit Strategy">
This lets your users press 'Submit Strategy after they have described their strategy.
After high scores are posted, you can retrieve them and list the high scores. You can name your high score web page anything you like. For example, to create a high score link, you could use:
<A HREF="#Link('displayscorelist.htm')">View High Scores</A>
Scores are retrieved from the $ScoreList collection, which contains all the high score information for all simulation users. A simple web page that retrieves high scores looks like this:
|
#foreach ($Score in $ScoreList) |
The reference $ScoreList is a paged list, which means that by default, only 10 rows are shown at a time. You can use the URL page parameters FD_row_offset to set the index of the first row to display, and FD_row_display to determine how many rows to display a time. For example, the following URL will display rows 11 to 20.
<A HREF="#Link('displayscorelist.htm?FD_row_offset=10')">Next</A>
To make it easier to create links that will move back and forth among the pages, use the special paged list properties HasPrevious, HasNext, PreviousOffset, and NextOffset. The following example shows how to create links to move to the previous page or next page.
|
#if($ScoreList.HasPrevious) |
Setting the URL page parameter FD_row_display determines how many rows to display at a time. Setting this to a value of -1 will list all rows.
<A HREF="#Link('displayscorelist.htm?FD_row_display=-1')">Show all scores</A>
To clear the high score list, do the following:
Log-in to your Broadcast manager account.
Select User Access
» Clear Scores from the menubar.
Click the Clear List
button.
All user simulation scores will be removed from the database.
Broadcast stores several fields that can be retreived through the $ScoreList object. Extra data about users is stored if the user has logged-in to a password-protected simulation.
To access high score information, use a #foreach loop on the $ScoreList collection. For example:
#foreach ($Score in $ScoreList)
[insert $Score references here]
#end
|
Reference |
Description |
|
$Score.Score |
Score as an unformatted number. |
|
$Score.Metric1 |
Metric 1 as an unformatted number. |
|
$Score.Metric2 |
Metric 2 as an unformatted number. |
|
$Score.Metric3 |
Metric 3 as an unformatted number. |
|
$Score.Metric4 |
Metric 4 as an unformatted number. |
|
$Score.FormattedScore |
Formatted Score. The format for score is determined in the model equations. Example: P Score.NumberFormat = "$#,##0" |
|
$Score.FormattedMetric1 |
Formatted Metric1. The format for Metric1 is determined in the model equations. Example: P Metric1.NumberFormat = "#,##0" |
|
$Score.FormattedMetric2 |
Formatted Metric2. The format for Metric2 is determined in the model equations. Example: P Metric2.NumberFormat = "#,##0" |
|
$Score.FormattedMetric3 |
Formatted Metric3. The format for Metric3 is determined in the model equations. Example: P Metric3.NumberFormat = "#,##0" |
You can also use all $Run references in a high score list. Here's a couple of commonly used references.
|
Reference |
Description |
|
$Score.Run.LastModified |
The date the run was last simulated |
|
$Score.Run.SimTime |
The final time of the simulation run |
|
$Score.Run.Messages |
A keyed list of saved simulation text |
|
$Score.Run.MultiLineMessages
|
A keyed list of saved simulation text, with carriage returns converted to <BR> tags |
|
Reference |
Description |
|
$!Score.Run.EndUser.LoginId |
The simulation user's log-in name or account name. |
|
$!Score.Run.EndUser.FirstName |
The first name of the simulation user The first name, last name, and email address are set by the facilitator from the Broadcast menu bar at User Access >> Manage Users |
|
$!Score.Run.EndUser.LastName |
The last name of the simulation user The first name, last name, and email address are set by the facilitator from the Broadcast menu bar at User Access >> Manage Users |
|
$!Score.Run.EndUser.Email |
The last name of the simulation user The first name, last name, and email address are set by the facilitator from the Broadcast menu bar at User Access >> Manage Users |
Download and unzip the following three files to create a sample high score list.
http://www.forio.com/broadcastdocs/downloads/highscore.zip
To try the high score list sample, first upload the Forio model located in model.txt.
|
## Simple High Score Model Example |
Next, upload the web pages index.htm and displayscorelist.htm to your Broadcast interface directory.
Simulating the model and posting the high scores is controlled by index.htm.
|
<html> |
Displaying high scores is done by displayscorelist.htm.
|
<HTML> |