|SIMPLE SANDWICH|

4 Player Couch Competitive Sandwich Making

STATUS:  Shipped

DEVELOPMENT TIME:  Feb 2019 – August 2019

PLATFORM:  Unity 3D for Windows

Trailer

Concept

Simple Sandwich is a 3D, top down “couch competitive” romp in which up to 4 players take control of a slice of bread with small arms and legs and compete to make the most, and BEST sandwiches as possible before the time runs out! AI creeps that wander around make up sandwich ingredients (slice of lettuce, tomato, burger, ect). When close to an ingredient creep, players can absorb them to add to their sandwich by jumping onto them. After stacking several ingredients, players jump onto bread creeps and move to the dinner plate to complete the sandwich and earn points. 

Different ingredients give different amounts of points. Following Sandwich Recipes by combining specific ingredients grants huge Recipe Points Bonuses. Monster sandwiches can also be made using unwanted combinations (think mayo and jam sandwich). These monster sandwiches then attack enemy players and remove three ingredients from their sandwich. This can be used as a distraction or for self defense. Monster sandwiches do not count for points.

Multiplayer sandwich making mayhem!
Four sentient slices. One victor. Heaps and heaps of tasty sandwiches. Who will emerge victorious!?
The arena; an ordinary kitchen that just happens to have some living ingredients laying around

Intent & features

The intent of Simple Sandwich is to create a fast paced, frantic, and humourous couch competitive experience in which enjoyment is derived from the silliness of the gameplay and player interaction, i.e “screwing over your friends”. Players will experience hectic competition in which the tide can be turned easily at the last second as they disrupt and “out-sandwich” their opponents, resulting in lots of laughs at the end of a close game.

Local Competitive Play!

Stacking ingredients!

Points & Scoring!

Recipe Making!

Fast matches!

ORIGINAL PITCH VIDEO

Below is the original demo video of the game that my team presented at the Champlain Mid Mortem pitches. The game was in a prototype state and under a different name at that point, but the core gameplay loop and concept remains largely unchanged from what’s shown in this video. I’m leaving this here to show how far the game has come!

MY Roles

My responsibilities as a Game Systems & Audio Designer were:

  • Design and prototype game systems that encourage player vs player interactions such as scoring and movement.
  • Design and implement user interface functionality  for the gameplay scene.
  • Create and implement visual effects and player feedback for most player actions and interactions.
  • Test and iterate upon player feedback, game feel, and user interface elements.
  • Modify and tweak gameplay features according to playtester feedback to meet the needs of the target audience.
  • Create and implement unique sound effects for all game assets.
  • Compose, record, mix, master, and edit music tracks.
  • Write and maintain game design documentation.
  • Give and receive critique about current and future game systems.
  • Communicate with team members within an agile environment to encourage team discussion and solve design problems efficiently.

Systems design & IMPLEMENTATION

Systems I have been designing for the project include movement, scoring, user interface (the implementation & function, not the graphics), audio, VFX and player feedback.  I have put most of my design and implementation into the user interface and scoring systems as well as the surrounding feedback system that goes along with them. 

System: user interface

Plate Collection system, Feedback, & Scoring

I’ve put quite a lot of time into designing and implementing the plate collection mechanic as well as the UI and feedback that goes along with it. I wanted this mechanic to give the players a concrete destination to move to in order to start scoring points, as well as a point of contention for players to clash over. I also wanted it to be a satisfying mechanic that rewards players with tons of audio and visual feedback for making good sandwiches; the better the sandwich, the more satisfying the feedback!

When entering the plate area with a slice of bread on the top of the sandwich, the plate collection process begins. Players will notice the ingredient stack of their sandwich gradually “pop” downwards until it reaches the bottom as point values for the different ingredients pop up. This is one layer of visual feedback that makes the process satisfying, as players can see their towering sandwiches gradually convert into points that will cement their victory. While this is happening, a “popping” sound effect will play that increases slightly in pitch for every ingredient in the stack, adding a layer of audio feedback. The higher the pitch of the pop, the bigger the sandwich, and the bigger the sandwich, the better the point values!

Plate collection system in action. Players get visual feedback from the stack itself and the point values popping up
Real time user interface updating with the stack collection

Additionally, the player’s score card UI updates in real time to reflect the collection process. Points are added to the overall score as each ingredient pops off of the stack. The ingredient icons displayed in the scorecard are also removed as the collection occurs. For this piece of feedback, I specifically designed & implemented the loop that allows for this to occur in real time with the collection process, the scoring related implementation from the numbers in code to the on-screen text, and the original version of the ingredient display that used text, which the underlying code of was used for the new icon implementation.

