P2 – Rooted (Team 17)

Team 17: Kongmeng Her, Cameron Mohne, Xinyi Wang, Phuc Tran, Jenny Mai

  1. Github Link: here 
  2. Published Game: here

Artist’s Statement 

“Rooted” is a 2D platformer game where we delve into the enchanting journey of self-discovery through the eyes of Sapp, a small seedling yearning to find her place in the world. Sapp’s adventure is not just a physical quest but a heartfelt exploration of identity and growth. This game is designed to evoke a sense of wonder for the natural world, using pixel art to craft a whimsical, cozy atmosphere. Our aim is to create a space where players, particularly teens and young adults, can immerse themselves in a story that feels both magical and comforting, yet deeply resonant with themes of self-acceptance and personal growth.

As Sapp navigates through lush forests, serene marshes, and majestic mountain sides, she encounters a variety of plant characters, each imparting wisdom and abilities that aid her on her path. Through engaging puzzles, light-hearted interactions with NPCs, and gentle combat, players experience the joy of exploration and the thrill of discovery. Ultimately, “Rooted: A Plant’s Tale” is a celebration of the beauty and magic found in nature and within ourselves. It is a reminder that the journey to find our unique strengths often reveals that we were extraordinary all along.

Game Model 

[ Rooted’s game map ]

Initial Design Decisions 

In our initial conception of the game, we set the focus of the game to be the series of puzzles that are unified by an embedded narrative, which the player uncovers as they explore the game world and solve more puzzles. Taking the perspective of Sapp, a bubbly seedling, the player starts their adventure in a fantastical game world with magical plants and talking creatures, which Sapp needs to interact with to move forward in the puzzles and discover different landscapes in the game universe. 

In light of our decision to create a game of fantasy that highlights puzzle-solving, we crafted the following narrative: As an adopted seedling in a family of plants, Sapp struggles with feeling inadequate as she remains small while her siblings grow. Seeking answers, Sapp learns from Aspen the Elderly about the legendary World Tree, believed to hold all wisdom. Embarking on a challenging journey to find the World Tree, Sapp encounters various puzzles and trials. Through these experiences, she befriends different plants, gaining new powers and wisdom. As Sapp progresses, she becomes stronger and more compassionate, learning that her true strength lies within. When she finally reaches the World Tree, she discovers she is its descendant, meant to grow into something extraordinary. Yet, by this time, Sapp realizes the journey itself has provided the answers she sought, showing her that she has always been remarkable.

Based on the narrative, we created a series of puzzles of increasing levels of difficulty to help players both ease their way into the game and have an adequate sense of challenge and fun. In each puzzle, Sapp needs to traverse through a terrain dominated by a specific kind of plant. She has a set of movement mechanics available to use, which includes the basic walking and jumping as well as skills she has gained in previous puzzles. The player has to think about how to best leverage their skills and make use of the information from NPCs to get through the puzzle space. Once the player successfully resolves the puzzle, Sapp would gain a new skill that is related to the specific plant in that puzzle. Some areas will require skills beyond what Sapp may know at a given point in time, but this comes without the feeling like they are hard locked and unexplorable. These choices and dynamics are intended to capture and drive the player’s innate desire to explore and remember where they’ve been so they know where they can or should go at each step of the way.

We designed 6 very different and novel puzzles that span the dandelion field, the sunflower field, vineyard, beach with palm trees, desert with cactus, and pond with waterlilies. Here we will elaborate on the first two puzzles: In the dandelion field, Sapp starts from the bottom level and needs to get all the way up to the top level to find the Dandelion Queen. She has to borrow seeds from dandelions that grow on each level, which can act as parachutes that help her glide. Sapp can only glide when there is wind, which is a time-sensitive condition in the environment. To better tie the puzzle to the narrative and give players a sense of interaction and exploration, we have Sapp talking to the Dandelion Queen and learning that she lost her crown in the field, which Sapp agrees to help her find. After Sapp finds the crown in the field, the Dandelion Queen bestows her with the gliding skill, which she could use in her journey afterward. In the sunflower field, the sunflowers move their disks up and down to absorb sunlight. In order to get through the field, Sapp needs to jump onto the disks when they move to a proper position that is within her jumping range. If she fails to jump onto the next flower and falls, then Sapp has to return to the starting position to restart. 

