2019 Games For Our Future Game Jam
Written by Anthony Ritchey
Edited by Josh Curry, Lizz Rizzo, and Tim Cullings
Special Thanks to Beverly Aarons and Daniel Lindenberger
Photos by Tim and Anthony
Our previous game jam reporting – specifically the 2018 Seattle Indies Game Jam and the 2019 Global Game Jam – included brief interviews with many teams. That reporting style gave us general impressions from many teams as they built their games. For the 2019 Games For Our Future Game Jam, hosted at Pacific Science Center in collaboration with Seattle Serious and Social Impact Games from Friday, May 10th, to Sunday, May 12th, 2019, we at Seattle Indies wanted to focus our reporting efforts on only one team. This focus allowed a team of developers, or “jammers,” to give substantive commentary on specific successes or problems they encountered during their game’s development cycle.
There are risks focusing on one team: Will the team get along? Will they succeed in publishing a minimum viable product [MVP] before the deadline? Will their game win any awards? Then there’s the controversial question for any game jam game: Will the team continue developing the game after the game jam concludes?
Seattle Indies game jams are usually 48-hour events where game developers form teams, or work solo, to build games around a central theme before the weekend’s deadline. Awards are given to teams that excel in particular criteria, however, winning any awards are almost always secondary to making a quality game or a unique experiment.
For this jam, Seattle Indies collaborated with the University of Washington to invite climate change researchers to give lightning talks, which you can watch on the Seattle Indies Twitch page or the Seattle Indies YouTube channel, about topics related to the environment and the game jam’s theme of Creating a Green Tomorrow. The researchers met with teams throughout the weekend to see the games as they were being developed and also provided scientific advisement.
These were the topics the researchers spoke about on Friday evening:
- “Green New Game Jam: Climate Change And The Future After The Green New Deal” by Dargan Frierson
- “Create Interesting Choices” by Theresa Horstman
- “Global Food Systems and Climate Change” by Isabel Carrera Zamanillo
- “Towards (Re)connecting with Nature” by Sarah Chase
- “Fostering Collaboration In Climate Action Through Environmental Games” by Rick Thomas
- “Global Warming Politics: Strengthening the Paris Climate Accord” by Jason Frederick Lambacher
- “Stories: What Makes Them Good Or Bad” by Gary Handwerk
- “Gameful Approaches To Life’s Problems” by Mark Chen
- “Storytelling, Collective Solutions, And What We Can Gain” by Jennifer Atkinson
Our reporting focused on Beverly Aarons’ team:
Beverly Aarons – Story, Project Lead, Voice Acting
Beverly [she/her] is a writer and game developer and teaches teens how to code in VR through Arts Corps and Reel Grrls LIT (Learning Immersive Technology) which she initially learned through the FutureFounders VR Fellowship. She learned to program in C#, works with Unity and Blender, and applies all these tools to Oculus platforms, specifically Oculus Go. Beverly is also a long-standing member of the Seattle Indies AR/VR community!
Daniel Lindenberger – Programming
Daniel [he/his] runs Banging Rocks, a startup that makes VR for positive social impact based out of Vancouver’s VR / AR Hub, which is where he heard about Seattle Indies. He is a facilitation trainer, project manager, veteran PHP programmer, LAMP admin, and has 2 years’ experience in C# / Unity. This was his first game jam. He used this opportunity to attend the game jam, visit family, and connect with the SIXR team.
Tim Gargiulo – Music, Sounds, Narration Recording
Tim [he/his] composes and sound designs for all forms of media. This was Tim’s first Seattle Indies event and he heard about this event from two of his teachers: Ryan Ike and Akash Thakkar. Tim graduates soon with a Masters in Music Composition from the Seattle Film Institute, directed by Emmy award-winning composer Hummie Mann. He uploads music to Soundcloud and YouTube.
Nabanita De – Programming, Voice Acting, Research
Nabanita [she/her] is a Software engineer at Microsoft. This was her first Seattle Indies event and she learned about the event on Facebook. She is well versed in Java, Python, C, and C#. This was the first time she lent her voice to a game character.
Geoffrey Smith – 3D Artist
Geoffrey [he/his] graduates from the Academy of Interactive Entertainment with a degree in 3D Animation soon and Seattle Indies volunteer focused on 3D concept art. He uploads art to ArtStation.
A note about journalism:
Anthony’s reporting goal was to not directly participate in the events. This meant observing and asking contextual questions, except when helping was minimal and helped the team save time. Examples include: creating a Trello board when the team’s first attempt didn’t work, asking for a narration recording location, and finding assistance when the team needed help.
A note about upcoming game jams:
Since this article was Seattle Indies’ first experiment with the one-team reporting style, we wanted to collaborate with Beverly specifically to highlight the importance of strong writing in game development. If you’d like to volunteer your team to be the focus of our next game jam write-up, please reach out to email@example.com or via the #game-jam channel of our Discord, ideally around the time the next game jam is announced. Game jams happen roughly every four months.
Forming The Team
After presentations, which included information about logistics and Seattle Indies’ Code of Conduct presented by Seattle Indies volunteer Andrew McPherson, Beverly began searching for team members.
The Ackerley Family Gallery, just past the Tinker Tank and IMAX Theater, was abuzz with jammers looking to form teams. For this jam, jammers chatted with the UW researchers that they resonated with the most to brainstorm ideas for their games and form teams. Beverly went to the “Storytelling” area, hosted by Jennifer Atkinson, and pitched her idea: “I’d like to bring collective action for a future. I feel like the future is more about the collective as opposed to individuals. I want to tell a story within a society and how that society approaching challenges.“
Many teams had already clustered around particular interests or mutual platforms.
Beverly’s technical focus for this game jam was Unity for Oculus Go. While Unity is arguably the most common game jam engine, working with VR can provide specific challenges. Development processes that work for one VR headset brand might not work with another. It’s not all challenges, though. Many aspects of programming for VR can be done without the headset itself. It’s just testing the gameplay completely is limited without the headset.
Beverly spoke with many jammers that were casually interested or already half-attached to other projects. It seemed like she might have to join a larger team, or go solo. Although everyone was polite, no one seemed invested in collaborating until she met Daniel.
Here was a brief excerpt of their conversation:
Beverly: “Do you do any 3D Modeling?”
Daniel: “I don’t do any 3D Modeling. Programming’s where I’m coming from. How about yourself?”
Beverly: “I’m storytelling. I do a bit of programming and I know how to do basic 3D modeling in Blender or ProBuilder inside Unity.”
Daniel: “Right, right! I hear you! I typically throw in a cube as a stand-in until a modeler can make something better.”
Daniel asked clarifying questions about the scope and intention. After Beverly told Daniel about her ideas for the project, Daniel said: “Color me interested! I think it’s a super cool idea!” Beverly asked: “OK. So is that a “maybe?” Do you want to take a look around, or is it a “definitely?”” Daniel said: “I like it!” With that affirmative, Daniel joined the team.
As they continued talking about their need for finding a 3D artist, Daniel said: “We can also look for sound…” Serendipitously, they turned around to see Tim standing nearby with a keyboard.
Beverly asked: “Do you do sound effects? And do you have a setup for people to do voice-over?” Tim agreed that he could do voice-over work and spoke about logistics. Beverly and Daniel asked about Tim’s level of interest in joining the team.
Tim: “Are you asking about the artistic side? Or what’s my main goal in what I’m trying to do at this time?”
Daniel: “Good question. I was thinking more of the first, though whichever you feel more charged about, it’d be cool to hear about!”
Tim: “I’m most interested in the music side of it. But, I’m also interested in working on the audio side.”
Beverly and Daniel were enthused and Tim joined the team.
With two programmers and an audio engineer, the team still needed a 3D artist. Daniel posted in the Discord server’s #looking-for-group channel: “Looking for artists / low poly modelers for the ideal Small Town of the future! (We’re by Jennifer Atkinson’s poster near the windows).” Beverly later wrote: “We’re still in need and have a 3-D modeler. We need a very abstract, low poly character and at least two low poly buildings. Please contact me if you are interested.”
Brainstorming The Game
With the team almost fully formed on Friday evening, Beverly, Daniel, and Tim sat together to discuss their ideas on how to build up the game and ideas they had for a utopian world.
While Daniel set up a Google Drive and other collaborative tools to help organize the team, Beverly brainstormed out the rough plans for the game: “We’re creating a futuristic world that will help us see and experience in VR what it would look like to begin to build an environmentally sustainable future. Not only will you be able to experience what it looks like, but you’ll also be able to experience the types of systems that are in place. Through a story and interactions, they will learn. How did people grow food? How did people live their day-to-day life?”
Daniel took notes in their Game Overview Google Doc. Beverly, Daniel, and Tim spoke at length about their intentions for building up the game, which is an important element of game development that is often overlooked, especially in game jams. Just like it’s important to make sure everyone is running on the same version of Unity, it’s important that everyone’s intentions with the scope of the game are similar. Beverly uploaded technical instructions related to downloading the proper Android SDK and made sure everyone was running on Unity 2018.2.141f1.
Nabanita stopped over to ask about the game.
Beverly and the team shared their brainstorming ideas.
Nabanita: “How does this relate to the game jam?”
Daniel: “As you’re going through and talking to people, it’ll highlight different things. The food will be locally made.”
Beverly: “We’re asking: What happens when we create a sustainable society? I don’t even think people can imagine what it will look like, and that’s how it’s different. How do we have to live to avert climate change?”
Nabanita: “Your pitch is different. How will it be like?”
Beverly: “It’s not a guide. You, as the player, will interact with characters. I hate when there are VR games without characters. What does a family look like? What does it look like? How do you sit down and eat? Do you need electricity? That’s what the entire experience is like. What is it like? By yourself? Or in front of everyone. A communal kitchen?”
Nabanita: “Quick idea: You show the person as they live right now. People will ask: Why do I need to get rid of my current world?”
Beverly: “Like a documentary?”
Nabanita joined the team.
With thirty minutes before midnight, the team of three programmers and an audio engineer had a solid idea of where to go with the game throughout the rest of the weekend. Daniel summarized their plans: “Our MVP: The player will interact with the elder about the past and the present.”
Unlike previous game jams where Pacific Science Center was “open” for jammers to stay overnight for the entire weekend, as an experiment Seattle Indies and Pacific Science Center closed overnight. Jammers could still work on their games from home, but the gates closed at midnight and reopened at 8AM throughout the weekend.
Beverly’s team packed up everything, said their goodbyes, and left for the evening.
Scheduling The Day
The early spring heatwave cooled off a few degrees as people arrived early Saturday morning to continue collaborating in the Ackerley Family Gallery. Daniel had just set up his laptop for the morning and was wrapping up his preparation to get the same version of Unity running on his laptop when Beverly arrived and they dove into their morning meeting.
They decided to brainstorm what they’d need for the day. Their morning design meeting covered their audience and end goal, the societal structure and design of the village, their minimum viable product scope and build logistics, along with their schedule for the day. A game jam game is no different than any other project in any other industry. Game jams can be comprehensive studies into successful or unsuccessful projects executed over a short period of time.
Since the project plan was laid out clearly in their design meeting notes, here’s the schedule, quoted verbatim, that Beverly and Daniel estimated for Saturday’s workload and pace:
Beverly’s Saturday Schedule
- 10:30 – 12:00 Script Treatment
- 12:00 – 1:00 Treatment Feedback
- 1:00 – 3:00 First Draft Script
- 3:00 – 4:00 Script Feedback
- 4:00 – 6:00 Final Script Draft
Daniel’s Saturday Schedule
- 10:30: 11:30 Code Breakdown (what we need)
- 11:30 – 12:00 Code Assignment
- 1:00 – 5:00 Coding
- 5:00 – 6:00 Integration
With this plan in place, Beverly and Daniel continued to work and collaboratively discuss their plans for the game until they received two surprise visitors.
Pitching The Game
Sara Jo Breslow, the EarthLab coordinator from the University of Washington, checked in on the group.
Beverly and Daniel had just been talking about how people might drink water, so Beverly asked what a sustainable society might use for drinking materials. Here are some excerpts of what they talked about:
Sara Jo: “You don’t want to make it an onerous job to get the water. They want to be able to get it easily, so how can you do that with as little infrastructure or energy input as possible? Maybe building a fountain near the spring? Making sure that there are springs available everywhere, so then the other thing might be if you want to build permanent infrastructure, you can put drinking fountains around the village. I’m just thinking about how if you’re going to build something material, you want it to be as long-lasting as possible, so that you don’t have to continuously use more materials, right? So if you built water spigot infrastructure and had really long lasting containers, then you only have to produce them once. Ideally, the production is low energy, and so you want something that you can produce with a limited amount of energy. For example, aluminum takes a huge amount of water and electricity.”
Beverly showed Sara Jo her drawings of the village.
Beverly: “Here is our village of about 30 people. Those circles are trees, the water here, people sleep communally over here, this is the outdoor kitchen area over here, we have a communication/transportation hub for communicating and reaching other villages. That may use higher technology. So we have a perma-garden here, kids learning area. Their first lesson is to learn about the environment and the world that we live in. We have little private areas where people who want to get away from everything, since everything is communal, and there are rules around being able to have that solitude.”
Sara Jo: “Oh, cool, nature connectedness. Then what’s around the village?”
Beverly: “Forest and in the background is the Seattle Center crumbling.”
Sara Jo: “Crumbling? Why is it crumbling?”
Beverly: “It’s a teacher.”
Sara Jo: “We’ve already destroyed it?”
One of the researchers, Jennifer Atkinson, stopped by to chat, as well:
Jennifer: “It’s like post-industrial decay…”
Beverly: “Well, we’ve chosen a different path, and the old ways have been left behind.”
Sara Jo: “So maybe this is a reminder of how we went wrong, so we’re letting it crumble…”
They spoke about how these themes tied into nature connectedness and how they would be implemented into the game. Jennifer recommended a research paper by Freya Mathews, “Letting the World Grow Old: an Ethos of Countermodernity I,” before the team invited Jennifer and Sara Jo to try out how the game looked. Her reaction was summarized in one phrase:
“What? What! This is amazing! It’s like a real world!”
Building The Game
Throughout the weekend, the team’s biggest need was a 3D Artist to bring the low poly world to life. Beverly had asked for a 3D Artist during the Team Forming session and every 3D Artist already seemed attached to the project. Geoffrey was walking around looking at teams when I asked if he could help out with 3D art. He had volunteered for Seattle Indies to help with 3D modeling for any teams that needed assistance, so he joined up to help.
Tim planned his music contributions narratively to match the story beats written by Beverly. He showed a rough draft of the introduction music, which was a synth pad with guitar pedal distortion with minimal attack, [which is a music term for the run-up time of a sound effect,] because it will play under voice-over narration.
Geoffrey completed two model assets: The first asset was a detailed human modeled that Beverly and Daniel can scale and adapt within Unity. The second asset was a building with windows matching Beverly’s script. He needed to take the rest of the weekend off, so he departed after sending the two assets over to Daniel to implement.
Wrapping Up Early
Beverly scheduled time to work with Tim to record narration with Nabanita. Daniel Rother with Pacific Science Center found a location for the team to record the narration. Since all the conference rooms were booked, the team went into the stairwell. Even with the newest Avengers movie playing to one side of the stairwell and other ambiance in the background, Tim’s microphone picked up only the audio recordings. In three takes and a brisk two hours of tests and recording, the team was done.
Daniel and Nabanita needed to leave early. Beverly’s build wasn’t properly uploading into GitHub, to merge into the master branch of the game repository, so the team wrapped up early for the evening.
Context On Progress
Only twelve people were in the Ackerley Family Gallery early Sunday morning, including Daniel, who explained the state of the build. Daniel said there were SDK issues that prevented the build he was working on from uploading to GitHub and integrating well with Beverly’s build, in part because the Android SDK was not merging successfully so it reverted to a PC build, which was incompatible with Beverly’s build.
In his own words:
“Essentially, my boot drive was full, and Android Studio was installed there without enough room to add the new required components. My take was that it would take too long to resolve, and that pushing / pulling the appropriate files from the repository should allow us to not pollute the build setup, so I used the time for production instead. It was a mistake. In hindsight, had I known the merge & build challenges it would have caused, I would have bit the bullet and spend a couple of hours getting my build environment aligned properly.”
Daniel found a workaround so Beverly’s build could be the build that they’d ship. Daniel would work on getting all the assets playing together, building out the functionality for the actions that the NPCs would take, and building out the code to make all of that happen. Daniel would push his changes to GitHub, Beverly would pull the assets and code into her build, test, then apply into the final build.
Daniel had just worked on completing the AI scripts for the NPCs. Everything was centralized to one location, “Game Controller,” and he wrote two scripts – “gamecontroller.cs” and “npcscript.cs” – for managing player interaction through certain player interactions. Examples are as follows. Click trigger: When the player clicks on the VR headset controller, the NPC acts or reacts. Proximity trigger: When the player is nearby a NPC, an event will trigger. Gaze trigger: When the VR headset detects that the player is observing a NPC, an event will trigger. When asked about a “time trigger,” Daniel explained that he’d work on that if there was time.
Daniel began working on integrating Tim’s sound effects and narration edits into the game. Tim emailed Daniel the audio files.
Daniel showed a brief look at the game. The game on his computer looked like a large forest with many trees, which were originally part of a Unity asset pack. He asked one of the Seattle Indies volunteers about whether it was OK to use pre-built assets like trees, who said it was OK, and other jammers have generally agreed. The balance is that just as long as pre-built assets from asset stores or previous jams aren’t a key part of the gameplay experience, then it’s fine because otherwise, the games will just be gray-boxed rooms, or, games with limited functionality or visual aesthetics.
Regrouping Game Progress
Beverly arrived with her Oculus Go. She showed us how Daniel’s build looks like, which had a large field, trees, a person, and spaces for buildings. They were still working on visual assets and making sure that Gaze would trigger dialogue prompts. Beverly and Daniel matched their builds and collaborated on merging everything together.
They had a brief conversation during the process about game jams: “I learn so much every time I go to a game jam. I feel like these really help me learn.” Beverly said. Daniel agreed: “They’re great for inspiration.”
They were able to get a build uploaded to GitHub at around 10:45 AM to collaborate on and worked on bringing the code and assets into one stable build.
Regrouping Game Progress
Beverly and Daniel spoke about how much they enjoyed working on the project. Daniel said that Beverly could freely use any of the code he had generated for the project. They both expressed interest in continuing to work on the project. Daniel said that his company, Banging Rocks, could bring in people interested in volunteering to help develop out the project as well.
They launched into full-on developer mode at this point. Beverly was sorting through assets to bring into the introductory room and Daniel was working on the NPC script behaviors in more detail.
Beverly took a late lunch break after publishing everything on her computer to GitHub for Daniel to test. Daniel explained that Beverly’s build would still be the main build. Daniel had brought in Geoffrey’s 3D art assets, Tim’s audio assets, and Nabanita’s programming changes into his build to test these changes and then he published them to a spare scene. Beverly could then test to make sure Daniel’s spare scene did not have any issues before migrating these changes into her scene.
Daniel downloaded Beverly’s changes into his project. He stashed the changes that he wanted to keep and was able to recreate Beverly’s version of the project on his laptop.
Crunch Before Deadline
Beverly and Daniel tested their build on Beverly’s computer.
They encountered a problem within Unity where the player collided with an object in the introductory scene. Beverly applied the rigidbody to the object and yet the player was going through the object. Troubleshooting situations like this can be difficult when you don’t have the right terms for the problem, but when talking about the issue, one of the mentors, Andrew McPherson, noticed that the rigidbody needs to be applied to the player as well as the object.
They encountered another problem with merge conflicts. Daniel’s build showed the game correctly but had the wrong Android SDK to show on the Oculus Go. Beverly’s build didn’t show the objects correctly. Andrew and another mentor, Fernando Reyes Medina, helped with the merge conflicts. The mood was tense and there were concerns over whether either of the builds could work. Daniel wrote and tested code on his laptop, uploaded content to their shared Google Doc drive, and updated code directly into Beverly’s computer to patch things together.
At 4PM, the beginning of the time period in which teams needed to publish their games to qualify, Tim and Nabanita arrived to help out with the build still in an unstable state.
They continued to diligently work on completing a stable build on Beverly’s computer with less than one hour remaining until the hard deadline of 5PM. Although hovering over their computers could have provided greater insight into their process of manually migrating code, line by line, into Beverly’s computer, journalistic integrity was more important, so let’s skip ahead.
Publishing and Presentations
With time to spare before the 5PM hard deadline, Beverly’s team uploaded Climate Utopia to Itch.io!
Nabanita led the charge in setting up their PowerPoint presentation. Nabanita collected notes from throughout the project and created a cohesive series of slides to keep the audience engaged later on in the evening. Beverly and Daniel edited a video demo of the game to show during presentations. You can watch the team’s presentation here on YouTube.
After presentations, everyone returned to the Ackerley Family Gallery to clear out the tables, chairs, and networking equipment that served as the foundation for the game jam throughout the weekend, in anticipation of an evening event. Friends in the Seattle Indies community chatted, teams said their goodbyes, and when the last of the remnants of the game jam cleared out of the space, Seattle Indies revealed the winners.
Climate Utopia won the “On Theme” award!
After winning the award for “On Theme,” Beverly and Daniel worked for the next week to continue working on the remaining parts of Climate Utopia they wanted to complete before calling the game done.
Daniel commented on the development after the game jam: “Since the game jam we’ve brought in Maia Kumari Gilman, an architect in New York who I collaborate with often. She’s done a substantial design for an ecovillage and modeled it in SketchUp. It’s amazing, though SketchUp textures are tiling poorly and the poly count is currently too high to work properly on the Oculus Go.”
The UW EarthLab published an essay about the game jam titled “Games for Our Future Game Jam Re-cap” a few days before Seattle Indies’ quarterly Seattle Indies Show & Tell,
At the quarterly Seattle Indies Show & Tell, Beverly showed a version of the game that was closer to her vision for the game during the game jam. In the game jam version, the player starts out in a hut and navigates around outside to talk to two villagers. In this almost completed version, there were multiple huts, more villagers, and more things to see!
Beverly, and her fellow game jammers, had formed a bond within the short span of 48-hours. They were able to overcome multiple obstacles; the programming, the 3D effects and assets, the audio, and much more. Through Beverly’s vision, the team was all able to see her vision as their own in the end. It only goes to show that camaraderie, a passion for change – especially with an inspiring theme like Creating a Green Tomorrow – and the spark of an idea can create an entirely new world in only a weekend.