Playable Version!
By Tray, Ryan, Akary, Leo
Artists Statement:
Midnight Concoctions is a raunchy yet heartfelt game set in an alternate fantasy universe version of 2008 Naperville, Illinois. You play as Lily, a newly hired witch-cashier for the retail chain 6/7, as you cook up potions from the convenience store’s questionable ingredients to serve your customers’ needs. Midnight Concoctions is a first-person 3D game built in Unity that is about combining wacky ingredients from behind the counter using the 6/7’s assigned equipment. As the game touches on sexual/violent topics during conversations with the customers, its target audience is older teens and adults who are non-gamers or enjoy chill cozy games with an edgy and humorous twist.
Our intention for this game was to interweave discovery and narrative, creating a game loop between the making of a potion and the customers’ reaction to what was made. By setting the game in a fantasy world similar to our own, we are able to build out a world that has context the player can latch onto (such as parodies of real-life products) while also being fantastical enough to facilitate curiosity (through non-human character designs).
Ever wanted to talk to a repressed furry, bisexual, beheaded vocal-guitarist gorgon who probably has dyslexia? Midnight Concoctions is just the game for you!
System Model:

Slice Focus
Building out a complete gameplay experience for two customers, one tutorial/onboarding and one important narratively.
Core Game Loop
Talk to the incoming customer -> Learn about the problem they need solved, as well as their backstory (where bonus solutions may lie!) -> Concoct a potion based on the customer’s needs, guided by the keyword hint system (“check” system) -> See the customer’s reaction to your potion -> Repeat for new customer!
Puzzling Potions
The main “puzzle” system of our game is figuring out how to make potions that match the customer’s desires. Each potion requires three ingredients, the effect of which is dependent on the keywords corresponding to each ingredient and how they mesh together, which is handled with a stat system on the game’s backend. While our original potion puzzles were purely a discovery type of fun, as there was basically no guidance on recipes that would create certain types of potions, we ultimately found this to feel too random and unrewarding.
We pivoted to a “guided discovery” type of fun which incorporates an explicit hint system and allows the player to make educated guesses on exactly how to influence the ending they want. This was implemented through rewritten flavor text on the ingredients that emphasizes their keywords as well as an improved check system.
Players can check a customer to identify multiple options for deeper problems that aren’t directly stated by the customer. Then, a recipe for a potion that would solve that specific deep problem appears. However, there is still a non-negligible amount of challenge in the gameplay, as the recipe does not reveal the specific ingredients needed to create the desired potion, but instead reveals the keywords needed. This means that players must go through the ingredients available, analyze the keywords in their descriptions, and create a potion based on all of that available information.
Levels within levels!
A sub-level within our game is defined as a complete interaction with one of the customers, with multiple customers coming in per day. If we were to finish this game past its slice format, a true level would be the days themselves as the ingredients would change on a daily basis, forcing players to discover new combinations. As the days go on, the game would likely require more creative solutions from the player, increasing in difficulty but never going past a point where solutions seem arbitrary.
Scope of the Game
Given the modular nature of the game concept—with each customer being their own isolated “level”—we chose a slice format for Midnight Concoctions to show how a player can gain a deeper relationship with an NPC through exploring each of their branching, enacting narratives. With each of our group members having previous knowledge of some aspect of digital game development—such as Unity, music production, and 3D modeling—we used those preexisting skills to build a highly polished experience for two customers. Phyll, the store manager, serves as the tutorial level. Riff, the hot band leader next door, is more representative of what the average level in our game would look like if fully built out.
Midnight Concoctions has no AI art or music assets, with a curated environment designed and modeled in Blender, and illustrations and animations hand-drawn with ProCreate. We take a lot of pride in having developed all of our assets by hand, and believe it adds to the overall quality of our final product. (Tray spent many, many hours in Blender and Procreate to make sure each asset fit the game’s flavor.)
Narratively, our game includes an onboarding segment (a tutorial with Phyll, the store manager) and a gameplay segment (unassisted gameplay with Riff, the leader of the band next door). Both of these segments have a full, branching narrative directed with Yarn Spinner, along with art assets that correspond to each ending (i.e., a furry asset for Riff when he gets the Potion of Fursona Manifestation). Additionally, we fully decorated the store with assets like shelves and ingredients to sell the vibe of a convenience store, and even imported a nighttime skybox to convey the setting of our game.
For lack of a better phrase, we hauled ass to make sure our game matched the high-fidelity standards of a slice—standards we saw in example games and were reminded of by Ryan at each of our checkpoints (we love our tocayo Ryan). While we only have two customers, both of them have a robust and thoroughly thought out backstory, with multiple narrative lines to traverse.
Initial Decisions & Values

