University of Missouri's Adroit Studios Gaming Lab researches the use of 3D interactive media as a tool for education. Putting their research in action, their team creates "serious games" to engage students and teachers in a creative, enjoyable, and effective learning experience. Sine Nomine Associates has been privileged to offer technical consultation and programming support for Mission HydroSci, one of Adroit's flagship projects.
The Customer's Challenges
Mission HydroSci's design had evolved over time based on progress of its foundational research objectives, and the game logic was a blend of new and old code combined with third party plugins. The development workspace comprised over 65 gigabytes and tens of thousands of asset files, and plugin dependencies had prevented the Adroit team from upgrading the workspace to current versions of the Unity game engine. The outdated engine version in use was only months away from being end-of-life for bug fixes and security patches.
Furthermore, although the project ran well on the developers' workstations, some of the middle schools that needed this teaching tool had older computers that could not run Mission HydroSci with acceptable responsiveness.
The Adroit team reached out to Sine Nomine Associates to streamline and optimize the C# code base, and to update the project to a modern Unity version with longer-term supportability.
Sine Nomine Associates' Solutions
Upgrading the engine version for any nontrivial 3D project requires careful planning and attention to detail because of the number of add-ons and plugins from the engine developer and from third parties that are typically involved. These tools and assets must often be updated as prerequisites for the engine upgrade, a process which must also account for version-specific interdependencies among the plugins and the project's own code.
Sine Nomine worked alongside the Adroit team to improve asset workflows, especially revision control and branching, to support the code modernization and performance optimization efforts with minimal risk and disruption to the Adroit team's ongoing game design and artistic work.
The second task was to thoroughly examine the project repository to identify what plugins were in use versus those that had been installed experimentally but were never used in the delivered game. Working with the Adroit team, we removed the unused plugins and consolidated a few instances where two overlapping plugins drew on different parts of the Mission HydroSci code. The new revision control workflow allowed these changes to be made safely and outside the branches used by the Adroit team working toward an upcoming gameplay milestone.
Upgrading the engine and plugins was an iterative process: each increment of engine version update was accompanied by updates to that engine version's respective plugins, plus occasionally fixing art asset incompatibilities. In cases where older third-party code was no longer supported, the SNA team updated the code in place or worked with Adroit to replace it with an alternative. Where appropriate, SNA created custom in-editor C# scripts to automate repetitive asset management procedures for the multiple upgrade steps.
Our team optimized performance in parallel with the engine upgrades rather than as a separate unit of work, for several reasons:
- Some of SNA's recommendations pertained to asset workflow (such as formats of images and video embedded in the game) that had been implemented by the Adroit team's artists and thus was independent of the coding work. To illustrate, SNA proposed a superior approach to importing texture images that seamlessly optimized the delivered game for modest hardware while sparing artists the tedious process of manually rescaling originals.
- Among the many improvements in Unity itself throughout the iterative upgrades were specific enhanced features allowing more detailed performance profiling in the development environment. Moving to the modern Unity version inherently acquired better optimization tools.
- The upgrade process necessitated visits to a large percentage of the local and third-party code in the project, and opportunities for performance improvement were noted organically within that inspection.
Project Benefits for the Customer
In all, the 65 gigabyte Mission HydroSci project was upgraded across four major Unity engine versions, reaching the most recent (at that time) long-term support Unity version, and the build size was reduced by several gigabytes without sacrificing graphics quality. Of twenty-five major third-party assets, four unused ones were removed, whereas the remaining twenty-one were upgraded to support the new engine version.
Hundreds of code defects were corrected, and in addition to code optimization implemented directly by SNA, a spreadsheet was created for the Adroit designers and artists, recommending non-code optimizations such as splitting large landscapes into smaller sectors that Unity can load and unload dynamically, in order to reduce the game's memory requirements. The download size of the delivered game was reduced by several gigabytes, a factor which in itself improves responsiveness on modes systems.
In 2021 and after SNA's successful engagement, the proven feasibility of Mission HydroSci's pedagogy and its measurable in-classroom educational benefits earned an additional grant of US$8 million for the University of Missouri, allowing Adroit Studios Gaming Lab to approach the next generation of educational games with a much larger team.
Sine Nomine Associates is proud to be numbered among Technical Partner organizations on the Adroit Studios Gaming Lab web site.
About the Mission HydroSci Project
Mission HydroSci represents a milestone for Adroit. This immersive first-person game enlists middle school students to take on the roles of young scientists in a near-future mission to an earth-like planet in search of water resources.
The mission takes an unfortunate turn when a fire forces evacuation of the orbiting research station, and the students' escape pod malfunctions and crashes, leaving them stranded some distance from the rest of the team. Eventually reunited with the others, the quest to understand the planet's ecology and sustainably harvest resources continues -- with the additional twist of discovering a mysterious, ancient ruin built by an unknown and long-departed species.
Finding the source of pollution in a river near the human settlement and delving into the alien ruin to learn its secrets, lead the student through many learning challenges in which they must apply scientific methodology to support their decisions. An in-game AI companion provides structure for the student to formulate hypotheses and logical arguments, to conduct experiments and gather data to evaluate their hypotheses, and to present their conclusions in dialog with non-player human characters.