Res Novae

Educational Python game teaching concepts in biology and ecology


Educational Game Design, Curriculum and Instruction Department, UIUC

Tools: Python, Ren'Py, Sketch

Game concept

Res Novae is a Python game introducing middle schoolers to environmental concepts like evolution and ecosystems. The player takes on the role of a scientist populating and studying a new planet, with the goal of keeping their species alive. Players choose what evolutionary direction to take the species in, by making choices based on natural events, breeding patterns, and environmental factors. The title, Res Novae, meaning “new things” in Latin, aims to conjure interest in the new directions a species can take during gameplay.

Learning opportunities

The primary target learning goal is to simulate and teach biological/genetic and ecological concepts, such as:

  • ecosystem building
  • genetic drift
  • mutations and evolution
  • food chain

Along with this, players will learn resource management and budgeting as they are limited by the research center's funds to help develop cures to viruses, research organisms, and aid in the survival of the species.

Game mechanics

First, players are given a species with randomly assigned traits, such as internal temperature (warm or cold-blooded), diet (herbivore, omnivore, or carnivore), and rank in the food chain (on a scale of 1-10). Along with this, they are given a budget of 4500 coins that must last them throughout the level.

Game intro

4 environment selections: Coastal desert, temperate forest, tropical rainforest, tundra

Gameplay involves playing God (so to speak): making decisions for your species and responding to events that play out in the environment. Events tie into science concepts such as genetic drift, food ecosystems, and environmental stressors. For each event, the player is given a set of choices. Some solutions cost money and are deducted from the budget. Players can also elect to do nothing and let the event play out naturally.

Player reacting to a natural disaster

After each selection, the species’ growth rate is manipulated behind the scenes, and the player can directly see how their choice affected their species count. Many outcomes are weighted or assigned certain probabilities, meaning the player may not achieve the same outcome every time as expected. At the end, players are given an overview of how they performed—how well their species survived and if they stayed within their budget.

End of game

The gameplay in Res Novae is explicitly designed to provide the player of the game feedback on their actions and decisions. Receiving feedback on actions and seeing stats change as a result of decisions can elicit feelings of happiness or urgency, which keeps players engaged in gameplay. Based on past consequences, players can make guided decisions on their next move.

With each level, the events get progressively more challenging and put more strain on your species. The species will also grow and mutate along the way, which influences its growth rate and energy levels. Over time, players will learn how to balance their decisions to grow their species in a healthy and manageable way.


We prototyped Res Novae in RenPy, a visual engine platform for Python development. For the purposes of our prototype, we decided to build out a demo of the first level. We designed assets in Sketch, created events, and calculated probabilities for different outcomes using random number generator functions. We also added music to evoke the mood of each scene and add an extra dimension of interaction for the user.

Simple species design variations

Event examples


Four friends each playtested the game independently. Throughout the sessions, we looked for engagement and understanding of the material. We asked testers to relay their thought process aloud, so we could understand their reasoning and ensure they weren't clicking through the game blindly. The playtesting sessions helped provide the following insights:

  • Text-heavy segments. Playtesters helped us pinpoint areas of the game that felt long or tedious to read, so that we could adjust our script accordingly.
  • Good level of engagement. Players seem intrigued by outcomes of their decisions and tried their best to grow their species.
  • Biological jargon. Our game uses specific biological terms such as “apex predator”, which some playtesters were unfamiliar with. Based on this, we added links so players could click on certain terms and read their definitions.


To make our game applicable in an educational context, we researched biology topics, making sure each event/action had a tangible learning outcome. Guided with a lesson plan, we envision Res Novae being an enjoyable educational activity for middle school classrooms. In future iterations, we plan to add levels, introducing more complex variables to create a more realistic simulation and more accurately depict the timeline of evolution and genetic drift.

I particularly enjoyed playtesting sessions and watching people's reactions to the game as they failed and succeeded through milestones. In development, Ren'Py turned out to be a surprisingly powerful engine with a lot of customizability, ultimately helping us create a pretty polished demo. I also had fun taking a trip down memory lane and thinking critically about biological and ecological concepts.

Want to try the demo? Email me to request a download link!