Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3,432 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WAKE: Tales from the Aqualab (known simply as AQUALAB during development)

WAKE is an NSF Funded (DRL #1907384) science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Debugging Tools

Debugger can be launched by pressing Shify+W in a debug build

Job Pricing / Sequence Explorer

In the "research" options of the debugger "always predict job failure" forces it to give a job recommendation regardless of the output of the model

The force AB test slider forces the game to behave as if the given test is active:

  • A: control group
  • B: job failure prediction
  • C: alternate job graph (this will permanently set it for the save file)

Firebase Telemetry Events

Firebase automatically adds the following parameters to all events, documented here. Event data is then dumped to BigQuery daily - the BigQuery schema can be found here.

  • event_timestamp
  • user_id (We need to manually set this if we have it)
  • device.category
  • device.mobile_brand_name (i.e Apple)
  • device.mobile_model_name (i.e Safari)
  • device.operating_system
  • device.language
  • geo.country
  • geo.region (i.e Wisconsin)
  • geo.city (i.e Madison)
  • ga_session_id

Firebase automatically logs the following meaningful events, documented here.

  • first_visit
  • page_view
  • session_start
  • user_engagement

Change Log

  1. Initial version (3/14/22)
  2. Update experimentation events (3/22/22)
  3. Add event sequence index (5/17/22)
  4. Add event select_language, modify event sync_achieved to include % accuracy (11/13/2023)

Event Categories

  1. Progression
  2. Player Actions
  3. Game Feedback
  4. Portable Device Interactions
  5. Modeling
  6. Shop
  7. Experimentation
  8. Argumentation
  1. accept_job
  2. switch_job
  3. receive_fact
  4. receive_entity
  5. complete_job
  6. complete_task
  7. select_language

Player accepts a job with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the accepted job

Player switches jobs by starting a different one.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
prev_job_nameString name of the previous job

A fact is added to the player's bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

upgrade_fact

A fact is upgraded in the player's bestiary to add a rate.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idUnique ID for the given fact
fact_entityUnique ID for the fact's owning entity
fact_typeString name of the fact type
fact_stressedBoolean indicating if the fact represents a behavior that only executes when its owning organism is stressed
fact_rateBoolean indicating if the fact represents a behavior that has a rate attached
has_rateBoolean indicating if the player has the rate for the given fact

An entity is added to the player's bestiary (ex. scanning a critter in a dive site).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
entity_idUnique ID for the given entity

Player completes a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the completed job

Player completes a task for a given job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the new job
task_idID of the completed task

Player selects a language with a given id.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
languageString name of the selected language ("ENGLISH" or "SPANISH")
  1. scene_changed
  2. room_changed
  3. begin_dive
  4. ask_for_help

Player loads into a new scene (ex. "Ship").

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
scene_nameName of the loaded scene

Player enters a new room on the ship.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
room_nameName of the room being entered

Player enters a given dive site.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
site_idID of the dive site

Player clicks the hint button.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for the hint response

guide_script_triggered

Player triggers conversation with the guide (V1ctor).

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idScripting ID for guide's response

script_fired

Player triggers a given script node through dialogue or interactions.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node

script_line_displayed

Player sees a line of dialog.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
node_idID of a given script node
text_stringString displayed to the player
  1. open_bestiary
  2. bestiary_open_species_tab
  3. bestiary_open_environments_tab
  4. bestiary_open_models_tab
  5. bestiary_select_species
  6. bestiary_select_environment
  7. bestiary_select_model
  8. close_bestiary
  9. open_status
  10. status_open_job_tab
  11. status_open_item_tab
  12. status_open_tech_tab
  13. close_status

Player opens the bestiary, which defaults to the species tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the species tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the environments tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the models tab in the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a species from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
species_idID of the selected species

Player selects an environment from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
environment_idID of the selected environment

Player selects a model from the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
model_idID of the selected model

Player closes the bestiary.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the portable status app, which defaults to the job tab.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the job tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the item tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player opens the tech tab in the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player closes the portable status app.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. begin_model
  2. model_phase_changed
  3. model_ecosystem_selected
  4. model_concept_started
  5. model_concept_updated
  6. model_concept_exported
  7. begin_simulation
  8. model_sync_error
  9. simulation_sync_achieved
  10. model_predict_completed
  11. model_intervene_update
  12. model_intervene_error
  13. model_intervene_completed
  14. end_model

Player enters the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player selects a given modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase
phase
Ecosystem
Concept
Sync
Predict
Intervene

Player selects an ecosystem for constructing the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player starts the conceptual modeling phase.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player imports new facts / behaviors into the conceptual model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
statusUpdated status of the concept model
status
MissingData
PendingImport
ExportReady
UpToDate

Player saves the conceptual model to AQOS.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player enters the sync phase of modeling.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player attempts to sync the model but fails.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player successfully syncs the model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
syncSync % achieved with the current model

Player completes the prediction model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player introduces a new organism or updates an existing organism's population count in the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling
organismThe organism having its population modified by the player
difference_valueThe population change for the selected organism

Player’s intervention model is unsuccessful.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player successfully completes the intervention model.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
ecosystemEcosystem selected for modeling

Player exits the modeling room.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
phaseThe selected modeling phase upon leaving
ecosystemThe selected ecosystem upon leaving
  1. purchase_upgrade
  2. insufficient_funds
  3. talk_to_shopkeep

Player purchases an upgrade from the shop.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the purchased item
item_nameString name of the purchased item
costCost of the purchased item

Player attempts to purchase an item but doesn't have enough currency.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
item_idID of the item
item_nameString name of the item
costCost of the item

Player talks to the shopkeeper.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
  1. add_environment
  2. remove_environment
  3. add_critter
  4. remove_critter
  5. begin_experiment
  6. end_experiment
tank_type
Observation
Stress
Measurement

Player selects an environment for running the experiment.

| Parameter | Description | | --- | --- |. | event_sequence_index | Sequence index of the current event | | user_code | The player's unique save code | | app_version | Current game build version | | app_flavor | Git branch origin for current build | | log_version | Current logging version | | job_name | String name of the current job | | tank_type | Selected tank type for the experiment | | environment | Name of the added environment |

Player deselects an environment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentName of the removed environment

Player adds a critter to the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter added to the tank

Player removes a critter from the tank.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
critterName of the critter removed from the tank

Player starts an experiment with a given tank type.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)

