P2: Upstream

Here is a link to our team’s GitHub: https://github.com/MonicaHicks/Upstream

Artist’s statement 

Welcome to Upstream, a vibrant underwater world where players, as fish, chase their most whimsical entrepreneurial dreams. But there’s a catch: only one fish gets to open shop in the bustling fish market. To prove you’re ready, you’ll need to apprentice at three shops, earning the skills and tokens required to launch your very own business.

As you swim through the market, you’ll strategically place new grid tiles, navigate an ever-expanding map, and race against rival players to be the first to complete your unique prompt and check out. Progress depends on wit, deduction, and a little bit of luck. With limited information and a competitive timer, every move becomes a tactical decision: are you forging ahead or sabotaging your opponents?

Upstream incorporates strategy, competition, and excitement through its expandable board game mechanics and interaction with its digital mini game components. The mini games are themed to the shop they correspond to, and their success corresponds to winning one physical token. 

The path to success is not linear; it can take you down unexpected streams… swim Upstream!

Concept Map and Ideation Exploration:

We wanted to be intentional with our choices of mechanics to optimize for player engagement and fun, while also leaning into the narrative themes of levels and spaces. Below is a concept map of the parts of our game.

A concept map, depicting the layers of Upstream’s game mechanics:

Ideation Exploration

When we first received the prompt for Project 2, “design of play spaces,” we struggled to imagine what that could look like on a standard analog board. Our earliest exposure to spatial design in games came from playing Lasers and Feelings in class, a narrative roleplaying game where the entire play space is constructed by the players’ imaginations. That session showed us how engaging it can be when players co-create their environment, and it planted the seed for a core value we’d carry forward: giving players the freedom to build space through play.

However, we wanted more grounding than Lasers and Feelings provided. We admired its flexibility and narrative-driven chaos, but also felt the absence of tactile structure. So we began exploring how physical components could still allow for creativity and discovery. We looked into escape room games like Club: Paradox, which blended puzzle-solving and narrative pacing effectively but lacked replayability. Once solved, the mystery faded. That constraint didn’t sit right with us. We loved the component of multiple puzzles, but wanted a game where every session felt new, where players’ choices led to not just the set outcome, but instead a potential path.

At this point, we didn’t have any mechanics yet- just a desire for variety and freedom within a physical system. So we turned inward, asking: what kind of feeling do we want this game to evoke? Each team member brought their own answer, but three themes emerged across the board: delight, strategy, and friendly competition. These values became our design north star.

Using this vision as our anchor, we applied the diverge → converge brainstorming strategy discussed in class. When deciding our narrative, each team member generated a range ideas individually, and we then came together to discuss them as a group. We storyboarded various concepts individually, ranging from surreal dreamscapes to mystery co-op games. Gradually, we started circling a tone: one of escapism, where you can inhabit a new world and strive toward a whimsical goal. At some point in our ideation, the space of a fish market was brought up, which got the team excited and joking about different scenarios in the fish market (e.g., buying groceries for your fish wife, fish university, etc). That’s when one idea just clicked with the group- what if you’re a fish trying to become a business owner? It was just absurd enough to work.

Simultaneously, we were imagining physical ideas for spatial interaction. We experimented with unconventional layouts, like stackable boards, interlocking pieces, or zones that reveal themselves only once unlocked. This led us to the idea of an expandable board, a space that players build as they explore, allowing for both competition and discovery.

By the time we began thinking about elements mechanics, a lot was still in flux. But a few core principles kept us grounded:

  • We want to envoke delight, competition, and strategy
  • We loved the absurd charm of the fish market setting
  • And we knew we needed replayability through modular board expansion

This foundation gave us the clarity to move forward and the flexibility to keep discovering as we went!

Initial Decisions

As we began designing the game’s mechanics, one idea that resonated across the group was incorporating a guessing element. Games like Clue and Wordle inspired us for how they allow players to infer patterns from limited information. These games exemplify how a well-designed mechanic (guessing from clues) leads to a dynamic of inference and uncertainty, and ultimately an aesthetic of challenge and satisfaction when a correct guess is made. Our goal was to channel that same type of fun! 