Our initial decisions actually matched really well with our end product! We set out to create a 3D single-player digital game taking place in a setting similar to but not entirely like our own reality, where you mix potions with convenience store ingredients and see customers’ reactions to your concoctions, with the primary aesthetics of discovery and narrative. We wanted the objective of the game to be to get a “great reaction” from each customer by brewing a potion that creatively solves their problems. Originally, there was a currency system that would reward you based on performance; however, we realized early on that a currency system would distract from the core dynamics of the game and possibly lead to a slippery slope of negative consequences for a player who initially doesn’t do well if currency is the only way to purchase new ingredients (a cursed problem we solved).
Instead, the reward is purely based on the narrative, where a more interesting narrative branch is revealed to the player if they give the customer the correct potion. This also gives Midnight Concoctions a lot of replayability, as players are incentivized to check out all the different endings available to them. The gameplay also implies that in a full game, if you give a customer a bad potion, they will never return to the store and their narrative will essentially end there. (This punishment is intentionally easily avoidable by simply not giving the customer the obvious potions that would cause them extreme pain.)
The two main segments that make up Midnight Concoctions—conversation with customers and potion-making—have not changed much from conception. However, there were some mechanics we had to cut, such as additional equipment for potion-making, several “focus modes” that locked the camera onto individual activities, and an in-game computer featuring sites like “Wamazon” and “Wizpedia” that would help with purchasing new ingredients and understanding ingredient information, respectively. We cut these ideas partially for scope, but also because they made game flow clunky—players needed to go through many more screens instead of having the information and mechanics feel like an organic part of the gameplay.
Music in our game serves a specific formal function: it is meant to establish the emotional atmosphere of the graveyard shift without drawing attention to itself. Initially, I wanted the game’s music to be diegetic—specifically, the guitar melody that Riff is playing—in a Midwest emo style with its twinkling, nostalgic fingerpicked guitar lines. The problem with integration: ambient music felt inorganic, as if it were coming from nowhere, breaking immersion. We later solved this by introducing the radio as a diegetic source—an object players can choose to turn on or ignore it. The small formal decision changes how players relate to the music and becomes part of the environment they can interact with, not just atmosphere layered on top. The genre shifted during development when I struggled to write authentic Midwest emo so I pivoted to a fusion I knew better. Shoegaze and Bachata, in my opinion, share musical DNA with midwest emo—similar fingerpicked patterns, the same melodic sensibilities but with different effects (difference in reverb, longer note decays, distortion wash) and tempo. So with adjusted note lengths (slowing the attack, letting notes ring, etc) the bachata-inspired music started to sound a lot dreamier, a hazier version of Midwest emo. I hope the result is music that still carries the melancholic energy of the graveyard shift.
Our Values
We did not want Midnight Concoctions to take itself too seriously, and therefore tried to inject humor into every aspect of the game, from the narration to the ingredients to the premise itself via an evocative space of raunchiness: the Chicago suburbs, which some of our team members call home. However, we also didn’t want the game to be entirely shallow. It needed to have the capacity to enter deeper emotional registers. In our slice, these more emotional parts came from Riff’s “great” endings, where the player solved a problem that was not directly stated by Riff—addressing themes like not belonging, feeling trapped by outside forces (such as his manager), and choosing to keep one’s imperfect self because that is the result of the hard journey taken.
Also, despite our game featuring fantastical creatures and products, we wanted it to take place in a setting fairly close to reality (Naperville, Illinois) to give it a concrete sense of place. This also serves a double purpose mechanically, as players don’t need to solely infer ingredient effects from the description, but can use real-life context to supplement understanding as well. For example, “Monstrous Energy” clearly maps to Monster Energy—the player thinks, “Oh, this is an energy drink!” Music also plays a big role in our game, shaping the alternative vibe and supporting the edgy tone of the dialogue.
Finally, we wanted to emphasize diversity and queerness in a way that didn’t feel forced. The setting of Naperville, Illinois in 2008 doesn’t particularly seem predominantly non-white or non-cishet, but as a majority-queer team (boo Leo?), we wanted to add representation anyway. All of the current characters in our game are queer in some way, and this is a pattern that will likely continue if we were to expand the game with more customers.
Iteration History
Iteration 1: Paper Prototype
The very first iteration of Midnight Concoctions was a paper prototype. The goal of this prototype was to generally evaluate the enjoyability of brewing wacky potions with wacky ingredients, just mixing and matching to see what you get.
The prototype was a series of 12 cards, 6 for ingredients with flavor text and 6 for potions that could be made by combining 3 ingredients. Depending on the potion, the player would be shown a printed series of text displaying the outcome of their work.

