Bonnie's Bakery was made by Melty Clown Studio LLC:
|
Bonnie's BakeryA Genre-Blending Game about a cute baker with a murderous secret. Bonnie's Bakery features elements of 2D Cooking, First-Person Horror, Visual Novel, Platformer, Roguelike, and Kidnapping Simulator all rolled into one mad package. After creating Bonnie's Bakery during the GDEX Game Jam 2022 in one week, the 7-developer team formed Melty Clown Studio LLC. I worked as Lead Engineer at Melty Clown Studio to develop the massive Fresh Ingredients expansion for Bonnie's Bakery, then helped publish the game on Steam on July 14, 2023. After release on Steam, I helped develop a final update for the game, which released on both Steam and itch.io on November 27, 2023. At the GDEX 2023 showcase, Bonnie's Bakery won the award for Most Innovative. During Bonnie's Bakery's ~1.5 year development time, I worked on almost every aspect of the game, but my largest contributions were in the areas of mechanics design, AI programming, level design, and technical art. My Work on Bonnie's Bakery:
Project Coordinator
I worked with every other member of the team to coordinate asset creation, divide tasks, request feedback and adjustments, and keep everyone informed of project progress. I coordinated with the other creative leads to create gameplay systems and visuals that matched our shared vision. I provided constructive feedback to the team artists so they could iterate on their work and provide assets that met all our creative and technical requirements. (I also responded to constructive feedback from other team members when creating assets myself.) I helped maintain a scrum board using Trello during the development cycle to maximize visibility of assignments and priorities. I managed the GitHub repository for the project. I used branches to test features before implementing them into the main project, squashed merge errors on my end and walked team members through squashing merge errors remotely, and monitored file sizes to avoid pushing oversize files. Bonnie's Bakery was developed in a hybrid environment, combining remote and in-person meetings between team members to maximize efficiency. Gameplay Designer (Hunt Mode, Roguelike Endless Mode)
I was responsible for the final design of the 3D game modes (Dungeon horror level, Town Hunt Mode, Bingus Dungeon bonus level, Endless Bonking bonus level), and contributed to the design of the Investigation Mode levels. The other creative leads on the team gave me rough gameplay goals for each gameplay mode and allowed me to design the exact mechanical implementation of their ideas. The Dungeon level was originally meant to put the player in Bonnie's shoes as she carved up pour souls for meet in her creepy basement. I discussed this idea with the team and raised some concerns about the direction of gameplay with this concept. The final Dungeon mode concept after this discussion flipped the script and put players in the shoes of a victim trying to escape the basement instead. This idea seemed mechanically stronger to me because it provided a much tougher obstacle for the player to overcome (escaping from Bonnie in her own lair) than the initial concept. I designed the enemy Bonnie AI in a sterile Unity scene, designed a greybox Dungeon layout, imported a pre-built first-person character controller, and tested a rough version of the gameplay using the new concept. The team liked it and we proceeded into the iterative development loop of gradually improving the gameplay elements, adding the main puzzle mechanics to escape the Dungeon, adding obstacles, and finalizing the level art. The Hunt Mode added with the Fresh Ingredients expansion took the most time of anything I worked on for the entire development cycle of the game. The rough concept given to me was a kidnapping simulator, where Bonnie intercepts a target AI agent in a sprawling Town environment, incapacitates them, and drags them to an extraction point. This concept proved extremely problematic during development. First and foremost, it necessitated the development of much more complicated AI scripts than what I'd written for the Dungeon. I got those working (again, in a sterile testing scene) after several months, then greyboxed a Town level to test gameplay. Initially, gameplay wasn't fun or challenging at all. This was a rough moment for me, since the team had already been working on Fresh Ingredients for many months at this point. I discussed the Hunt Mode with the other creative leads and we developed a three-pronged approach to improving the mode:
A lot of players didn't understand Hunt Mode and mistook our limited palette of stealth gameplay mechanics as a sign that Hunt Mode was really just an underdeveloped stealth game rather than a more speedrunning-oriented game, like we intended. We addressed this by releasing a patch adding the option to play Hunt Mode levels in "Speed Mode" (the original AI balancing) or "Stealth Mode" (a rebalance of the AI behavior to make it play more like other stealth games). In addition to this change, in the tutorial level for Hunt Mode, I and the team writer included lots of dialogue to indicate that the preferred playstyle was speed over stealth. These changes seemingly paid off, as the Steam release of the game in July 2023 brought in noticeably fewer negative or confused comments from reviewers relating to the Hunt Mode. I also added a hidden bonus level unlockable through Hunt Mode featuring a much harder variant of the Dungeon level, since some players online found the Dungeon to be easy. This allowed us to leave the normal Dungeon level as-is for players who struggled with it, while simultaneously satisfying our more hardcore players. The final mode I designed was the Endless Bonking bonus level, which was added with the Final Update in November, 2023. Endless Bonking is essentially a stripped down Hunt Mode level with a scoring system, escalation mechanics to creating ramping difficulty, and a roguelike upgrade system to provide increased strategy and variety between runs. Systems Programmer [c#]
I designed and scripted many of the high-level systems for the game, especially for the 3D portions. The Dungeon level revolves around a puzzle involving a keypad with a randomized 5-digit passcode and collectable notes each containing 1 of the digits. A code manager generates the code at runtime, configures the keypad to trigger the level-end sequence when that code is entered, and distributes the numbers to the correct collectable notes in sequence. Wording in each note is adjusted based on the generated number. Several secret codes are also configured on the keypad which trigger secret endings. The randomly generated code is checked against these secret codes to ensure a secret code is never generated randomly. The Hunt Mode levels uses a complex web of systems to control dynamic gameplay. A simple quest system tracks whether the player has successfully captured and extracted with their target, layered modular AI systems control a variety of hostile AI agent interactions with the player, and an escalation system spawns more patrolling Police AI agents into the level if the player makes critical mistakes. The Endless Bonking bonus level combines elements of Hunt Mode with a roguelike upgrade system and a scoring system. A variant of the escalation system is used to spawn Townsfolk AI agents with varying offensive properties, and special AI agents that reward roguelike upgrade choices when incapacitated. The Police escalation system remains separate and operates the same as in Hunt Mode with some number tweaks while the new escalation system is driven by player score. A ranking system converts the player's score to a letter ranking at the end of an Endless Bonking run. 3D Gameplay Programmer [c#]
I developed most of the gameplay mechanisms for the 3D portions of the game, including interactable objects, throwable objects, bonkable objects, AI interactions, quest objective tracking, 3D puzzle elements, and physics-driven interactions.
I built a simple first-person melee mechanic using a combination of state-management, tuned animation transitions, animation events, and custom hitbox/hurtbox scripts. This was used to allow the player to incapacitate Townsfolk and Police AI agents, capture Hunt Mode targets, and interact with certain bonkable environment elements. The treasure chest opens when bonked!
One of the most challenging mechanics to implement was the throwable rock. Rocks can be picked up and thrown in Hunt Mode levels to draw the attention of AI agents. This feature ended up being one of the major factors in leading me to create a complex threat evaluation system that could be tuned per AI agent. This allowed me to control how different AI agents reacted to different stimuli, e.g. the noise generated by a rock throw vs the player rustling a bush. Throwable rocks in Unity, AI agent threat evaluation panel
I used a pre-built first-person character controller as a base and made numerous tweaks to fit the needs of the game throughout development, including options to dynamically enable and disable portions of player input. This allowed for scripted encounters that remove control of the camera, movement, or both from the player. AI Designer [c#]
I developed a series of modular AI scripts that could be combined in different configurations to build all the AI behavior types we needed for the different game modes.
The general structure I used was a base script module that defined how an AI agent behaved by default and a secondary script module triggered by interaction with the player. Intermediate script modules could then be inserted to control the transitions between the base module and the secondary module. For example, in the Dungeon horror level, Bonnie patrols the dungeon along a predefined path, but if she sees or hears the player, she enters a chase behavior and follows the player until line of sight is broken for a few seconds or the player navigates into the safe zone. Early version of Bonnie AI agent (Patrol base module, path shown by yellow lines; Chase secondary module, triggered by player entering view cone)
This system helped me build a lot of different complex behaviors in the Hunt Mode levels, but also posed a lot of challenges due to unexpected interactions between the different script modules. The Police AI in particular was difficult to troubleshoot because it had a multilayered behavior using two intermediate modules to control transitions between the base module (patrol behavior) and the secondary module (chase behavior). There were also a lot of difficulties in how certain scripts interacted with Unity's NavMesh system, which resulted in what the team jokingly referred to as the "unsolvable AI bug", where an AI agent would freeze in place indefinitely. This ended up actually being caused by a multitude of problems, but the primary offender was any piece of the level's NavMesh being disconnected from the main mass. Final Town NavMesh
The most challenging behavior module to design was the Flee behavior. Building an algorithm to calculate the best way for an AI agent to flee through dynamic environments wasn't something I'd done before and took a lot of trial and error. It still has some quirks, but it ended up being one of the most reliable and stable modules during development. Level Designer (Dungeon, Town)
a ferThe Dungeon level was designed first (since it was part of the original 1-week GDEX Game Jam 2022 version). I discussed gameplay goals with the team and then sketched a few ideas, trying to create a complex space with as few "dead ends" as possible. Since the player is trying to hide from and/or fleeing Bonnie in this level, I wanted to make it hard to get cornered so the player always feels that there's a chance they can escape. The first few sketches didn't adhere to this principle well, so I iterated until I had a layout I liked.
The final design ended up being a big loop with a few smaller loops branching off and only one or two dead ends. We took that layout into Unity and tested it in a greybox environment with the Bonnie AI, which I developed prior to the level design. Once we'd made our tweaks and were happy with how navigating the Dungeon felt, I added rigidbody obstacles and spooky lighting, then we did some more test/iteration loops. Puzzle elements (collectible notes with randomized pieces of a keycode) were included early in the testing process and moved around until I was happy with their placement in relation to each other, the player's navigation abilities, and Bonnie's patrol behavior. Once the puzzle element positions were finalized, I used bright lighting near them to make them stand out against the dark environment of the Dungeon. Dungeon level layout sketches, puzzle element emphasized with lighting
Town greybox
The focus of the gameplay in the Town level was also very different from the Dungeon level. In the Dungeon, the player was the prey, running and hiding from Bonnie. In the Town, the player became the predator, playing as Bonnie to stalk and capture fleeing AI agents. This posed a lot of design troubles and the mechanical gameplay of the mode ended up being fleshed out more or less in tandem with the development of the level. I had to include plentiful hiding places both for the player to sneak up on their targets and for the targets to hide from the player. To achieve this while keeping the open feel of the level, I used a lot of bushes and trees to break up line of sight. I also cluttered navigation by including props like traffic lights, trash cans, and fire hydrants. This helped slow the player when chasing targets and also gave the player a way to disorient chasing Police AI agents by weaving between obstacles. Town level street views
I used Unity's 2D tilemap system with a few material tweaks to create the ground textures for the Town level. (Tile art by https://sandtastegreat.itch.io/) The road was used to delineate the main paths through the level.
The Town map was used for four Investigation Mode levels, four Hunt Mode levels, and one roguelike Endless Bonking bonus level. In Investigation Mode levels, the player stalks a target, learns their route through the Town, scouts out the environment, and talks to NPCs to gather information. In Hunt Mode levels, the player has limited time to evade Police AI agents and suspicious Townsfolk AI agents, intercept and capture their target, and extract without being arrested. In the Endless Bonking bonus level, the player is awarded points for every Police or Townsfolk AI agent they incapacitate. Collecting enough points spawns a special AI agent into the Town that awards a choice of three upgrades when incapacitated, only one of which may be kept. Upgrades stack, but the number of hostile AI agents in the town continually increases as the player's score grows. Building the Town map to support the differences in visuals and gameplay between these modes required a ton of iteration and was one of the things that consumed a large percentage of my time during the development cycle of the game. Full Town scene in Unity 3D Environment Asset Artist
I 3D modeled many of the Dungeon level props and most of the Town level environment art. See the Technical Art notes for an overview of the process used to create environment assets for the Town Level, or the Environment Assets gallery below to see the models. Environment gallery is also visible on my ArtStation here: www.artstation.com/artwork/yDPam5 First-Person UI Designer
I designed most of the HUD and UI used in the 3D portions of the game, with the notable exception of the Notebook and Whiteboard menus, which were designed by aislebsoupid.itch.io/.
This included a first-person stamina display, collected puzzle notes gallery, and keypad screen for the Dungeon level. Sketch of the Dungeon Notes UI , Notes UI in Unity, Keypad UI in Unity
The Town levels included a first-person stamina display, animated movement status icon, Notebook + Whiteboard menu for reviewing important game mode info, Police arrival timer, and Target progress meter. The progress meter in particular gave me a lot of trouble during development. Playtesters found early versions confusing, so it went though some major iterations. The final version has animations, sounds, and dynamic graphics to inform the player of the Target's current status. Hunt Target progress meter iterations
This allowed post-processing volumes to affect the 2D elements as if they were 3D while still preventing the arms from clipping through the environment. (All UI art by sandtastegreat.itch.io/) Sound Designer
I collected a large portion of the sounds used in the Dungeon and Town levels from online sound libraries, mixing and rebalancing them as needed. I also scripted systems in Unity to control dynamic audio playing (e.g. muffled arcade music gradually replaces the normal level music when you approach the Arcade building in the Town level, electric lights emit a low hum when the player is close, rigidbody barrels thud when knocked over, etc.). Technical Artist
The Fresh Ingredients expansion had a very unique visual style which required a lot of planning and R&D. We wanted to combine the cutesy 2D aesthetic of the Baking Mode with 3D gameplay.
After a lot of discussion with the team, the approach we landed on was to use flat sprites and billboards instead of 3D models wherever possible, including for characters. Where we did need 3D models, I coordinated with the 2D artists on the team to design the object as an illustration first. Then I reverse-engineered those drawings into 3D shapes by cutting and folding them in Blender, almost like digital papercraft. When needed, I worked with the artists to split the illustrations up into component pieces to use as textures. Cult building assembly in Blender using the original illustration as reference, the texture sheet created from cutting the illustration, and the final model used in game
Characters were the most difficult part of this style, because keeping them as flat planes necessitated the creation of 8-directional sprite sheets for every action and some vector math to display the right sprites relative to the player's view angle. Vector math notes and Cat spritesheet (credit to sandtastegreat.itch.io/)
I also used Unity's URP Shader Graph to design a handful of custom shaders and Unity's Shuriken Particle System to design all the particle effects in the game. Legal Secretary
During legal consultation with a lawyer regarding the game, I recorded salient points. I relayed them to the rest of the team in compact bullet point form later for discussion. |
|
The original jam version of Bonnie's Bakery is featured on Super Rare Games' Super Rare Mixtape: Horror Edition, 2023 (SR-30G)
Check it out here! |
Environment Assets I Made for Bonnie's Bakery |
|
Bonnie's Bakery (GDEX Game Jam 2022)A cute 2D Cooking Game that transitions to First-Person Horror as you discover the dark secret of the bakery.
Bonnie's Bakery was created in the Unity engine for the GDEX Game Jam 2022 in one week by a team of 7. After that, the team formed Melty Clown Studio LLC and continued to refine the game and develop additional content. Bonnie's Bakery was created using GitHub version control. During the original jam, I worked primarily on the 3D First-Person Horror/Stealth level of the game, including level layout, prop asset creation, puzzle and AI programming, visual design, and sound design. My work on Bonnie's Bakery:
|
This Little Knight of Mine was used in a research project on pattern usage and pattern breaking in game design. I created the current demo as a research test for a paper on disruptive pattern construction in game design titled "This Little Knight of Mine– Exploring Unpatterns in Game Design".
|
This Little Knight of MineA 2.5D Platformer with a surreal hand-drawn aesthetic that puts players in control of a candle-headed knight on a quest to save the realm from eternal darkness.
The current demo for This Little Knight of Mine was created in the Unity engine by a team of 6 in roughly 4 months. This Little Knight of Mine was created using Plastic SCM version control. My work on This Little Knight of Mine:
|
Character Models I Made for This Little Knight of Mine |
Promotional Materials I made for This Little Knight of Mine
Main Character Gnome. Sculpt and low-poly model created in Blender. Rig created in Autodesk Maya. Textures created in Substance Painter by Branson Mariola.
|
GnomadA 3D Action Adventure Hack 'n' Slash game that puts players in the tiny shoes of a garden gnome on a quest for revenge against a monstrous fire-breathing cigarette-smoking demon goose.
Gnomad was created from concept to completion in roughly 4 months using Unreal Engine 4 with a team of 5 developers and 1 additional cinematic artist. Gnomad was created using GitHub version control. Gnomad's combat system was created using Jon Beardsell's Flexible Combat System. One of my responsibilities on Gnomad was to integrate and modify the plugin to fit the needs of the project, including both adding and modifying plugin features. My work on Gnomad:
|
|
Brütle DungeonA Low-Poly Arcade-Style First-Person Shooter featuring pseudo-randomized arena levels and procedurally generated disposable handguns. Blast through hordes of relentless goblins, ghoosts, flying boosk heads, huge bosses, and more in pursuit of the best highscore.
Brütle Dungeon was created from concept to completion in 8 weeks with a team of 2, myself and a 3D Artist/Level Designer. My work on Brütle Dungeon:
|
|
MinoA Stylized 3D Platformer featuring mind-bending gravity-swapping puzzles and a grappling hook. Investigate a troubling disturbance in The Forest, then take the adventure to new heights in the encroaching Synthwave City.
Mino was developed from concept to completion in roughly 1 week for the 2021 Epic MegaJam by a team of 5 using Unreal Engine 4. Mino was created using GitHub version control. The majority of my work on Mino is represented in the second half of the game, the Synthwave City level. The gravity-swapping puzzles in the Synthwave City level were created using Houssine Mehnik's UE4 Custom Gravity Plugin. I was primarily responsible for integrating the plugin and developing a level filled with puzzles involving both gravity-swapping and grappling hook mechanics. My work on Mino:
|
|
Pulled PorkAn MS Paint-Style First-Person Grappler that tasks players with getting all the pigs on the farm into their pen each level using nothing but grappling hooks and a mighty kick, all while avoiding bouncy cows, sticky mud, and dangerous cacti.
Pulled Pork was created for the Low Effort Jam 13 on itch.io in 4 days by a team of 2, myself and a 3D Artist/Level Designer. Some background assets were made in collaboration with another artist. Pulled Pork was made using Unity Collaborate version control. My work on Pulled Pork:
|
|
Project D.O.G.A Pixel Art Game Boy Adventure Game about 3 dogs in a trench coat trying to go to the store to buy themselves a doggy treat.
Project D.O.G. was developed from concept to completion in roughly 1 month by a team of 3, myself and 2 pixel artists. The game was created using GB Studio and is compatible with Game Boy hardware, although the only playable version currently is hosted in-browser on itch.io. My work on Project D.O.G.:
|
|
Bluedrop WestA Hand-Drawn 2D Point 'n' Click Adventure Game about a cough drop mine in a land without coughing.
Bluedrop West was developed as a solo project from concept to completion in roughly 2 months using Scratch. The art was drawn by hand in graphite, digitally scanned, puppet rigged and animated in Moho 12, then exported to Scratch as .PNG sprites. Some background assets were made in collaboration with another 2D Artist. My work on Bluedrop West:
|
Other Work
Akron Art Museum
GameFest Akron Virtual Gallery
November, 2020
GameFest Akron Virtual Gallery 2020 was an online virtual experience created for the Akron Art Museum's 2020 GameFest Akron event. Submitted games and digital artifacts were hosted in a stylized artistic rendition of some of the Akron Art Museum's gallery spaces. Users could log in to explore the gallery as avatars representative of specific artworks found in the museum and interact with other virtual guests through emotes and a simple chat.
I worked with Kent State University Tuscarawas faculty and students to develop the virtual gallery by implementing the artwork and gallery layout through code, as well as building collisions, room transitions, and artwork links.
I worked with Kent State University Tuscarawas faculty and students to develop the virtual gallery by implementing the artwork and gallery layout through code, as well as building collisions, room transitions, and artwork links.