P2 Team 16: Critter

created by Team 16: Nils Forstall, Lucien Lasseau, Ngoc Tran, Houston Taylor, and Lucas Wang

✧₊∘ Artist’s Statement ∘₊✧

There used to be more here: more trees, more critters, more life. Now, one critter wants to know why the big, gray building that darkened the sky changed everything for the worse. Curious, the critter enters through a pipe and begins to explore.

Our game explores insignificance in the face of immense environmental loss. We want to invoke the ominous feeling of moving through a system far too vast to be understood by something as small and simple as yourself, like an ant wandering on a circuit board. As such, we aim to strike a balance between engaging gameplay and a narrative that emphasizes loss.

This is not a game for the faint of heart—but it is for people who are intrigued by investigating the mysteries of a bigger system. Come figure out what you can uncover, impact, and destroy.

✧₊∘ To Find The Game: Our MVP on Itch.io ∘₊✧

We decided to go for a middle ground between vertical slice and MVP, but basically just ended up making a complete, if unpolished, game. Our game is accessible on Itch.io! You can start playing it immediately on the website version of the game here. Alternatively, you can download a personal copy for free on Windows.

✧₊∘ Concept Map & Architecture ∘₊✧

Figure: Initial concept map of our storyline, stemming from the initial introduction of our character to a cinematic conclusion

 

Figure: Gameplay and narrative map of the completed project

Figure: Gif of all cutscenes, which are spread out throughout the game

Our narrative begins with a curious critter who explores a big factory. Inside, the player can find a broken robot in a pile of garbage. We used a pan effect to urge the player to interact with their environment to fix the robot and a cut scene to guide the player to putting the robot on pipes. From there, the player is able to navigate through the factory, interact with and interact factory items (boxes, wires, platforms) to beat some challenging puzzles. When players find hard drives, they are able to restore the friendly robot’s memories, leading to a new segment of cutscenes. Overall, these cutscenes tell the story of how humans built an AI-driven factory to industrialize and expand, integrating PROJECT NICO, an ethics-based AI regulator that is suppose to promote sustainability. However, one day, Nico is ejected from its control panel, ending up in a pile of garbage, which is where the player initially finds it. With no regulator, the factory succumbs to unsustainable practices and becomes a climate-change inducing force. When the player eventually brings Nico to the control panel, Nico decides to self-destruct. Lastly, when the critter exits the factory, it is met with the grim truth of how the world can’t be saved due to even more factories and an endless wave of industrializing robots. All in all, this is an embedded narrative, considering how we integrate our pre-determined story and ending through environmental storytelling and cutscenes. One could also argue “Critter” uses evocative narrative, because we rely on the player’s understanding about climate change and its connotations.

Figure: Usage of art for environmental storytelling

✧₊∘ Initial Decisions about Formal Elements & Values ∘₊✧

We wanted to take this game in a deceptively innocent yet desolate tonal direction, and we believe we’ve accomplished this to some degree in our final product. Since the beginning, we’ve aimed to make the player feel small in the big world around them to invoke a sense of curiosity of a young animal within the complexity of a vast machine and the dynamic that combination creates. In other words, we’ve targeted an aesthetic haphazardly described as “grimcute.” The curiosity evoked helps with accomplishing not only exploration “fun,” but narrative “fun” as players unravel the story behind the factory.   

 


Figure: Image of our protagonist, designed to look cute and innocent

Throughout the design of our game, we’ve considered various techniques to amplify this feeling of innocence and lostness in an unfamiliar world (the factory). For example, when the protagonist meets Nico—an AI companion who assists them through the bulk of the game—we decided not to include any dialogue, in order to preserve the immersion; after all, how would a robot be able to communicate with a woodland animal, anyway? As such, we decided to show the robot’s intentions through its actions and its following of the player rather than providing any explicit text or voices. Other examples of intentional design to contribute to this aesthetic include keeping the camera very close to the player and avoiding implementing any sort of map, in order to deny the player a big picture view of levels and keep them feeling lost. (The levels are all designed to be very linear, so there should be no risk of players actually getting lost at any point.) We also scaled the factory’s background art up to be massive relative to the critter, intending for the huge struts and gears to create a sharp contrast with the smaller scenery of the forest level.

Figure: Image of our protagonist fixing up Nico to portray a positive connection between the two, with no explicit dialogue whatsoever