Later on, particle effects and a sound effect were added to the plate feedback. Keep reading to see and hear them!

Ingredient & Recipe Pop Ups

One of the first UI elements I designed was the ingredient name pop ups that appear when an ingredient is jumped on. Since the game has so many different ingredient types, I wanted to make sure that players knew exactly what type of ingredient they had collected after jumping on it. To do this, I implemented a simple text pop up that displays the name of an ingredient when it is jumped on by a player. Later on in the development process, one of our artists Adam made beautiful pop ups for each ingredient to replace the text. 

Original text pop ups that I implemented
Alpha state pop up implementation. I implemented the prefab, the sprite change per ingredient, and the float/fade animation
Beta pop up implementation. I added point values to the ingredient name cards and made the cards individual prefabs instead of a sprite change on one prefab to save performance

Another big mechanic in the game is the recipe system, in which players earn big bonuses for making sandwiches with certain combinations (e.g cheese + burger = cheeseburger). In order to inform the player which recipe they’ve created, I created and implemented a recipe pop up that plays after the plate collection has finished. It links directly with the recipe manager that our programmer Josh created, displays the name & point value of the created recipe, and adds the recipe points to the score card. Later on, artist Adam made a nice little book graphic to lay the text onto that makes the pop up fit nicely thematically with the rest of the game!

I also added another pop up that appears when a player’s sandwich is ready to be collected. During play testing sessions and at the events we took the game to, I noticed that players had a very difficult time knowing when their sandwich was finished, which led to confusion as to why they couldn’t keep collecting ingredients. 

 

Player makes a cheeseburger recipe that displays a text pop up upon creation. Note the sandwich ready pop up

To solve this issue, I created the Sandwich Ready text pop up and animation that displays at the front of the player model when a slice of bread is collected. I added a “ding!” bell sound effect that also plays as this occurs to give another layer of feedback. In the following play testing sessions and at the RPI Game Fest, players seemed to no longer have this issue.

 

VISUAL EFFECTS

Later in development, I was tasked with adding various different visual and particle effects to the game to add another layer of visual feedback for player actions. I made several different particle systems for this purpose. For the player bread slices, I made particles for moving, jumping, and landing that look like little breadcrumbs falling off as the bread slice moves around. For the ingredient stabbing, I made a chunky particle explosion type of effect that changes color to match the ingredient color. This effect is especially prevalent for the bread in order to indicate to players that their sandwich is ready. Lastly, for the plate collection, I added a whirlwind of particles that flies down the stack as the ingredients are collected. These particles also change color to match the color of the ingredient. All of these effects combined make for a satisfying visual experience during gameplay!

Particle effects for the player bread slices
Bread stabbing particles that are extra special since it finishes the sandwich
Ingredient collecting particles
Whirlwind particles for the plate collection

FACE ANIMATIONS

One of the last things I did for the beta submission of the game for class was finally add in the cute little faces that the bread has in the concept art. Our artists delivered individual facial features (different mouths and eyes) which allowed me to construct facial expressions modularly in engine. I used a simple Unity animator to swap the faces. When certain game events trigger, such as stabbing an ingredient or starting the plate collection, a boolean variable in the animator is set to true, which instantly changes the face to reflect the event.

 

 The faces ended up adding a lot of extra charm to the game and finally helped to realize a critical part of the artistic vision!

The face animator system I developed with Unity's built in animation functions

System: MOvement

The design of the movement system is inherently simple; the left stick moves the slice of bread while the A button jumps. That’s it! My involvement with the design of this system involved tweaking various parameters, such as speed, Rigidbody drag, gravity, and jump forces in order to achieve a very tight, snappy, and responsive movement system. The movement system will most likely not change for the rest of development besides tweaks based on player feedback, as many testers as well as our professor have told us to keep the core gameplay loop simple.

Original movement with no tweaking involved. Very floaty and unresponsive
New movement with my tweaking applied

SOUND DESIGN

Being the only sound designer on the team, all of the sound effects currently in the game were either recorded completely from scratch and/or heavily modified and edited by me. Most of the audio was created in the second week of the project right before the game was pitched, with the rest of it being created the following week. 

I decided to go with a cartoony yet slightly realistic direction for the sound effects. Since the game is composed entirely of cartoonified real world objects, players will have certain expectations about what they will sound like. Keeping this in mind, I decided to use real samples from real sandwich ingredients for all of the ingredient effects. After looking for some bread samples online (and finding nothing particularly good), I decided to record my own bread foley for all of the various player sounds. I slammed the bread around, scrunched it up, slid it around the counter, and more. I did the same for the stabbing sounds of the various ingredients (e.g biting into an apple to get crunch plus squish for the meat stabbing) and then brought all the samples into Ableton to start editing and processing them.