Testing with Lucas, we found much of the enjoyment came from the writing and visuals. There was plenty of laughter when reading through the ingredient text, and especially when the potion was revealed (the appearance of the Freak Potion and Fursona Manifestation Potion in particular got strong reactions). However, we didn’t observe too much thought going into what ingredients were combined. Exploration was largely unstructured
From this test, we knew that leaning into humor and absurdity, especially in the writing and art, was critical for success. However, it also showed that we needed to consider ways to make potion brewing feel more like a puzzle.
Iteration 2 – Testable Core
Our testable core was a simple 3D environment with placeholder ingredients that you could pick up, mash, and put into a cauldron to make a potion (in that order).

For any puzzle, manipulating the pieces themselves should be fun and intuitive. So for this iteration, we wanted to test whether the physical process of brewing a potion was enjoyable.
We tested this version in class on May 12 with Kelvin, J, and Kevin.
J’s Playtest:
J felt that the mortar and pestle (M&P) controls were especially intuitive with the click and drag controls, since the movement with the mouse closely resembled an actual up-down mashing motion.
Kevin’s Playtest:
Kevin felt that controls and physics were too loose. Held objects being able to clip through surfaces made it actively harder to use the mortar and pestle especially.
Kelvin’s Playtest:
Kelvin had misclicked multiple times throughout his experience, where he tried to pick up an ingredient but his mouse wasn’t actually making contact. He recommended a reticle at the center of the screen to address this.
Universal Insights:
All three playtesters accidentally tried combining ingredients in the M&P, attempting to mash them together instead of combining the mashed ingredients separately in the cauldron. Since M&Ps in real life ARE used to mix things, this is an understandable misunderstanding that we planned to address once we built out onboarding. The cauldron and M&P being on opposite ends of the counter also made the two tools feel separate rather than two parts of a potion brewing process, so it was suggested that we place the cauldron and M&P next to each other.

Iteration 3 – Higher Fidelity
This version had improved visuals for everything critical to gameplay, such as a larger counter to suggest to players that they could move around and distinct, identifiable 3D models for ingredients, and an animated hand that indicated when an item was picked up.
This version also added a reticle and placed the M&P and cauldron together, as per previous feedback. We had also built out a simple dialogue system to convey the problem the player needed to solve with their potion.