Mechanics-wise, we expected to, at the very minimum, create (a) basic level layouts for the factory (platforms, lasers, saws, wires, boxes, etc.), (b) a digital rendition of the cat-squirrel-critter protagonist, (c) character movement and actions, and (d) scripts to facilitate scene-switching, all in the Unity Engine. Within the levels, we planned to use challenge, narrative, and exploration as the main sources of fun, leading to our decision to primarily include platforming challenges and puzzles. This would force players to navigate these challenges in the world to progress, allowing for more immersion and amplifying an exploration aesthetic (e.g., chewing through the “correct wire”). 

Figure: Image with some planned-out puzzles / level layouts during the game’s ideation phase

We were unfortunately not able to implement every single obstacle we conceived of, and thus didn’t implement every puzzle that we had initially planned for. However, working under the constraint of time allowed us to think about more creative ways to make do with what we had. Thanks to our level designer, we created over 26 unique puzzles using boxes, wires, lasers, conveyor belts, and moving platforms in different and unique ways!

Figure: Image of one of the many various puzzles that can be found throughout our game

Figure: Image of “scenes” in the Unity Engine, each representing one unique puzzle

✧₊∘ Playtests & Our Subsequent Changes∘₊✧

Playtest 1: 5/7 – Narrative playtest

Figure: initial draft ideas for plot direction

In our first playtest, we wanted to test elements of our narrative with other people to see what worked in the scheme of the story and what didn’t. Once we knew that we wanted to tell the story of a critter discovering the factory that has been destroying its home and the AI controlling it, we had the bones of a story: starting in the forest and seeing the growing destruction, entering and exploring the factory and finding the AI control center Bostrom through a series of puzzles, and ultimately destroying or overcoming Bostrom in some way, only to discover that it is too late to save anything. Our first thoughts about the ending were that the critter could either destroy Bostrom or restore Nico, as its ethics unit, to it to normalize its behavior. We also discussed Bostrom taking over Nico’s functionality and the critter having to destroy them both. From there, we had to decide what puzzles we would implement, how we could tell the story through the environment of the game, and if there would be any plot points in the factory to clue the player in on the history of the factory. 

We decided that we would use some combination of the critter chewing wires to disable deadly instruments such as lasers and saws or to stop objects like moving platforms, the critter befriending an ethics unit named Nico that unlocks doors when delivered items that repair it, and the critter solving physical platforming challenges with platforms and movable boxes as our main mechanics. With that, we began to design initial levels on paper, which is seen in a previous image on the level design section above. 

When we discussed how to tell the story, one major conversation we had was whether or not to use text in the narrative. While text would make telling the story and history of the factory easier on us as developers and the player, it is an approach that we felt was too far from the ideal “show, don’t tell”. Additionally, we wanted to evoke the feeling of being small in an environment not built for you, and including text that the critter itself would not understand was opposite to that goal. Ultimately, we decided that we would not include text in the game to preserve the environment, and instead tell the story through the environment; for example, we could display an increasing number of gears and spare parts as the player approached the factory. Within the factory, we discussed the potential to have some story elements revealed each time the critter fixed a part of Nico, but did not flesh out what those story elements may be yet.

Figure: Initial narrative testing with another group

In response to this proposal, the group we shared with said that the mind control storyline felt unclear and would need more work than some of our other options for a resolution to explain to the player. We also toyed with the idea of Bostrom being able to kill the critter, which the group felt was unfair since the critter was so much smaller than the environment it was in; such an ending would feel cheap and unjust. In addition, they responded that it would be unsatisfying to talk down or fix Bostrom if the world is still desolate no matter what the critter does. Because of this feedback, we opted to pursue a version of the ending where the critter and Nico work together in some way to destroy Bostrom, with the potential for Nico to be destroyed with its host but not the critter. When discussing how we could tell the story through the environment or what elements would be important to emphasize, our playtesters emphasized that the relationship between Bostrom, the factory, and the deforestation that they are causing should be clear to the player. They suggested doing this by dropping evidence along the way, like the air getting smoky near the factory or axes left behind, as well as having wood in the factory. The playtesters also suggested showing the player they can trust Nico by displaying its goodwill toward something else, either the critter itself or a third party innocent creature; for example, showing a bird’s nest on its head. We used this feedback to plan what our designs may look like.