(Please see the attached images for details of the remaining puzzles.)

To better stimulate the player’s desire to explore the game world and facilitate their understanding of the narrative, we designed a handful of characters that the player can interact with through dialogues and animation at different points of the game. For example, Bushard is Sapp’s brother, who Sapp is compared to, especially at the beginning of the game. Bushard had an early growth spurt and sprouted as a bush plant. Growth is looked upon highly in this kingdom which causes their parents to play favoritism. Soleil is a sunflower that resides in a SunFlower themed town. She teaches Sapp to hone in on photosynthesis and to use the power of the sun as mana for special attacks and movements. Other characters include Fern the human girl who gets lost in the forest and finds her way back with Sapp’s help, Lumberjack the father of Fern who is initially hostile towards Sapp but transitions to a supporter of Sapp after she helps Fern, etc. 

In terms of visual and audio design, we decided to make use of pixel art to create a whimsical and cozy atmosphere. Working with pixel art is quite nice as it allows for quick drawing iterations of character designs as there are only so many pixels we can color in. We also did a lot of exploration and visual research to create and find art assets that fit into the themes and tones of our game. By ensuring that these assets blend seamlessly with the visual style and narrative, we hope to maintain consistency and cohesion across art styles to enhance the player experience. To a lesser extent of focus, we also chose a musical direction. To add onto our whimsical feel, much of our intended soundtrack would pull from that of Studio Ghibli films that evoked a sense of discovery, curiosity, and nostalgia. Due to our limitations, we were unable to find free of use music to fulfill this desire. Furthermore, sound effects were considered. It had to line up with our pixel art aesthetic, while at the same time, sound natural to that of plants. This made it extremely difficult, and while the proponents were set up to include more sound effects, we only managed to program in a jumping sound, choosing instead to focus more on other aspects of the game.

For this class we decided to build a playable slice that centers around our first puzzle of sunflower field as well as the onboarding and transitional town scenes.

Playtesting and Iterations 

Our initial playtests were a test of concept and narrative. From early brainstorming sessions, we chose to go with a plant-RPG concept. Through the narrative making exercises, we squeezed out a shared vision of a small, anthropomorphic plant that goes around learning to grow. The narrative arc would be both metaphorical and literal, as the character grows over time both physically, and as an agent in the story. With this initial premise we worked around a multitude of narrative concepts. Some first editions included parallel worlds (between a magic world and a human world) that would also feature dual main characters (a human and a plant). Through playtesting these starting narrative scopes, we learned that the story was all-encompassing, in which it was huge in scope but could also be messy. With this, we were able to refine and center it on the plant story arc, bringing it to what it is today. The more focused story also allowed us to make more definitive decisions on gameplay. While overall it would take on the shape of an RPG, the core mechanics would be similar to that of platformers.

With a strong and focused concept, we were able to start utilizing different skill sets of our members and specced into early iterations. These included early character designs for our protagonist Sapp, as well as other preliminary characters. These characters came in tandem with how we chose the story progression, and thus our puzzle design as well. Sapp would encounter different characters at different locations throughout the game. Each character brought with it its own unique conflicts and additions to the story line. The locations would also introduce environmental changes that allowed the platforming mechanics to flourish. Early puzzle ideation included sunlight affecting the growth of plants in our sunflower fields, or Sapp having to encounter the Water Lily character in order to learn water traversal techniques.

While these were going on, we started building out our onboarding / tutorial, as well as the starting town and initial puzzles. The onboarding process would introduce players to initial movement and maneuvering (as that was the core gameplay for our platformer). These early playtests were typically conducted on other students in the class, and the general feedback we received was very useful. See, we went into these playtests wanting to test our realized concept and early movement. Most feedback praised our visual design, highlighting how our choice of color palette and pixelated art style conveyed the warm and comfy atmosphere we were seeking. Feedback on the movement was also quite positive as many players enjoyed the speed and responsiveness. However, our largest critique was that Sapp felt overly heavy when jumping despite the visual language conveying her springiness. This also translated itself into how the puzzles were done. The early ones included general jumping from platform to platform, but many players struggled. Because the jump was geared to make Sapp’s jumps smaller, the puzzles were designed around this distance. As such, upon changing Sapp, we also had to change some of our puzzles.