However, in a multiplayer, open-ended game like ours, applying direct barriers (like limited guesses in Wordle) didn’t make sense. We needed a structure where players felt pressure, but from each other, not the game itself. That’s when we made the decision to have players act as each other’s barriers, racing to solve their assigned prompts before anyone else reaches the “check-out” square. The goal was for this mechanic to encourage real-time strategic thinking and support dynamics of competition, such as sabotage or trolling.

Early on, we experimented with a mechanic where players win by visiting three shops that were outright told to them and returning to the check-out square. But this version felt shallow, as players moved through spaces without any strategy. To deepen engagement, we introduced a guessing element. Each player has a secret market prompt and must visit shops that connect to the prompt before racing back to check out. This small narrative tweak added strategy and curiosity to the experience: “What are the other players collecting?”, “Are they trying to get a space I need as well?”, “What is my word an entendre for?” were questions we heard during testing which encapsulates these feelings. We saw this mechanic of partial information lead to interesting dynamics of emergent deduction and sabotage, as now players were making moves that would keep potential rooms accessible to themselves and as inaccessible as possible to other players (in case it was also needed for their objective- you never know!). 

At the same time, we introduced minigames at each shop for two key reasons. First, our project required a digital component, and we didn’t want this to feel like a tacked-on feature. Instead, we used the minigames to build out the personality of each shopkeeper, reinforcing the world of the fish market while giving players something playful and enriching to engage with. Second, the minigames helped make each stop on the board feel meaningful. Instead of simply “visiting” a space, you do something fun and challenging that would simulate an actual apprenticeship. This mechanic also acted to bring a dynamic of variable pacing and risk/reward, as you could not simply quickly go inside a space, collect a token, then leave. Each minigame is intended to take at least 30 seconds-1 minute per round, ensuring that there is time dedicated for players to meaningfully interact within the space.

Our minigames were heavily influenced by concepts from the What is a Puzzle? reading, describing how good puzzles are meant to have a purpose and be fair with clear signal. As such, our minigames aren’t just arbitrary obstacles, but structured challenges with clear rules, transparent win/loss conditions, and goals relating where the player is at that point in the game. Additionally, as the Designing the Puzzle reading suggests, effective puzzles don’t exist outside the story- they are the story. Learning from this, we designed each minigame to align with the shop’s theme and your role as an apprentice, embedding the puzzle meaningfully into the narrative. In doing so, we use puzzles not only to add interactivity but to make gameplay feel purposeful, layered, and story-driven.

This decision also intersects with insights from Alan Cheng’s randomness lecture, which highlighted how uncertainty can drive player engagement. We don’t aim to exploit that randomness, but we do use it sparingly in key areas (shops needed, minigames, movement) to keep the game feeling fresh, uncertain, and replayable. 

All of these mechanics (deduction, modular expansion, and randomness) were chosen in service of a central goal: to make a game that balances challenge and delight. The game is also accessible to players with varied skill levels: there is no single optimal strategy, minigames offer retry opportunities (and after 2 failures, we offer the option of solving a riddle instead for the sake of accessibility), and narrative elements encourage playfulness over perfection. We intentionally avoided elimination mechanics to ensure everyone could continue participating until the end.

After 2 failed minigame attempts, you get the option to solve a themed riddle instead!

As such, our target audience is small groups (2-4) of friends or family members looking to escape into an underwater world of possibilities. Since the minigames require some counting, matching, and reading, our game is suggested for players ages 8 and up. We picture this game being played collaboratively by families with young children, and adversarially by groups of older, more cunning players, as we saw in our playtesting. Inspired by the lecture on game accessibility, we made conscious design decisions around visual inclusivity. All rooms, game squares, and minigame elements contain a combination of text and color-based cues to help players differentiate between game components.

Every element, from the expanding board to the digital apprenticeships, contributes to a sense of playful ambition. You are a fish with dreams, chasing your absurd career goals while outsmarting your competitors. It’s silly, but it taps into a real emotional space. We hoped to capture the spirit of childhood imagination, where becoming anything- astronaut, olympic sprinter, singer-felt entirely possible. That message remains central to Upstream: that play can bring you closer to your most whimsical, wonderful aspirations.

Scope of the game

