Dino-Store
A stealth action game that teaches players how to be safe in public during COVID-19, and reflects on how the pandemic has changed our everyday lives.
A stealth action game that teaches players how to be safe in public during COVID-19, and reflects on how the pandemic has changed our everyday lives.
Overview
Result
Unity game submitted
to IndieCade 2021
to IndieCade 2021
My role
Lead Unity developer
The team
Drew Busch, Marian
Dominguez, Terra Gasque,
May Lawver, Yuchen Zhao
Dominguez, Terra Gasque,
May Lawver, Yuchen Zhao
Tools
Unity, Figma
Timeline
May 2020 - May 2021
Description
A few months into the pandemic, I was hired by the Digital Interactive Liberal Arts Center (DILAC) at Georgia Tech to help create a game about COVID-19. Initially, the game had two primary goals: to reflect on the difficulties and anxieties of our new shared reality under COVID, as well as to help people understand how COVID can spread in public spaces.
The result was Dino-Store: Shopping in a Pandemic, a 2D stealth action game where the player must navigate increasingly risky grocery stores to successfully purchase the items they need for their child’s birthday party. The player must balance time against safety – moving recklessly increases the odds of bumping into other shoppers, which increases the chances of catching COVID.
The result was Dino-Store: Shopping in a Pandemic, a 2D stealth action game where the player must navigate increasingly risky grocery stores to successfully purchase the items they need for their child’s birthday party. The player must balance time against safety – moving recklessly increases the odds of bumping into other shoppers, which increases the chances of catching COVID.
A limited field of vision
Just like the real world, in Dino-Store it’s impossible to know where every NPC and item in the store is. The player must use a limited vision cone to hunt down target items and track the location of other dinosaurs.
Avoid other customers
It’s the middle of a pandemic, but other dinosaurs have to grocery shop too. With a limited field of vision, can you maintain social distance while other dinos are dashing through the store? Colliding with dinos who are sick increases your risk of infection!
Based on science
Dino-Store’s COVID modeling system was created in partnership with a COVID researcher and epidemiologist at the Georgia Institute of Technology. The C# COVID model was presented at IndieCade’s Jamming the Curve event, and exported as a Unity package for other developers to use in their games.
Multiple endings
Did you buy everything you needed? Did you get sick? Depending on one’s performance in the game, the player gets varying endings (from successful birthdays, to missing the party entirely).
Playable build
Dino-Store can be downloaded and played from itch.io at this link. If you are interested in the source code for the game, feel free to reach out!
My contribution
I served as the lead Unity developer on Dino-Store, responsible for creating and presenting the game’s COVID model backend, overseeing the team’s other developers, implementing core gameplay mechanics, and code optimization. I also designed and implemented the game’s UI, doing the design work in Figma and importing it into Unity.
Details
How it started
Dino-Store was born out of IndieCade’s 2020 Jamming the Curve: COVID-19 game jam that took place over two weeks in September 2020. The goal of the jam was to leverage the power of games to help promote prosocial behaviors based on science and critical thinking that help flatten the COVID-19 curve.
While a lot of the ideation and COVID modeling was done in advance of the jam, nearly all of the core game mechanics were built entirely within the game jam’s two week period. At the time, there were only two developers dedicated to Dino-Store, including myself.
Initial inspiration and design
A common question we got about Dino-Store is “why a grocery store?” After all, COVID has touched every facet of our lives, so the game could be about anything. However, we were drawn from the beginning to supermarkets because, for many of us, it was the only regular interaction we had with the general public.
In terms of the feel of the game, we wanted Dino-Store to reflect the anxieties and uncertainies we were feeling while shopping ourselves.
In terms of the feel of the game, we wanted Dino-Store to reflect the anxieties and uncertainies we were feeling while shopping ourselves.
Game design goals and implementation
1
Expose the player to real world policies that affect exposure risk in public (mask mandates, etc.)
Create multiple stores with different policies
Make differences in policies explicit; affect risk chance
2
Reflect the anxiety and uncertainty of shopping during peak COVID
Distribute player attention for frantic affect
Constrain player information (fog of war)
3
Help the player understand how COVID spreads in confined, public spaces
Make infection risk visible in UI
Make social distancing a core mechanic
Increase infection chance with time spent in space
Game jam result
After two long weeks, a game jam prototype of Dino-Store was born! Sean Bloom, a game designer at USC and personal hero of mine, played Dino-Store at the game jam results event. Check out his hilarious play through above.
Creating a COVID model in Unity
On its surface, Dino-Store seems like a lighthearted game about avoiding catching COVID (and it is); however, there is some serious science operating underneath the hood.
A key part of Jamming of the Curve was a partnership between IndieCade and DILAC that included the creation of a COVID model that other developers could use in their games. To achieve this, I worked with Marian Dominguez, a COVID researcher and epidemiologist at Georgia Tech. Through weekly meetings, we worked together to turn her research and knowledge into C# scripts that we could use in the game.
A key part of Jamming of the Curve was a partnership between IndieCade and DILAC that included the creation of a COVID model that other developers could use in their games. To achieve this, I worked with Marian Dominguez, a COVID researcher and epidemiologist at Georgia Tech. Through weekly meetings, we worked together to turn her research and knowledge into C# scripts that we could use in the game.
How it works
Ultimately the COVID infection risk in Dino-Store is dramatized (you aren’t likely to faceplant into dozens of other people in a store, and the game was developed when a vaccine did not exist). However, infection risk probabilities are backed by scientific research.
What the COVID model handles
To allow other developers to use the model, I created a Unity package and documentation that encapuslated Dino-Store’s COVID system. I then presented it at IndieCade’s Jamming the Curve event, and made the code available at this Githib repository. Check out the video below to learn more!
Fleshing out the game
With the game jam done, we set out to turn Dino-Store into a complete game that met our initial ambitions. Over the next seven months, we were able to add the following features to the game.
Features implemented
1
Three playable stores with varying COVID policies
Corner store
Local grocery
Supermarket
2
A new narrative and dialogue system
3
Brand new UI
Main menu
Shopping list
In-game menu
HUD
4
Original music (by May Lawver)
5
Unique endings
Best ending (healthy, right items)
Bad ending (sick, wrong items)
Good ending (healthy, wrong items)
Reflection
I really enjoyed my time working on Dino-Store, and learned so much by working on a game with a longer development cycle and diverse team.
Below are a few of my key takeaways:
Below are a few of my key takeaways:
Clean project and code organization are crucial. Over the course of a year, Dino-Store saw developers come and go as the semesters changed. As systems changed hands, a clear project structure, documentation, and clean code kept things from becoming spaghetti.
Visuals count twice. One major regret I had for Dino-Store was that we didn’t have a dedicated artist on the team. While we were confident in the systems that we developed, a game is very heavily judged for its art style and visual feedback. Dino-Store suffered here.
Debugging and polish is the bulk of the work. It’s easy to underestimate the amount of time it will take to integrate new features without bugs, or to make complex systems seamless in the game space. I will definitely allot more time for this in the future.