Another large feedback we received when it came to our platforming was the slipperiness of certain surfaces. For example, early playtesters complained about the difficulty of early jumping on trees because the branches felt way too slippery and players often fell off. This trickled itself into natural senses of frustration as players often fell off from the slightest bit of movement. We tackle this problem in later iterations by providing more surface area space for players to freely roam on tree branches to reduce the consequences of unintentional small movements (players aren’t perfect).

Much of our later playtests featured players interacting with NPCs and navigating our first rigorous puzzle: the sunflower fields. Often, players couldn’t tell how to interact with NPC’s, or if they even could. Suggestions were given to provide clear text on an interaction button and to animate NPCs to provide visual language. Within the scope of what we could accomplish, we incorporated the textual option. Our puzzle was also much longer compared to the rest of what we currently had. As a result, often when players failed they restarted at the start of the level. This was too punishing for players. In response, we added reasonable checkpoints throughout the level. There were also visual inconsistencies noticed by players. There are two trees, one of which can be walked / jumped through, while the other can’t. This often meant players were unable to intuit the intended next move to progress. The platforming of this puzzle also felt static as it often involved waiting and timing jumps, which while added another layer to what we had, was not dynamic enough. Taking this feedback, we’ve implemented interactive platforms, harmful mobs, and moveable barrels that direct the player in a certain direction and encourage the player to think twice about how to best navigate the level. This way, players are waiting less in certain areas while also being able to manipulate their environments to play a more active role in their traversal of the game. 

In regards to the art style, we were deeply invested in the cohesion of aesthetics throughout the entire game. One of the major decisions we made in the beginning was to hand draw all of the character sprites in each scene. This way, all characters that the player interact with matches a similar style. In addition, when we imported outside assets to supplement the background and environment of the game, we made sure to modify the color and shading of each tileset and sprite, ensuring coherency to fit the whimsical nature of the game.

In total we tested our game with 11 playtesters. We include some photos and videos of our playtesting below in section 8.

Movement Implementation & Iterations

[ Sapp Movement Animations ]

Our team spent a significant amount of time iterating on Sapp’s movement mechanics to achieve a satisfying and engaging experience for our platformer. Initially, players found the constant velocity movement to be monotonous and unnatural. To address this, we implemented acceleration. Now, Sapp gradually builds up speed as players hold the directional keys, creating a sense of weight and momentum while also allowing for finer control during movement and jumps.

Next, we focused on refining the jumping mechanics. We included a basic jump triggered by the spacebar, as well as “coyote time” which grants players a short window to initiate a jump after stepping off a ledge. To add a layer of skill and precise maneuvering, jump height is now context-sensitive, increasing the higher players hold the jump button.

Balancing gravity and jumping force proved to be another key area of iteration. While we initially aimed for a more realistic feel with stronger gravity, playtesters reported that it made Sapp feel sluggish and hindered platforming. In response, we reduced gravity and increased jumping force. This resulted in a lighter, more responsive character, allowing for fluid jumps and a more engaging platforming experience.

It’s important to note that this process is ongoing. We’re currently experimenting with specific values for acceleration, jump height, and gravity to find the perfect balance. Additionally, we have a cooldown timer after landing before players can jump again, and we’re exploring the possibility of implementing a limited number of consecutive jumps. Internal prototypes showcasing these movement iterations are available for further reference.

Narrative Implementation & Iterations

Crafting a compelling narrative for our platformer involved a series of refinements. Initially, we focused on establishing the core elements: a dialogue system and NPCs to drive the story forward.  Our first attempt had Sunny, the sunflower mentor (initially the only drawn NPC), stationed in the starting town, directing players towards Sunnyvale.

[Sunny Dialogue]