Playtest 2: 5/14 – First mechanics testing

Figure: initial level design for mechanics testing using many placeholder assets

For our second playtest, we wanted to mainly test the mechanics we built for moving platforms, lasers, wires that shut down those lasers, pushable blocks, and zones for death and respawning. To test these, we created a simple level without much art- just enough to generally understand the interactions that were happening. In this playtest, the first piece of feedback was that there should be an option to sprint since it was taking a long time to get from puzzle to puzzle. We decided not to incorporate this feature, but going forward we were conscious about reducing distances so you wouldn’t have to spend as much time walking between locations. We also were told that there should be checkpoints for each puzzle or a reset button, which we implemented using our newly developed respawn zones by placing them as checkpoints between puzzles.

Some puzzles used a combination of skills, such as pushing blocks and disabling a laser by chewing a wire. From this playtest, we learned that if a level uses multiple skills, the previous levels should build to it by teaching each mechanic separately. We kept this in mind as we continued, and it directly informed how we eventually structured the levels. We also received feedback that the driving goal of the player was unclear; however, as we wanted to keep the Kafkaesque theme (small critter in a big factory that doesn’t really know what’s going on), we kept the “driving goal” relatively vague, but we did incorporate our narrative as we iterated through the art design and eventually through cutscenes. Finally, the playtester noticed that the onboarding process could be integrated into the first level of the narrative in the forest, which we planned to for initially, so it was nice to hear confirmation that the idea was sound.

 

Figure: initial forest textures for onboarding level and placeholder text

Playtest 3: 5/16 – Initial puzzle testing

For the third playtest of our game, we wanted to focus on testing our initial ideas for puzzles. To aid in this endeavor, we developed conveyor belts, a saw blade, and a reset key to add more diverse elements to the puzzles and be able to reset a puzzle without finding a deadly object. In addition to the main goal of testing puzzle functionality, we iterated on the art by adding walking animations for the critter, making the experience more immersive for the player.

We had three playtesters for this session of playtesting, and they all said that the key instructions were sometimes unclear. For example, we teach the user to use space to jump in the onboarding level (as seen in the above figure), but one user did not know to use WASD to move. Another playtester did not know to use E to interact with objects, and the third did not know if they had successfully interacted with the wires after pressing E. Because of these unclear interactions, we added movement controls to the tutorial and added sound effects and clearer visuals for interactions.

Figure: key instructions in the onboarding level, final version

Each of them also stated that it was unclear sometimes where the elements of the puzzle were. For example, one playtester missed that they turned off the laser in a level where the laser was below them since there was another laser to their right. In response, we restructured the level to only have one laser to make it clearer where the wires might be mapping to

Figure: initial puzzle implementation vs. revised without second laser

One playtester did not understand that the moving platforms do not bring the player below the ground with them, but we decided that we would allow our players to discover the platform behavior in this case since it is a quick, painless discovery. We also decided we would allow players to discover that the camera part of lasers is as deadly as the beam, since puzzles with lasers tend to have checkpoints near them. A few agreed that it was occasionally unclear where to go after solving a puzzle or to finish solving a puzzle, which we took into account by restructuring levels to be more linear; thus, going from left to right is often, if not always, the next move. 

One issue a playtester ran into was that they attempted to solve a puzzle in the right way, but they were unsure that it was correct and did not reattempt their strategy after a failure. This was a puzzle that included boxes,moving platforms, and lasers all together; thus, we decided a level with so many elements should show up at the end of a level once a player has mastered each element independently or semi-jointly. This would help the player learn by doing and mitigate confusion.

Our final playtester for this session brought up that the conveyor belts used in the levels should indicate which direction they go. To adhere to this, we changed conveyors to indicate the direction with gears inside of the treads, as seen below:

Figure: initial design for conveyor belts vs clearer design with gears

Playtest 4: 5/21 – Level design, initial art + sfx

For this playtest, our goal was to continue testing levels while starting to integrate art and sound effects/music into the game. We fleshed out the tutorial level with a few simple obstacles to teach mechanics and added levels to test. To enhance immersion with the game, we implemented animations for when the critter chews wires, sound effects for when they walk, and background music. In addition, we added the art for Nico in its initial broken state with a bird’s nest on its top as suggested in our narrative playtest.

