The Pack
A behind the scenes look into making a video game based on computational thinking principles.
At Design I/O we have been working in the medium of interactive installations for over 12 years. Whether it was creating Connected Worlds, an award-winning 3000 square foot interactive ecosystem at the New York Hall of Science, or the first ever live streaming Virtual Reality Album at Nokia Bell Labs, we are driven to create in the space where technology and art come together to push the limits of what is possible, to surprise and delight at large and small scales for a wide ranging audience.
So when the New York Hall of Science asked us if we would like to make a series of video game prototypes to engage young minds in computational thinking principles, we jumped at the chance.
SHRINKING THE MEDIUM
Our main passion is developing experiences that fill an entire room or even take over a city block, so shrinking our canvas down to a small screen with a different set of conventions felt like an exciting opportunity to work in a medium that could reach a much wider audience.
At the same time we weren’t underestimating the task… games are hard!
Our initial discussions with NYSCI were around the idea of “How can you take Connected Worlds home with you?”. To move in stride with modern classrooms, devices, and new practices in learning outside of an institution, they wanted a way to directly reach people who were unable to visit the museum, or to reach visitors after they left.
So while sussing out modern game development tools for the first time since 2004 and attempting to push the envelope, we set out to accomplish the following:
- Build a strategy game with a focus on computational thinking and environmental science
- Present a non-linear narrative that allows players to play at their own pace with room to create their own objectives
- Incorporate dynamically created environments and emergent behavior that maintains an element of surprise and replayability
- Lastly and most importantly: Develop a game mechanic around principles of computational thinking.
COMPUTATIONAL THINKING
One of our earliest thoughts was that computational thinking could be developed separately from programming. At the time, there were many tools that allowed children to write code or construct programs, but we were wondering if it might be possible to reach children before this stage.
Programming involves two hard components: organizing your ideas (computational thinking) and translating those ideas into code. Our objective was to build an environment that allowed children to explore and develop computational thinking as part of a game mechanic, so that players build a critical STEAM skill without even realizing it.
One of our earliest thoughts was that computational thinking could be developed separately from programming.
Our goal was to give children a head start with the computational thinking side of coding, so when they encounter Scratch or other programming tools later on they can focus more on tackling syntax and convention.
EARLY GAME CONCEPTS
With this objective in mind we began to explore different approaches for the type of game we felt would best embody computational thinking as a game mechanic.
We started sketching, researching and playing a wide variety of groundbreaking and inspiring games like Journey, Future Unfolding, Hohokum, and even Pokemon Go. The open-endedness and replayability of Minecraft was a big inspiration and we kept coming back to the idea of an algorthimically generated world that would be unique each time you play.
As our concepts developed, we considered everything from water based, territorial Risk-like games, to a concept called The Last Tree where you embody a struggling tree sapling — But we settled on a simpler narrative, one that is framed by survival and distilled down to a familiar core — Water, plants, and friends. We called it The Pack.
PROTOTYPING THE PACK
Over a series of prototypes The Pack took many different forms and approaches, however the core idea remained the same: you are immersed in an environment, playing a character with the ability to befriend creatures and add them to your Pack. Each creature has a special ability or function which can be used either individually or together as algorithms to impact the world around you and achieve different objectives.
Even though we had this core idea there was a lot still to figure out:
- What do you actually do with your Pack?
- What is the setting?
- What is the backstory of the character you play?
- What is your objective?
The prototyping format proposed by NYSCI ( combined with formal play testing, interviews and evaluation ) was a perfect way for us to tease out the answers to these questions and inform the final game.
PROTOYPE 1
The first prototype focused on the mechanics of exploring a 3D open-world landscape comprised of distinct biomes, where the main character could collect food and use it to add creatures to their pack. At this stage we were not concerned with overarching game objectives or even being able to use the Pack creatures to manipulate the environment.
Each creature was designed to serve a specific function: Dig, light your way, bump, flip, chop and grab.
Through the play-testing process of this prototype we found that children were not only engrossed with finding food for each creature and adding them to their Pack, but also developed a strong nurturing connection with the creatures they collected. Seeing this sense of empathy and in-depth exploration at this early stage gave us confidence to continue exploring this concept.
The next step was to explore what these creatures might do and how the player could use them as part of the gameplay.
PROTOYPE 2
The focus of the second prototype was a deep dive into creature functionality. We decided to explore the idea of creatures as environmental manipulators able to shape and influence the local environment around them.
We worked with two frequent collaborators, Josh Goodrich and James Paterson, on the creature look and feel and brainstormed potential ways the creatures could interact with the main character and their environment.
We tested this idea as a paper prototype before building a 2D openFrameworks prototype to get a sense of how the creatures could function together as algorithms to manipulate the environment.
We found the idea of creatures as environmental manipulators intriguing and decided to apply it to a 3D experience with an open world generative landscape where you could collect creatures from the environment and add them to your Pack.
In this prototype adding a water creature to your pack removes water from the landscape altering the surrounding biome, so you immediately see the impact of your actions. Placing creatures back into the landscape as ‘algorithms’ changes existing biomes or create new biomes.
We then imagined adding modifiers to these chained creature combinations to control things like delays, oscillation, repeats and other conditions.
The process of the second prototype ended in a game where players could roam a large algorithmically generated landscape, add creatures to their pack and use these creatures as environmental manipulators. This prototype remained open-ended and without a clear objective — but it was enjoyable to see children discovering the creatures and their functions through trial and error exploration. In testing this prototype we noticed a tension between players desire to make ‘algorithms’ but not wanting to give up creatures to do so. Some players would go back and pickup creatures they placed because they didn’t want to ‘lose’ them.
Here is a link to a playable demo: The Pack Prototype (OS X ).
While we enjoyed the whimsical quality of this prototype we found that it did not address our computational thinking goals as much as we had originally envisioned. With that in mind we began to explore a concept for The Pack where the creature’s functions would work more algorithmically, like a sequence of actions, rather than the additive approach of the environmental manipulators in the second prototype.
We also wanted to encourage an iterative approach to problem solving and computational thinking where there wasn’t just a single solution to a problem but many approaches that could achieve the same result. As we began working on the final game, we made it a priority to integrate these ideas as core parts of the experience.
FINAL GAME
For the final game we made two distinct changes that helped bring together our early initial questions and allowed us to give purpose to the creatures of The Pack:
- We switched from a continuous landscape to a grid based landscape ( a la Minecraft ). This made it possible for the player’s algorithms to easily reference a location in the environment to manipulate.
- We made the main character’s health and ability to navigate the world tied to being close to water. This meant that in order to explore and complete objectives, the player had to use Pack algorithms to move water or retrieve items out of reach.
STORY AND OBJECTIVE
With these new constraints we were able to develop a story and framing that supports open exploration and a more iterative approach to problem solving while at the same time a much more functional use of the Pack creatures.
The Pack is set in Algos, an algorithmically generated world that was once made up of diverse habitats with unique plants and creatures that lived in them. The player’s objective is to restore the lost habitats of Algos by collecting seeds scattered and hidden around the landscape.
To explore the world of Algos the player must remain close to water, a challenge that requires the help of algorithmically-inclined creatures, each who have a power to physically change the world around them. As you restore each habitat, new creatures begin to return to Algos, each with different abilities — Dig, Move, Repeat, Seek, Grab, Bump, and Drop — these creatures help the player navigate, channel water, and search for seeds.
Progressing through the game, new elements emerge, introducing obstacles that encourage the player to experiment with more complex and creative ‘algorithms’ to achieve their objective.
DEVELOPMENT PROCESS
PROCEDURAL LEVEL DESIGN AND DIFFICULTY
It was important to us to build a game that encouraged replayability where the terrain and objectives couldn’t be learned from a single play through. We knew that for children to grasp the concepts we were tasked to teach, we needed them to return to the game without running out of occasions for discovery.
With this in mind we set out to make almost all aspects of the game procedurally generated. This was quite challenging as we wanted to make sure the game could be completed, while at the same time taking our hands off the wheel so we could be surprised by the different possible worlds it could generate. There was a lot of trial and error with the algorithm generation and during the game development process we often created games that couldn’t be played all the way through.
By the end we had developed a system where all procedural elements were derived from a single unique random seed, controlling the generation of terrain, water and biomes that the player explores. We also built some analysis algorithms that would check if a world had all the possible biomes, enough water etc, to deal with some edge cases in the procedural design.
For game difficulty we made it as simple as possible, so as not to create more edge cases. Difficulty is simply tied to the distance between the bodies of water in the procedural level design. As the player has to stay close to water to survive, making there be more pockets of water in the world naturally made the game easier, where as having there be vast dry areas, made the game much more challenging.
Getting the water to flow in a logical way and flow well in all cases ( like down the sides of a mountain ) took a while to get right. There were some pretty funny moments, when the water flow algorithm didn’t work as anticipated. In the end we found a successful ( and bug free ) solution using a cellular automata approach, where each tile with water only cared about its neighbors.
CHARACTER DESIGN
We wanted the main character to feel like an explorer or researcher in an unfamiliar land who needs the help of the locals — their Pack — to overcome obstacles and achieve their goals. Initial designs started as a faceless character, whose plume grew with experience as the game progressed.
Throughout the prototyping process the look and feel of the main character was roughed in as we settled on a gameplay approach. When water became a key component to gameplay we explored designs that created a close connection with water and the environment. These explorations had a less human feel.
The final version combined the qualities of both approaches; we made the main character more of a humanoid form, but kept the water connection in the body language and appearance. It felt like a good balance between the style of the Pack creatures and the main character.
CREATURE DESIGN
The look and feel of the pack creatures had to satisfy two main design requirements:
1. The creature’s function should be communicated in their appearance.
2. The creature’s body shape should be stackable and recognizable when placed in an algorithm.
For these reasons we settled on primitive body shapes combined with texturing to communicate function. These simplified body shapes allowed creatures to be stackable and helped players associate unique shapes with function when building algorithms.
HABITAT DESIGN
The design of the landscape and habitat moved back and forth through many iterations during the prototyping and production process. Our goal from the beginning was to immerse the player in a rich illustrative 3D world, but the struggle came when trying to balance a unified look and feel while maintaining distinct and unique designs in each habitat.
In the end we narrowed our palette down to a night and day set in hues of purple and green, where each environmental element has a corresponding day and night texture.
From trees, grasses, terrain textures, skyboxes and the color of water — as day turns to night and night turns to day, these textures fade in and out making clear the passage of time. Constraining the environmental design to a limited palette also allowed important gameplay elements to come to the forefront.
INTERFACE DESIGN
Throughout the prototyping process we were experimenting with different approaches to UI to find an approach that was intuitive and allowed the player to stay immersed in the world.
In the second prototype we experimented with an approach where players assembled algorithms directly in the world without the need for a separate interface.
When we moved to the final game we initially tried to do the same approach but with the stacked algorithm concept. This worked until we started to get more complex creatures like the Repeater and Seeker where you needed an interface to choose the number of repeats, or set the Seeker’s target.
As we started to make more complex algorithms, with 4 to 8 stacked creatures, the editing in place approach became much more unwieldily and we became concerned that it wouldn’t allow the player the space or clarity to understand the execution order as well.
We decided a seperate space was needed to arrange and edit algorithms. We started to think about how the player might set the properties unique to creatures ( like the repeater ) and save algorithms that they might use more frequently.
As we got further along with the game development we started thinking about ways we could communicate things to the player non-verbally. We wanted a way to provide clues or hints if they were stuck at any point, without completely spelling out what they should do.
While playing Dr Meep we really liked the game’s use of thought bubbles as a way to give insight into a character. We thought this could work well for a dynamic hint system, where if you are inactive for a short period your character would think about some different approaches you could take.
We started thinking of a way to track what hints we have shown and which hints have been acted on by the player. We realized that the hints could be directly tied to game achievements, which we had been exploring simultaneously. This allowed us to build a system that both tracked player progress in terms of algrothims they have tried, but also give context aware hints for approaches they haven’t yet figured out.
MUSIC DEVELOPMENT
The music for The Pack was composed in tandem with the design process. Anna Cataldo developed the score over a series of iterations that evolved along with the refinements in the visual design and gameplay, providing an ambient score that followed the character through dramatically different environments but also through the passage of day and night.
The challenge was threefold — To create a soundscape that was subtle but illustrative, seamlessly link it to the players journey, and do so using a synth with a mind of its own.
The nature of the score we came away with is directly thanks to its instrument — The Buchla Music Easel, a semi-modular synth with a truly peculiar and idiosyncratic voice.
Lent to us by our friend and synth builder, Ben Stamas, the Easel was both an unsolvable puzzle and perfect match. It changed the way we listened, composed, and consumed sound, and breathed a distinct personality into the world of Algos.
The Easel was a lesson in patching, tuning, and impermanence, as it fell out of sync with itself often and was nearly impossible to play one day in a way that could be repeated the next.
This produced surprising and imperfect moments in the score that we couldn’t have dreamed up ourselves. We then mixed these into a series of different compositions, listened as a team, and remixed over and over until we had landed with something that was equal parts ours and the Easel’s.
The sound design as a whole was made up of many more parts — Day and night music played entirely through the Easel, as well as atmospheric layers for each habitat or point of interest, and sound effects to accent the player’s actions.
PLAY THE GAME
The Pack is completely free to play and is available on iOS, PC and macOS. For more information and to download visit: nysci.org/thepack.
CREDITS
This material is based upon work supported by the National Science Foundation under Grant №1543144. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
Design I/O
Emily Gobeille, Creative Director, Design
Theodore Watson, Creative Director, Technical
Nick Hardeman, Technical Director
Anna Cataldo, Producer, Sound Design & Composition
Joshua Goodrich, Design & Illustration
James Paterson, Creative Direction
NYSCI
Stephen Uzzo, PhD, Project Leader & Chief Scientist
Geralyn Abinader, Creative Producer
Dorothy Bennett, Director of Creative Pedagogy
Harouna Ba, Director of SciPlay
Tara Chudoba, Exhibit and Activity Developer
Wren Thompson, Research Assistant
Cornelia Brunner, Senior Advisor
Laycca Umer, Program Coordinator/Research Assistant
Leilah Lyons, Director of Digital Learning
Center for International Earth Science Information Network (CIESIN)
Dr. Robert S. Chen, Director
Marc A. Levy, Deputy Director
Robert Downs, Senior Digital Archivist
Sandra Baptista, Senior Research Associate