We approached Upstream as a refined MVP, intentionally scoped to feel complete and playable, though it definitely has the potential for a larger, more expansive game. Rather than prioritizing scale, our goal was depth by crafting a compact experience where every detail felt intentional and polished. This meant investing heavily in both the physical and digital components of our hybrid game world.

 

To make the physical board feel immersive and professional, we began with custom fabrication: laser-cut wooden boards served as sturdy backings for our grid system, while each tile was printed on thick cardstock, hand-cut, and individually designed with polished and colorful spaces and characters and high-contrast grids to ensure accessibility. Every “player piece” was carefully 3D sculpted to have a unique, easily-holdable silhouette using Nomad + Fusion360 and was 3D printed. Our modular board design supports replayability and also hints at future expansions, where new grid zones and shops could be introduced seamlessly. Within this MVP, the visual polish was important to us. It needed to signal the larger world with different, appropriate props and shop owners in the world of Upstream, without feeling overwhelming or inaccessible.

On the digital side, we committed to making each minigame feel handcrafted and meaningful. Rather than reuse a single mechanic across shops, we created 12 unique minigames, each with custom assets, rulesets tailored to the theme of that store, and ensuring each game had some variable of replayability. This variety keeps the gameplay fresh and reinforces our core fantasy of apprenticeship. Our custom assets, introductions and animations, design bring the underwater world to life, and we made sure no interaction felt like filler. This level of variety and effort reflects our commitment to a sensation, discovery, and narrative aesthetic, and it communicates our broader vision: a fully modular, expandable world with a variety of shops waiting to be unlocked.

Throughout development, we were deliberate about scope. With limited team size and time, we aligned around building a tight, joyful loop that showcased our mechanics, minigame variety, and board modularity- all while being self-contained and acts as a standalone game. Even so, we included elements that gesture toward what a larger game could become: more prompts, more zones, new minigame mechanics, and more elaborate deduction or sabotage strategies as the grid grows.

In short, Upstream was designed to feel like a polished MVP, a standalone game that invites the imagination to keep building. 

 

Prototypes and Iterations

Iteration 1:

For our initial prototype, we wanted to test how people interacted with the expanding board mechanic of the game, and specifically how (if at all) it affected competition between players. We also wanted to test the idea of having other players determine where someone’s “winning space” would be by laying down cards. To do so, we created and printed nine grids that players were dealt and instructed to lay down each time that they reached a border. 

Our first version to test expanding mechanics

Playtest 1: 

We playtested with a group of four CS247G students who were medium ties: familiar with each other through the class alone. Initially, players would step back on the spaces they’d already visited to avoid expanding the board and thus letting others win. One of our testers commented that, “We have no incentive to progress the game”. The first player to expand the board cited that they were just “taking one for the team so that the game could get moving.” One player, whose board was never laid down, resorted to standing on another player’s end space to prevent them from winning. Through these tests, we determined that, while having others determine a player’s end space heightened the competitive stakes, it stilted the progression of the game and was ultimately more frustrating than it was fun. Players reported enjoying the expanding board element of the game, but suggested incentivizing people to expand the board and limiting players’ ability to go back to a space they’d already visited. They also suggested having multiple squares one must stop at to win.

Iteration 2:

From this playtest, we decided to move forward with the expanding board idea, and to lean into the idea of having multiple squares one must visit. We also wanted to lean more into the narrative aspect of the game through aesthetics, and settled on having it themed around a fish market. We also decided on incorporating “mini games” as our digital component, initially in the form of riddles that players could answer. 

We created and printed twelve grid spaces with fish themed shops and a mini game square that players could land on, and also 3D printed fish characters for the players to play as. we also created our first version of a mobile app with a riddle for each room.

Playtest 2:

We playtested with four CS247G students, who were in a group together. We were primarily testing to see how the mini game component fit in with the board expansion mechanism, and how players engaged with the new aesthetics of the game. They asked if they could play with diagonal movements, and were allowed, but confused as to how many steps a diagonal counted for. Players really enjoyed the new aesthetics of the game, and reported loving the character pieces. They encouraged us to implement other spaces besides the mini game space to make gameplay more engaging and varied. They also felt the riddles were a little too easy, and wanted a little more challenge.

Playtesters on new boards + gamepieces