At this stage, we also implemented our potion calculation system. In summary, each ingredient is assigned two stats, and when certain stat combinations are met, it creates a potion (For instance, -Energy and +Satiation make a Food Coma potion). To supplement this, players are able to “inspect” an ingredient to see descriptive flavor text that hints at these stats.
Our classmates Shuci and Raina playtested these versions in class on May 19 and 21. The goals of this playtest were to test the fairness of the puzzle side of potion brewing. Do players feel like they have sufficient information to solve the puzzle, while still maintaining a sense of discovery?
Shuci’s Playtest:
One of the biggest issues that arose was when Shuci put three ingredients together and got the incorrect potion unexpectedly.
The problem laid out was that the NPC needed a potion to get to bed. We told Shuci to use three different ingredients, but they were confused as only one of the 7 ingredients explicitly mentioned sleepiness in its flavor text. When she got the wrong outcome, she was frustrated because she had correctly made the Bedthyme → drowsiness connection, and didn’t know what other connections she could have made.
Raina’s Playtest
Raina’s playtest surfaced similar problems. She also made the Bedthyme → drowsiness connection early on, and put mostly random ingredients for the remaining two. In her case however, she got a good outcome due to a successful (but unintentional / lucky) combination.

Universal Insights:
Both these playtests highlighted we needed to create puzzles that didn’t seem like they could be solved with just one ingredient (i.e. drowsiness seemingly solved with only Bedthyme). And if simpler puzzles (like causing drowsiness) were still included, then we needed to allow players to combine multiple of the same ingredient to make it fair.
Even so, the game still created tons of joy. With quality-of-life additions like the reticle, the janky physics became more humorous than annoying, with plenty of laughter moments from both playtesters while messing with the M&P in particular. The 3D models were also successful in their humor, with Shuci finding particular delight in our rat dog which she thought was a shit dog.
Iteration 4: Refined Core
This version overhauled the potion calculation system based on prior feedback. Stats are now given a value from 1-3, and if no stats combine, the highest individual stat determines the potion’s effect. This way, any combination of ingredients can make a potion, even multiple of the same type.
This version further improved the graphical fidelity with revamped character sprites, UI, and scene assets, as well as unique, fleshed out narrative outcomes for 3 “great-outcome” potions.
Christina herself playtested this version in class on 5/26. Primary goals of this session were to evaluate the effectiveness of past changes and set polish goals moving forward.
Christina’s Playtest

Overall, Christina strongly enjoyed the “goofball” writing and tone of the game and the premise overall. This was promising, as it showed issues with the core gameplay were no longer holding back the game’s enjoyment.
However, Christina did mention that it’s ambiguous what text is from the player character and what is from the NPC, since it’s all styled the same.
The biggest issue was onboarding. We had not yet implemented an onboarding flow, and Ryan had to walk her through the controls and objectives manually. Christina encouraged us to focus especially on onboarding for features that don’t map directly to the real world. For instance, if we don’t have a “stir” feature to mix ingredients in the cauldron, we need to lay that out.
Iteration 5: Polish + Onboarding
This version further built upon the aesthetic foundation of iteration 4, but now with a full onboarding flow, contextualized as Phyll, your manager. The onboarding flow takes you through the steps of making a potion, interspersing actions with dialogue.

We also added the ability to “inspect” NPCs. Doing so unveils dialogue that hints at more serious problems they are facing, which lead to “great outcomes” if you can figure out what potions make it work.

Video Game Demo Day
We also tested this version of the game at the Video Game Demo Day on 5/28. Special thanks to Cam, Lucas, Luna, Butch, and Amaru for great playtesting.

Positive Feedback:
The aesthetic and tone of the game continues to be successful. It actively encouraged players to replay to get different outcomes, and reactions were specific to the characters’ unique attributes (“Phyll is polygamous by necessity” from Luna), showing that the humor was actively creating engagement in the narrative.
Critical Feedback:
Critical feedback centered on onboarding, UI clarity, and technical issues. Cam struggled with missing crucial information during customer conversations and noted that Press Q to check needs to be more prominent. Lucas found the text blurry and recommended a font change, while also pointing out that cycling through dialogue to find important information again was exhausting. Luna experienced motion sickness and requested consistency in a locked camera and they and Amaru suggested a change of FV (a slider to be set by players themselves). Amaru advised adding multiple ways to advance dialogue (return key, left click, etc), adding a cursor so players can see where they’re pointing, shortening Lily’s inner thoughts, and implementing a quest log to keep players on track. On the technical side, Luna reported clipping issues and requested hard surfaces while Alex noted that the play area felt cramped and that collision between the player and loose ingredients on the floor should be removed.
In-class Playtests
This iteration was also tested in class on 6/2 with Kelvin, Kevin, and Jay. The primary goal of this playtest was to unearth issues in the onboarding flow and NPC inspecting mechanic.
All three had similar feedback. For the inspect text, because it was often at the end of a drawn-out lore dump of the characters, people either mashed through it and missed it altogether, or read it but didn’t identify it as anything important to their mission. For instance, Kelvin made an incorrect potion and still gave it to the NPC even though it clearly was not what he had asked for. He wasn’t even considering the problem as he made the potion because he didn’t know what it was.
For the onboarding, the biggest issue was the lack of repeat text. A player who mashes through the lengthy dialogue has to mash through it again if they missed important information, especially troublesome since the call-to-action is usually the very last line.

