Category: Development


  • Minigame Programming Overview

    Written by Ollie

    My work on Soul Keeper has been primarily focused around the development of the ‘peacock minigame’, in which the player – upon approaching the peacock – can interact with it and is prompted to restore the colour to its feathers by using a paintbrush tool. This tool has been more complex to develop for that I anticipated, and therefore a greater amount of development time than myself and my team had intended has gone towards it.


    Early prototypes of the minigame were very stripped down, and even then it took myself several weeks of on-and-off developments to create a fully working one. You can see the early stages of my development below to see how I resulted in the first prototype:

    Development Log 01 – Early Prototyping

    Unity Shader Basics

    Development Log 02 – Unity Shaders & Code Refinements

    Development Log 03 – Rewriting the Prototype


    Once the prototype was complete, I added it to the main project hosted by Misty, with her help. At the time it was still very simplistic but I made plans following the feedback from our intital playtest to enhance it and make it both more visually appealing.

    Development Log 04 – Implementing the Prototype


    Leading up to our second playtest, I made it my focus regarding the minigame to improve it visually and to make it fit within the aesthetic themes Lettie and Xuan had established for us. To do this, I primarily made use of the assets both of them had provided our team with, adding my own touches where I found neccessary. This resulted in a much more established version of the minigame that felt truly at home in the larger Soul Keeper world.

    Development Log 05 – Polishing and Refinements


    Development is never without its hurdles, however. During the end of the semester I had two very irritating run-ins with runtime errors that caused extremely tricky non-linear offsets between the mouse and paintbrush, not resulting in the game being unplayable but it resulted in a less pleasant gameplay experience by far. While we were eventually able to fix the bugs on all occasions, both incidents unfortunately ended up impacting our playtesting sessions, which meant that we could not have a perfect product to show our peers and testers.

    Development Log 06 – Rethinking Conventions

    Week 8 Reflection – Second Playtest & Refinement

    Weeks 9-11 Reflection – Public Playtest & Postmortem


    There were also a number of improvements that I wished to make — and in fact got quite far along with — but ended up being scrapped. I wanted to make the brush in the minigame much rounder and smoother, as well as adding a custom brush cursor, but both ideas never made it to the finish line for varying reasons.

    Development Log 06 – Rethinking Conventions

    Development Log 07 – Miscellaneous Developments


    In retrospect, the development of the peacock painting minigame still leaves quite a lot to be desired: some corners had to be cut along the way, and it was not without its missteps, but I’m still proud of the work I was able to produce and think that it makes a worthy addition to the Soul Keeper project.


  • Animations

    Written by Lettie

    Development Process For:

    Character

    Animals

    Cutscene

    Personal Website

    These are the final animations used in Soul Keeper.

    Character

    Specifications

    Idle Animation – 14 frames, 13 x 27cm sized Photoshop document, 300ppi

    Movement Animation – 8 frames, 13 x 27cm sized Photoshop document, 300ppi, ideally a 0.1 second delay between frames.

    Animals

    Specifications

    Peacock – 8 Frames, A3 sixed Photoshop document 300ppi

    Deer – 14 Frames, A3 sixed Photoshop document 300ppi

    Cutscene

    Specifications

    1920 x 1080 Canvas size, 300ppi.

    50 frames at 10 frames a second

    To make the animation longer frames have been extended – first frame by 15f, Fully formed character lying down by 3f, head facing left by 6f, head facing left 4f the the head tilt upwards by 8f


  • Art assets

    Written by Swan

    Here are all the environmental art assets I’ve prepared for clearing.

    ↑ Frames of the animation


  • World Narrative

    Written by Yulia

    This narrative iteration builds on the initial story foundation of Soul Keeper and introduces two additional conceptual layers:
    1. Ecological fading as a process of forgetting rather than destruction
    2. The Keeper’s conditional existence, sustained by relational trust

    These refinements align the emotional arc of the story with the game’s ecological systems, strengthening thematic cohesion between worldbuilding and gameplay.

    There is no evidence of destruction in the forest, everything appears to be all right. The quiet bloom of woods and the sound of streams still light up the quiet wilderness. However, subtle changes are taking place. Plants drift further from familiar pathways, animals take refuge far from home, and winds carry strange scents from afar.

    This did not happen overnight but has been gradual. The strength of connections within the forest is declining, as bonds between places slowly break. The world is not going to end but instead is forgetting how to function.

    The Origin of the Forest Keeper

    A new being called the Forest Keeper emerged from the forest. She was not a hero from beyond; she was the forest itself. Her form was built of bark, blades of grass, and petals, as if the world was falling apart because of chaos. When she woke up, she didn’t know this world, but she knew why she was here. The Forest Keeper will not last forever. She will exist only as long as the forest exists. If the creatures stop believing in her, if the relationship continues to break, she will die too. For that reason, the Forest Keeper is not nature’s king but just proof that the forest still knows itself.

    The Call of the Players
    When players enter the game, the following words will appear on the screen:

    ‘Wake up, Forest Keeper.
    Nature has called for you. The creatures are waiting.
    Explore the forest. Help them. Earn their trust’

    This is not the hero’s call. Players don’t go to fight enemies but are invited here to rekindle the bonds between nature and its inhabitants. They have to roam through the forest, help the animals, and slowly win their trust in this game.

    Creating a Stress-Free Game Environment

    In this dimension, the Keeper’s path is free of slaughter or battle; it is about rebuilding bonds. As players traverse different zones, observe their surroundings, and assist forest creatures, some natural relationships will be re-established in the ecosystem. With every exchange, animals trust you more and the forest connects again. As the nourishment of these connections begins to occur, the Keeper herself becomes clearer and steadier.

    A World that Responds to the Player

    The world of Soul Keeper has a sleepy dream-like quality to it, though the action is slow to get underway. The forest can be neglected, but it does not just collapse suddenly.

    The equilibrium of the world will be determined by the actions of the player. The Keeper helps nurture this world’s memory of life by tending to animals, exploring the forest, and restoring connections between areas.


  • Mechanics Design & Coding Development

    Written by Misty

    GameLoop

    Start Menu
    The player begins at the Start Menu and selects Start to begin the game.

    ↓

    Opening
    An Opening sequence introduces the background and provides basic gameplay instructions to guide the player.

    ↓

    Clearing Scene
    The player enters the first playable area: the Clearing.
    Here, the player encounters a Peacock and can interact with it to trigger the first task.

    ↓

    Peacock Minigame
    The player must hold down the mouse button to wipe away the dust on the peacock, revealing its original vibrant colours.

    ↓

    Return to the Clearing
    After completing the minigame, the player returns to the Clearing scene.
    A Peacock Soul Fragment appears. Interacting with it will:

    • Unlock the Peacock entry in the Notebook
    • Unlock the next area

    ↓

    Lake Scene
    The player travels to the Lake. In this area, the player:

    1. Collect resources
    2. Feed the deer
    3. Interact with the deer after feeding it
    4. Get the Deer Soul Fragment
    5. Unlock the Deer entry in the Notebook.

    ↓

    Ending

    Game over, exit or back to the start menu.

    –

    Task Allocation

    Here are the expected playable core mechanics in two scenes of this game.

    Clearing SceneLake Scene
    Start Menu & InstructionMisty developedNA
    Item CollectionNAMisty developed
    Animal InteractionMisty developedMisty developed
    Animal PuzzleOllie developedNA
    Get SoulfragementMisty developedMisty developed
    Unlock Notebook PageMisty developedMisty developed
    EndingNAMisty developed

    Meanwhile, I’m also in charge of adjusting art assets, animation, the UI system, and character movement. etc

    –

    Collaboration with Team members

    All team members and I update each other on our progress during our weekly group discussions and communicate in real time via the Slack channel.

    with Technical Designer Ollie

    I created a GitHub repository and invited Ollie to join.
    I was responsible for developing the main game, and he was in charge of the peacock minigame.
    We initially worked on separate branches. Once he had fully developed the minigame, he merged it into my branch, and we coordinated the integration.

    “Zer046” is my account.

    with Artists, Swan and Lettie

    Initially, I helped allocate art tasks to Swan and Lettie and suggested they coordinate their art styles by searching for references together.
    Once they had completed the art assets they were responsible for, they would send me the original PNG files via email or the Slack channel.

    After downloading them, I imported them into the engine and refined the scenes and animations. I then send them screenshots or videos of the refined work in the engine to seek their feedback on visual improvements.
    I would also raise feedback to their work, such as ‘the map colours are too dark’, ‘this asset doesn’t blend well with the others’ or ‘the animation transitions aren’t smooth’, and discuss potential solutions with them.

    with World Designer Yulia

    At first, Yulia wasn’t entirely clear about her responsibilities and wasn’t used to communicating with the team via Slack. So I started by chatting with her in Chinese on WeChat to explain what she needed to do for the group.

    This included researching the world-building, developing the character profiles, and crafting the opening narrative.

    After that, we also discussed the sound effect:

    Sound, Light and Effects – Misty Zhang

    As other team members mentioned that she only messaged me privately, meaning the rest of us couldn’t keep track of her progress, I suggested she post all questions and updates to the Slack channel.

    –

    First Playtest Development

    The first playtesting session was scheduled for Week 5 of development. During the preparation phase in the first four weeks, my main goal was to implement all core gameplay mechanics in the first scene (Clearing) that we intended to evaluate in this initial test.

    My development blog for the first playtest are in the following links:

    Coding Development: Scene & Camera

    Coding Development: Player Character

    Coding Development: UI

    Coding Development: Animal Auto Navigation

    Coding Development: Animation

    Coding Development: Item System

    This stage prioritised creating a playable vertical slice that could demonstrate the complete gameplay loop.

    –

    First Playtest Outcome

    I was able to include a complete game loop of the core mechanics in this playtest. However, there were some tech issues still existing which disturbed the player’s experience.

    Here is the feedback we collected during the playtest and the form I organised later, to help myself clarify the issue, the way to improve, and the expected outcome:

    First Playtest – 26.02.2026 – Soul Keeper

    Based on this, I started to refine mechanics and interaction logic in Week 6:

    First Playtest Refinement – Misty Zhang

    Coding Development: Draggable Item – Misty Zhang

    –

    Second Playtest Development

    Second Playtest Preparation – Misty Zhang

    Sound, Light and Effects – Misty Zhang

    –

    Second Playtest Refinement

    Second Playtest Refinement – Misty Zhang

    Second Playtest – 19.03.2026 – Soul Keeper

    –

    Full Gameplay

  • Soul Keeper Vertical Slice Outline

    By Scarlett White

    Our 2.5D vertical slice will consist of an opening cutscene, two interactive environments with an animal in each that you must gain the trust of by picking up items. ​

    Once the animals trust you, they will give you part of their souls. You will also be able to add them to your notebook whereupon you will have completed your soul keeper training and will become the new soul keeper​

    Mechanics​

    • Walking​
    • Sprinting​
    • Inventory system​
    • Notebook system​
    • Peacock minigame​

    Art Assets​

    • Main menu cutscene​
    • Character idle/walking/sprinting​
    • Deer idle/interaction​
    • Peacock idle/interaction​
    • World map​
    • Lake area​
    • Clearing area​
    • Notebook menu UI​

  • World Design & Ecological Structure

    Written by Yulia

    This page explores the evolving world behind our project.
    It presents the narrative foundation, ecological relationships, and character context that define the Forest Keeper’s journey.

    Together, these elements shape a unified and intentional fantasy setting.

    Solid arrows — water flow
    Dashed arrows — seed dispersal
    Lines — elevation
    Icons — animals

    Ecosystem Logic

    1.Local ecosystem functions

    While I designed these three explorable regions, I did not do it so that they could just be three independent visual spaces but rather three interconnected ecologies.

    The Lake region mainly offers water and promotes vegetation, making it more conducive for the existence of those animals and plants which are dependent on a humid environment. Unlike the Wasteland with varying ecosystems, the Clearing is more like a transition area where the activities of some plants and animals meet. Regarding the cliffside, I designed it to be the environmental bounding of the whole world, so you find the terrain and atmospheric here more exposed than the other two regions.

    Because of the differentiation in ecological role across the different regions, the world seems more believable than a simple succession of scenes, and the environment structure appears more consistent.

    2.Circulation of Materials Between Locations

    Environmental systems will also express the links between areas. For example, a forest.

    • Seed scattering
    • movement of water
    • Indications of animal activity

    Some of the plants may exist in more than one region while the water may flow very slowly from the forest till the sea which is below the sides of the cliff. The game will not feature a full migration system, but I’d like to include small details of environmental storytelling to create a sense that ecological interactions exist between regions.

    These tracks may deem animal tracks, marks or disturbances on vegetation, an abandoned bird’s nest, and so forth which can provide clues.

    Such information makes the world more interconnected as a tightly-knit ecosystem rather than a mere assemblage of standalone gameplay spaces.

    Resource Integration

    1.Resource Origin

    Currently, resources in the game world mainly come from the natural environment itself, namely.

    • plants
    • branches
    • fruits

    Resources are varied according to the environment and ecology, letting players perceive the differences more accurately as they explore the various locations.

    2.Regeneration

    Most plant-based resources will remain in a relatively subtle state of renewability.

    Rather than emphasising resource depletion, the entire resource system is designed to foster a sense of ecological continuity and environmental stability, which is also more in keeping with the generally tranquil atmosphere of Forest Keeper.

    3.Environmental Impact of Collection

    Resource gathering does not cause any significant damage to the environment itself.

    Compared to traditional collection mechanics, resource interactions here are designed to strengthen the relationship between the Keeper and the surrounding ecosystem.

    Consequently, resource interactions not only drive gameplay progression but also further reinforce the environmental balance and coexistence within the world.

    Spatial Narrative

    1.Intended Player Emotion

    When entering different areas, the overall atmosphere is designed to evoke feelings of curiosity, safety and a sense of connection with the environment and the animals.

    Rather than emphasising danger or the pressure to survive, the world as a whole encourages players to explore through the environment itself, gradually helping them to develop an understanding of the Forest Keeper world.

    2.Visual Navigation Cues

    Visual Navigation Cues

    The player’s direction of movement is primarily guided by the environment itself, for example water flow, changes in vegetation density, differences in elevation and variation in plant life. These environmental details help players to naturally understand spatial orientation without having to rely too heavily on explicit UI guidance.

    Animal Placement Logic

    Animals appear in specific areas based on the ecological conditions of their respective habitats, rather than being placed randomly across the map.

    The distribution of different species not only helps to emphasise the differences between biomes, but also makes the environment itself appear more believable, whilst further enhancing the player’s interaction with the environment.

    World Expansion Potential

    At present, these concepts are still at an early stage, but we may well expand into new ecological regions in the future.

    For example, in addition to forests, we might introduce more extreme environments, or areas where the ecological balance has already been disrupted. Compared to the relatively tranquil atmosphere currently in place, these regions may allow players to experience more clearly the impact that environmental changes have on the world.

    The Keeper’s actions may also extend beyond simply tending to local environments, gradually influencing the recovery and evolution of the entire ecosystem.

    References

    • ecological system references
    • environmental storytelling references
    • Journey
    • game ecology inspiration