Seeking to enrich the narrative experience, we then introduced Sapp’s family, adding a layer of personal conflict through their favoritism towards Sapp’s younger brother. This shift in focus called for additional environmental details. We implemented interior design for homes, allowing players to enter and interact with NPCs within these spaces.

Through this, we made adjustments to the character placement. Sunny’s role shifted, and the Major of the starting town, who also doubled as the librarian, was introduced. We were able to introduce the World Tree within the Major’s home.

[ Major Dialogue ]

Finally, to further enhance player engagement with the narrative, we implemented cutscenes. A captivating lifecycle scene at the game’s beginning introduces the unique world, while a smaller cutscene highlights the significance of the World Tree discovered in the library.

[ Lifecycle Animation ]

Looking ahead, with more development time, we envisioned creating Sunnyvale and fleshing out the mentorship aspect. This would involve showcasing Sapp learning valuable skills from Sunny and other villagers, solidifying the narrative arc.

Puzzle Implementation & Iterations

Our initial puzzle design focused heavily on core platforming mechanics. Players navigated from point A to point B by traversing static platforms. We then introduced moving platforms, requiring players to time their jumps for successful traversal.

Playtesting revealed a desire for more engaging and interactive puzzles. In response, we implemented several features:

  • Bug Enemies: These introduced an avoidance element, requiring players to navigate around these obstacles while maneuvering through the platforms. The movement aspect of these bugs increased the difficulty as players have to constantly move around these mobs, which is much more difficult than moving around a stationary obstacle. 
  • Vines: We incorporated vines to provide vertical movement options, allowing for greater exploration and more strategic jumping combinations. 
  • Interactive Platforms: Static platforms were replaced with player-controlled ones. This added a layer of thinking and planning as players manipulated the environment to reach new areas.
  • Movable Barrels: The introduction of barrels as movable objects introduced the concept of using objects to solve puzzles. Players could now push barrels to reach higher areas or bridge gaps. These movable barrels can be used in combination with the interactive platforms, which enables the player to reach higher positions.

These additions transformed our puzzles from basic platforming challenges to interactive experiences that required players to strategically combine movement, avoidance, and environmental manipulation.

Challenges

Our journey into game development wasn’t without its challenges. As a team new to Unity, we relied heavily on tutorials to navigate the complexities of the engine. Mastering concepts like layering, C# scripting, GameObject interaction, event triggers, and the animator proved to be a steep learning curve.

One particular hurdle involved implementing persistent scene memory. We envisioned players spawning in different locations between scenes, but while we achieved this functionality within Unity, it wasn’t reflected in the final build. This setback, however, presented a valuable learning opportunity in exploring ScriptableObjects and save/prefs functionalities.

The lack of persistent scene memory also impacted our ability to create a seamless reset function. Players encountering difficulties wouldn’t be able to easily restart the scene. While we incorporated safeguards within the cave puzzle design, it wasn’t a perfect solution.

On the art side, creating pixel art assets and animations proved to be a time-consuming endeavor, even for team members with some prior experience. Despite the challenges, we persevered, and the process itself fostered a deeper appreciation for the artistry involved in game development.

Playtests

  1. Playtest Iterations (Concatenation of multiple playtest videos) : here
  2. Final Playtest (Note – Recorded is playtester’s second run because of a recording error): here

Appendix:

Puzzle Images:

 

Citations

Mucho Pixels. (2020). Forest Tileset Pack. itch.io. https://muchopixels.itch.io/forest-tileset-pack

Mucho Pixels. (2020). House Interiors Tileset Pack. itch.io. https://muchopixels.itch.io/house-interiors-tileset-pack

The Flavare. (2022). Mondstadt Theme - Genshin Inspired - Parallax Background Pixel Art (Free Platformer Tileset). itch.io. https://theflavare.itch.io/mondstadt-theme-background-pixel-art

beamedeighth. (2022). SimpleKeys - Animated Pixel Keyboard Keys. itch.io. https://beamedeighth.itch.io/simplekeys-animated-pixel-keyboard-keys

About the author

Leave a Reply

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