Underwater Robot Constructor

Project Details

Project Duration: 20 months
Project Completion Date: August 2023 (planned)
Development Environment: Unity & C#
Team Size: Solo Project
Project Link: ROV Game on itch.io (playable)
Awards: Official Selection at 2022 Meaningful Play conference

My Contributions

Game & UI Designer
  • Created and iterated systems & mechanics
  • Created paper and pixel prototypes for game UI
  • Conducted user tests; collected, prioritized, and acted upon feedback
Programmer
  • Implemented game in Unity and C#
  • Authored and managed a codebase of over 60 classes
  • Selected and adapted third-party assets for game elements (pool and outdoor environments, wildlife, rope)
Producer
  • Managed feature list and product roadmap
  • Prioritized features and decided focus of each sprint

Summary

My Master's project can roughly be described as "Kerbal Space Program, underwater." Players can build virtual underwater Remote Operated Vehicles (ROVs) out of PVC pipe and fittings and then pilot them on different missions.

There are a variety of middle and high school robotics competitions; some that use underwater ROVs like in this game include the Square One Underwater Innovative Vehicle Design Challenge, the Mate ROV Competition, and SeaPerch. While the financial barrier to entry for these competitions is relatively low among robotic competitions, many schools still have limited access to pool and build facilities. I created the Underwater Robot Constructor to allow any middle or high school student to have the experience of building and piloting these ROVs, while letting students on existing teams get additional time to iterate on their design and practice piloting skills outside the pool.

Project goals include:

Early Prototypes

I began this as my third project in MSU's MI 839: Game Design Studio I. The first prototype just played with ROV physics; it was a proof-of-concept that I could position thrusters around something and pilot it using the ROV-like controls I intended, and the ROV moved around in open space over a Unity terrain. This established the foundation of the ROV coding and confirmed this as what I wanted to do for my Master's project.

Between semesters and in MI 846: Game Design Studio II, I continued to refine the piloting experience, creating the first challenges and experimenting with different assets to get the look and feel that I wanted. The images on the right represent the game at this stage of development, where the ROV is still just a block with thrusters and floats attached and the levels included things to explore or manipulate.

Two images from early prototypes of Underwater Robot Constructor, one in open water and one in a 
                    swimming pool with several rings scattered nearby

Designing the Build Lab

As I worked on the project through the summer of 2022, I focused on the Build Lab where players would create their ROVs. I began the design with a flat prototype in Google Slides, composing a rough layout of screens and the overall build process. Using online color palette helpers I created a rough color scheme of blues and yellow, then I consulted my graphic designer friend Anette Nam who suggested some refinements and an additional highlight color of teal or orange to pull it together.

As I got into the details of how the build would work, however, I needed to sketch out ideas and iterate more quickly, so I made a quick template, printed out a number of copies, and begin to draw and take notes. After a few false starts I ended up with a fairly cohesive paper prototype of the Build Lab where users would click color-coded nodes to progress through creating an ROV. Since I needed three colors of nodes, I adopted both of Anette's suggested highlight colors to mean different things.

With these rough sketches in hand, I then fleshed out my Google Slides prototype, then I implemented the Build Lab in Unity through the summer of 2022.

A page from my sketch prototype of the Build Lab showing a node-based build process
A slide from my Google Slides prototype showing a more finished form of a
                    step in the build process, with a PVC fitting and length of pipe

User Testing

Underwater Robot Constructor(ROV Simulator) was an Official Selection at the 2022 Meaningful Play conference, so I was able to show the then-current version of ROV Simulator to a variety of game students and professionals in an informal way. The game showed very well with some individuals choosing to continue using it for a half hour or more, rebuilding their ROVs and tinkering with possibilities. Several of the feedback points were already on the project roadmap, including allowing users to adjust pieces in-place rather than having to undo or delete and re-add them, while the users also located a few bugs and pointed out additional possibilities.

I only had time to implement some of the suggestions before I did a more formal round of review in MSU's MI 841: Understanding Users. For this class I only tested with adults, but I tried to get at the target audience's needs by testing with an ROV team coach, a robotics coach who was not familiar with ROV competitions, and a college-aged robotics team alumnus also not familiar with ROV competitions. They liked many aspects of the game and provided a mixture of expected and new feedback which I documented for the class project. My next step is to implement this feedback while continuing to make progress on the project roadmap.

A slide of the playtest results with the user recommendation that they be able to edit pipe
                    lengths in-place in the build

Future Ideas

As time allows, I plan to continue working on Underwater Robot Constructor by:

  • Experimenting with modeling the ROV tether in Unity, modifying and balancing levels to incorporate it if possible
  • Building tutorials and reference material to support players
  • Creating at least two more missions which happen outdoors rather than in the pool
  • Finalizing underwater assets including camera, caustics, and water surface
  • Implementing as much of the user feedback as feasible