Playtest 3:

In the same section, we playtested with four CS247G team members, medium ties. They really enjoyed playing with the characters and pieces, but recommended incorporating more action spaces onto the board to make gameplay more varied. We asked them to only move up, down, left, and right, and were told that it was a more intuitive system than including diagonals.

 

Playtester moving their piece

Iteration 3:

For this iteration, we refined the aesthetics of the game, to be smooth, rather than pixelated. We also incorporated three new types of squares: ‘swaps’, ‘magic mirrors’, and ‘lucky you’ spaces that impacted how players could move around the board. We also created a preliminary instruction menu that people could reference during gameplay, to limit the role of the moderator. We also coded up half of the room’s mini games to be different from riddles, and implemented.

Playtest 4:

We playtested with four CS247G students, two of whom were in the same class group, and two of whom were not. We noticed that players were really engaged when others were playing mini games (specifically the gambling den game), but were less engaged when it was a riddle. They enjoyed the power up spaces, saying they “added a shock factor”, and suggested we implement more of them. They also suggested having a riddle option for if a player gets the mini game wrong, and to make it more obvious in the instructions when someone is meant to expand the board. They also struggled to see the grid marks on the darker squares.

Testing our new boards!

Iteration 4:

We lightened the backgrounds of the board expansions to make the grid and walls more obvious. We also continued to code up the games for the kelp nursery, museum, fish pub, and hair salon. We also allowed players to move diagonally for the count of “1.5 spaces”, as suggested in the previous playtest.

Playtest 5:

We playtested with four CS247G students, who appeared to not know each other very well. They were confused on how the initial board expansion worked as well as where to start, and suggested we clarify it in the rulebook more obviously. They were also confused about the hint system, and thought they’d be able to get a hint every time they returned to the check out square. They needed clarification on movements and how it worked, but appreciated the agency in choosing where to go next. They suggested using more standard movements, and ditching the “1.5 diagonal”.

Chance to try game with minimum number of players

Iteration 5: 

We decided to standardize the movements to just be up, down, left, and right, in the rulebook, as well as clarifying how the hint system worked. We also printed physical tokens to help players remember which minigames they’ve played. We implemented more magic mirror spaces, as suggested in the previous playtest. We also continued to build upon the graphic assets for the mini games. 

Playtest 6:

We playtested with two CS247G students, who appeared to be close ties and friends outside of the class. The two ended up being really cooperative and helping each other with the riddles and mini games. They really enjoyed the mini games, and suggested implementing a time limit to each game. They suggested the ability to swap layouts and sabotage each other, but didn’t feel the need to be competitive because they “weren’t competing for the same rooms”. They suggested upping the competition by having many hints that overlapped with each other so players would compete for the same board. They also suggested having a more intuitive interface for mini games, as they couldn’t tell what exactly they needed to do to play the games.

Iteration 6:

We created visually cohesive assets and instructions screens for all the mini games, and decided to ditch riddles as an option. When we talked with the TAs, they suggested the same, and we’d noticed players act significantly more engaged during the mini games. We also added timers to most of the mini games, per our feedback in the previous playtest.

Playtest 7:

We playtested with four CS247G students. They overall enjoyed the mechanics of the game, but struggled with referencing the instructions, which they described as a “block of text”. They suggested embedding instructions directly into the app.

Iteration 7: 

We altered the instructions to be more chronological. We’d also finished fully implementing out instruction screens and new graphic assets

Playtest 8:

We playtested with four CS247G students who didn’t appear to know each other very well. They referred back to the rules often, and were confused on the hint system, check out, and expansion rules, but understood when re-referencing the instructions. They laughed and were really engaged during gameplay and mini games. They suggested we make the rules extremely clear in the instruction manuals, and include bullet points and photos rather than text boxes. They said that the rules “felt hidden.” Additionally, one player was colorblind and struggled with the color matching game, but was still able to participate because of the color labels under swatches. While it worked out, it gave us a lot to think about in regards to accessibility and the importance of making our game as accessible as possible – if making this into a real game, accessibility features would be something that would be important to implement.

View our final playtest here!

Final iteration:

We redid our instructions to be more intuitive and photo-based per playtest suggestions.

 

 

About the author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.