Key Changes
Repeat text was added for all onboarding steps. Interacting with Phyll a second time provides a one-line reiteration of what to do. Inspect text for characters was shortened as to not dilute important information A color system was instated: everything mission-related is highlighted in red. This includes the key problem to solve for the NPC and hints in the inspect dialogue. Not only does this categorize this text as important, it’s also eye-catching enough to slow down dialogue mashing when the text appears. Generally, flavor text of the ingredients and the inspect text hints were made less lore-heavy and more obvious.

Final Playtest
And on the very last day of office hours, not a peep was heard in CoDA W201. Jokes.
Elline was the lucky one to play our final game that fixed our onboarding logic, and we quickly found that she was exactly the target demographic of our game. We went into this playtest wanting to understand if our now-obvious onboarding–bolded and colored keywords, intuitive dialogue integration in the tutorial between key steps like mashing and brewing, and making sure that the check text was not being read as flavor text but rather as hints for what kind of potion to make–would be sufficient for the player to have unguided fun in the Riff scene.
After the initial text of the tutorial, Elline was very aware of her goals at every moment and verbally confirmed the flexibility of the tutorial, understanding that she could explore the scene before talking to the manager, and from this we noted that the tutorial was robust and flexible and the player could explore onboarding at their own pace, similar to George Fan’s recommendation during his talk at GDC.
During the actual gameplay scene with Riff, Elline knew exactly when she had a good result and had visible excitement when the Potion of Food Coma was created. In fact, she loved reading about the ingredients and the dialogue and laughed multiple times throughout the playtest. At 6:20 of the playtest video, you can see that she scanned the keyword of the Twinkles really quickly, presumably because of its bolded text. Finally, from the playtest, we knew that our game was fun.

However, fun doesn’t mean perfect. We decided to make keyword text red in ingredients as well to make flavor text more useful. We also added a WASD tutorial segment so the player’s left hand (if they had one) would be in a convenient position to click the key controls, such as ‘Q’, ‘E’, and ‘Space’.
Besides this playtest, we did some QA behind the scenes to make sure all of our potions were working as intended.
Final Playtesting Video:
https://drive.google.com/file/d/19jio70MCeeEaEq2DdmfIO2dOLaumpCeU/view?usp=sharing
Optional Additions, Appendix of Sorts
We have included numerous design sketches, mockups, and behind-the-scenes notes. For TAs who want to access the multiple endings, we have included “Potion Solutions” in our drive for ease of play. Regarding cut ideas and future expansions, a major component we developed but could not fully implement in the slice is K-RAK (The Witching Hour Radio Show), and we have included a script of some planned segments. Much of the extended Midnight Concoctions universe would have lived on “Witching Hour,” the radio segment. In a larger game, we could have introduced characters before they entered the store this way, with Lily’s internal dialogue drawing on the fact that she knew these customers from their radio segments. The previous day’s radio segments could have hinted at possible routes for players—for example, knowing Riff wants to live his furry truth (and thus make the furry potion) because of a prior radio segment. On accessibility: while we did not fully hit our accessibility goals for this slice, we implemented voice acting with our limited time and budget. In the future, we would consider additional settings or alternative control schemes to improve accessibility for players with motor control difficulties.