At this stage, our playtesters agreed that the gravity of boxes was confusing and unclear since they do not slide off of each other when unbalanced; as such, we added a level where the box is hanging off of the edge at the start to demonstrate that box-behavior to the player

Figure: box hanging over the edge of a ledge

Another piece of feedback we got was that it is sometimes difficult to tell that you can walk into the pipe leading into the factory or what elements may be in a level. To combat this, we improved the art of the pipe that leads into the factory and added a panning functionality that shows level elements ahead of time. One playtester was confused on if the gaps were holes or tar, which we fixed with later iterations of game artwork. They also had a difficult time with the timing of pushing a box from one moving platform to another, despite playing a lot of platformers.

Figure: level with two moving platforms

Since this level also required a substantial amount of backtracking, we ended up removing it. The playtester did not initially understand that wires being chewed would turn off the laser cameras, so we added clearer introduction to lasers and wires in initial levels. The visual feedback from sparks on lasers was distracting, so we reduced the particles. Finally, they responded that they did not know R would reset a level; as such, we added this to the tutorial.

Figure: reset button hidden and visible

Our second playtester had a few ideas for mechanics, including cutting wires in specific orders in a puzzle and lasers that destroy objects that pass through them. We did not have time to implement these features, and we had enough puzzle elements not to need them, but they would be interesting to see in a future version of the game.

Playtest 5: 5/23 – Refinement 

The focus of this playtest was refinement. We added rail functionality for Nico to move around the factory, scaled and tweaked mechanics, fixed overlay issues, added background asset and added temporary assets while art was being drawn. Oneplaytester for this session was confused about why the overhead forward lasers were and weren’t coming, so we lowered the ceiling so it was in view. They also had a hard time discovering that they were supposed to jump over the primary obstacle and then jump down, which usually results in death, so we expanded the level to have a more linear progression where you first go down, then up through obstacles which are less counter-intuitive. The first part, going down with the flow of lasers, eases the player into the second, harder part, going up with the flow of lasers

Figure: full puzzle layout initial vs final

Playtest 6: 5/25 – Art, narrative, level design

For this short playtest, the focus was to work on art and narrative with a bit of level refinement. To accomplish this, we added an auto-move zone for the player to walk in and out of levels, fixed resets which had a few bugs in prior playtests, finalized the level design architecture with six levels to progress though, configured and created art for the rails Nico moves on, made art for variable conveyor belt sizes, and implemented sound effects for wires being chewed and powering up Nico.

Playtest 7: 6/4 – Almost final narrative, art, music

Figure: Anthony playing our (almost finished) game

Coming close to the final stretch, we wanted to finalize some narrative elements, and integrate more art and music in this playtest. To achieve this, we added art and interactions for the hard drives players give Nico, the ground, the rails, the doors, and the tutorial level. In addition, we fixed the player animation direction, made some touch-ups to prior prefabs, added vertical levels, and made platforms more visible.

The playtesters agreed that boxes were too slow when three were stacked on top of one another, as they must be for one section of the game. To mitigate this, we shrank the distance between the two obstacles in this level so they wouldn’t have to push it as far. In addition, it was a common issue that the textures made it difficult to tell what what a platform and what was background; thus, we increased the brightness of the foreground elements to be more distinguished from the background and added a parallax effect.

One playtester mentioned it would be nice to see more narrative, since it is a bit confusing what the player’s goal is. To solve this, we added art and environmental design, including graffiti outside the factory, wood-chopping robots, and stumps. Another mentioned that some timing felt too tight and unfair for the player, specifically in the laser level, so we slowed down the lasers and made the timing more doable

A few playtesters believed the background robot was an enemy, so we changed it to look more backgrounded. A few playtesters also thought Nico was an enemy or just a surveillance entity, which we believe will be fixed with the inclusion of cutscenes. It was also unclear that Nico was the thing opening the door for the player. We want to establish a sort of relationship between Nico and the player, so we slowed the opening of the door to imply that Nico was carrying it out.

Many players were confused by the mechanics surrounding the introduction of Nico, since they didn’t know how to get the battery (though they had to jump onto the platform from the left side, when you have to go from the right) and were confused about putting Nico on the rail.  We addressed all of these questions by moving all of the pieces of the puzzle closer together to indicate a clearer progression and adding a part in the cutscene which instructs you to put Nico on the pipe/rail.

Playtest 8: 6/5 – Finalizing