Recording some bread foley. (Yes, this was just as fun as it looks!)
Layers, layers, and more layers. More than 100 total!

There’s quite a lot of sound effects to go through, so instead of breaking down how I made each individual effect, here’s an image of part of the Ableton project. As you can see, there’s a lot of tracks and a lot of layers. 

Most of the editing work involved pulling my foley samples into the DAW and editing out the background noise with Izotope RX, then getting a few of the best recordings and making effects out of them using some compression and saturation. For more complex effects, like the jumping, I pulled from my foley source and some layers in one of my libraries (e.g the bread sounds mixed with the whooshes in the jump sounds).

Here’s a demo video that shows off all of the audio currently in the game, including all of the sound effects I made, the menu music track, and the dynamic gameplay music, both of which you can learn about below!

 

Music

Since I’m the only audio savvy member of the team, I also undertook the challenge of creating musical compositions for the game. I ended up composing two separate tracks that have similar sonic styles and arrangements but different feels and moods. One song is for the menu and is a locked composition loop, while the other is for the gameplay and is fully dynamic. I fully recorded, composed, mixed, and mastered both of these tracks.

I wanted the music to have a sort of fun and zany vibe to it that also reflected the chaos of the gameplay, but I didn’t want it to be too wacky. For some reason, a song from a really old flash game I played in middle school inspired the instrument choice and tone of the tracks; upbeat jazzy instrumentation with electronic pianos, rock organs, funky bass lines, staccato guitars, and horns playing the lead melody. I thought an arangment like this would suit the game well since its a little wacky and has a fun style to it that makes players (and the devs too) want to dance around a little bit. I also just really, really love playing funky bass riffs. Needless to say, I had a good time making both of these songs.

 

I originally composed the menu track for the gameplay before the mid mortem presentation, but eventually myself, the team, and testers thought it fit the menu screen better as a sort of “theme” for the game. While it fit thematically, they said, it wasn’t fast paced enough to reflect the chaos of the gameplay.

Towards the end of the semester, I started creating a new track to be used for the gameplay. Instead of creating a fixed composition that would be the same every loop, I wanted to take advantage of the awesome Interactive Music Hierarchy features in Wwise and make various different layers and segments that would be randomly selected to play together every 8 bars. This effectively creates a different sounding song every match! With 14 randomly selectable layers between the bass guitar, electronic piano, horns, and drums in the main segment and 8 selectable layers between these instruments in the variation segment, there are a total of 20,064,735 unique possible musical combinations that can play during just 8 to 12 bars of music, meaning the amount of combinations spread out over the course of a 60 second match is virtually limitless!

The playlist container for the gameplay music. It starts with the intro segment, then loops the main segement between 1 to 3 times, then randomly selects between the main segment and the variation segment infinitely
Some of the tracks in the Main gameplay music segment. These layers are randomly selected between every time the segment loops
Layers of the variation music segment

Documentation

Two main pieces of design related documentation were created for the game. Myself and our other designer Emmett collaborated on these documents. I wrote a substantial portion of the main game design document featured at the top of this page and made the Visual Design Document you can see to the right. 

Emmett and I collaborated on a list of mechanics for the programmers to reference when implementing features and a list of art assets for the artists to reference as they created material for the game. I also created an audio asset list to help myself stay organized and be able to know the exact state of each asset and know when an asset was ready to be implemented in the game.

Individual Reflection For Beta

I feel that my development as a team member and a communicator evolved quite heavily over the course of the semester development time. I was frequently told by my teammates that my communication was excellent and that I always reported my updates and changes as quickly as possible. The various survey results from team members reflect this as well, since I got many good comments about my communication and passion/readiness to work on the project. Overall, I feel that I improved substantially as a team oriented game designer from this project and feel confident that I am ready to face the trials and tribulations of Senior Capstone development as well as what awaits in the game industry after graduation next spring.

Team members

A Fellow Humans LLC Production
Cameron Belcher - Programming (AI, General)
Emmett Friedrichs - Design (Lead, Concept, Systems, Levels, UI)
Josh Grazda - Programming (Lead, Gameplay, Systems, Tools)
Genevieve Guimond - Design (Freelance, Narrative, Flavor Text)
Brian Harney - Production
Karl Lewis - Design (Systems, Sound, Music, UI)
Riley Morrissey - Art (Lead, Environments, Textures, Concept Art)
Austin Roorda - Production (Lead)
Kaylee Sharp - Art (Characters, Props, Models, Textures)
Adam Streeter - Art (Props, Textures, UI, Models)