Player ends the current experiment.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
tank_typeSelected tank type for the experiment
environmentSelected environment for the experiment
crittersComma separated list of all critters added to the tank
stabilizer_enabledBit value for stabilizer enabled in measurement tank (0 = false, 1 = true, default to 1)
stabilizer_enabledBit value for auto feeder enabled in measurement tank (0 = false, 1 = true, default to 0)
  1. begin_argument
  2. fact_submitted
  3. fact_rejected
  4. complete_argument

Player begins argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player submits a fact to argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the submitted fact

Submitted fact is incorrect / rejected by the argumentation script.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job
fact_idID of the rejected fact

Player clicks "Let me get back to you" during argumentation.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

Player completes argumentation for a job.

ParameterDescription
event_sequence_indexSequence index of the current event
user_codeThe player's unique save code
app_versionCurrent game build version
app_flavorGit branch origin for current build
log_versionCurrent logging version
job_nameString name of the current job

DBExport.json Schema

Root

ParameterTypeDescription
jobsJobData[]List of all jobs.

JobData

ParameterTypeDescription
idStringIdentifier for job.
date.addedInt64UTC timestamp for when job was added
date.deprecatedInt64UTC timestamp for when job was no longer in game. This field is excluded if the job is still in the game.
tasksTaskData[]List of tasks for the job.

TaskData

ParameterTypeDescription
idStringIdentifier for the task.
date.addedInt64UTC timestamp for when the task was added
date.deprecatedInt64UTC timestamp for when the task was no longer in game. This field is excluded if the task is still part of the job.

Example

{
"jobs": [
{
"id": "arctic-missing-whale",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "findWhale",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
},
{
"id": "arctic-time-of-death",
"date": {
"added": 1.32914936623526E+17
},
"tasks": [
{
"id": "getPopulations",
"date": {
"added": 1.32914936623526E+17
}
},
{
"id": "reportBack",
"date": {
"added": 1.32914936623526E+17
}
}
]
}
]
}

About

WAKE is an NSF Funded science practices and life science content learning game produced by Field Day @ University of Wisconsin - Madison, Harvard University and University of Pennslvania.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages