Software Engineer
MHS.jpg

Mission HydroSci

 

Mission HydroSci

 

Technologies Used

Unity3d, C#, Perforce, Git, MongoDB

Role

Unity Developer

Project Description

Mission HydroSci is an educational game funded through the U.S. Department of Education’s I3 and IES programs. The goal of the project is to teach middle school students both water science and scientific argumentation. In my day to day, I create various mechanics, tools, and gameplay elements for the game using C#.

Website

https://mhs.missouri.edu/

Notable Features Implemented


This is a plot of player positions for a given class of students. We used this to analyze weaknesses in the way we taught topographic map navigation.

This is a plot of player positions for a given class of students. We used this to analyze weaknesses in the way we taught topographic map navigation.

Here we analyzed time-on-task for various pieces of curriculum. Identifying where players were having trouble and allowing us to accurately AB test various changes.

Here we analyzed time-on-task for various pieces of curriculum. Identifying where players were having trouble and allowing us to accurately AB test various changes.

Logging system

I designed and created the logging system which keeps a running tab on the player’s location data, success on puzzles, quest-line progress, and so on. We convert various events in the game into JSON which gets sent up to our MongoDB database. I work closely with the analytics team to identify how to implement research goals, such as identifying types of player’s and their correlated success in game. As part of this process we identified that there was certain kinds of information that was necessary for understanding the logs, which was inconvenient to deal with on a player-by-player level, such as in game dialogue, locations of certain points of interest, etc. I created a tool which runs through the various pieces of info for a particular build and compile a reference data log, containing all the information they need.


Buoyancy

As a replacement for a very inefficient, 3rd-party, buoyancy system I created a much more performant one. To simulate buoyancy I use a spring joint attached to our puzzle cube and a small sphere. The sphere has a low-friction, physics material on it so that it slips around the surface of the water. If for some reason the sphere gets caught on some underwater geometry or underneath the top surface of the water, we automatically move up our buoyancy sphere and the player is none the wiser.

I also added the ability for different bodies of water in the game to have flow which pushes the cube along as if by a current. Using these mechanics I worked with the design team to create various puzzle sections of the game teaching the player about, humidity, the water cycle, and infiltration.

970b13e20de5e7bcb318850132d991af.gif

Media