Figure: playtester testing almost final levels

This playtest was focused on finalizing all puzzles, seeing if there was any lingering confusion among players, and getting feedback. As such, we had the above playtester go through the game with minimal instructions. This playtester had a hard time getting up the steps on the laser level–thought he had missed something, so we slightly shrunk each subsequent step to indicate that you can climb up, while still retaining the dexterity challenge of hopping between levels.

Figure: initial steps vs post-playtest steps

Like many other playtesters, they took a long time to understand how to use the hanging-umbrella box formation. Additionally, after solving it and dying during the second part of the puzzle forcing them to do the first part of the level again, they were a little frustrated due to the slight monotony associated with the task. To combat this, we moved the top box over slightly to give a hint as to how the player should approach the level, which also allows for a quicker and in some ways more satisfying way to get to the solution. Instead of needing to jump to the other side to push the box over, the player can jump and push the top box up with their head while sliding the bottom box to the side.

Figure: initial box configuration vs post-playtest configuration

Finally, the playtester was confused about whether they were supposed to use a block from one puzzle in the next, so we added a stop on the ground to make it impossible to move the block away from that puzzle.

Final implementation/playtest

Our final playtest is recorded and linked below, which integrates the final bits of art, cutscenes, music, sound effects, and bug fixes. This iteration should make the narrative more clear with four cutscenes attached to events, environmental design such as placing more stumps close to the factory in the tutorial level and adding background wood-chopping robots. It should also add immersive sound effects and music, such as music for the tutorial in the forest that differs from the music in the factory and sound effects for Nico beeping. Finally, we made final tweaks to levels to make them fair and playable for any player.

✧₊∘ Art, Music, & Game Mood ∘₊✧

Game Mood through Art

Figure: color palette as a design choice

We decided to use neutral tones that are prevalent in factories (steel, wood) to immerse the player in the setting. However, for objects that are interactable, dangerous, or factory/robot related, we wanted to highlight them through bright accents. In the picture above, you can see the color choices made for these items. The critter itself was drawn with soft and pastel tones to accentuate its innocence and curiosity, adding to the narrative.

Game Mood through Music & SFXs

The sound of a game provides a vital atmosphere for the game’s experience. Since our game centers around a critter exploring a factory, we wanted to make sure the music fit a steampunk kind of vibe in the factory, a peaceful one before it, and a melancholy one after. We primarily used Mixkit and Pixabay to source these sounds, and the links for them are below.

For the industrial, steampunk vibe inside the factory, We found a range of sounds that match our envisioned environment. There’s an eerie, mechanical music that underscores the sense of an ever-working, tireless machine. This ambient noise will play continuously in the background, giving players the feeling of being deep within the bowels of an unforgiving factory. For the critter’s movements, there are distinct sound effects for walking and jumping—each footstep pads as an animal’s would, matching with the animation, and the jumps have a satisfying ‘whoosh’ that adds to the dynamic feel of exploration.

When the critter sees Nico and Bostrom destroyed, the game’s tone shifts dramatically, and so does the audio landscape. We chose a more peaceful yet melancholy track to reflect the once-thriving forest now laid to waste. This music has soft, mournful bid’s call that tug at the player’s heartstrings, reminding them of the environmental destruction at the heart of our story. 

Among the interactive elements, one of my favorites is the sound effect for powering on a friendly robot ally. It’s a gentle whir followed by a cheerful beep, signaling hope and companionship in the otherwise bleak setting. We also have various sounds for object interactions, like the creak of opening a rusty door or the fizz of activating a mysterious piece of machinery.

Overall, these carefully selected sounds from Mixkit and Pixabay not only enrich the game’s narrative but also immerse the player fully in the critter’s journey, highlighting the stark contrast between the natural beauty of the outside world and the cold, industrial reality of the factory.

 

✧₊∘ Credits ∘₊✧

✧₊∘ Final Recordings ∘₊✧

  • Final Playtest: see the video here.
  • To see a standalone recording of our game, see the video here!

 

✧₊∘ Extra Credit ∘₊✧

  • High polish: we hand drew all of our assets, starting with low-poly placeholders and eventually rendering them into more high polished assets. This can be seen throughout the various pictures in the write-up.
  • Explanation video: Nils made a recording demo of our game, linked above.

About the author

Sophomore studying CS!

Leave a Reply

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