top of page
Unkindled_Banner2.png

Unkindled

Student Game Project

Overview

Unkindled is a 2D top-down reverse horror systemic game. The player plays as a creature of nightmare, protecting his home from the invading humans.

ss00.png
UNKINDLED_TEXT.png

Key Takeaways

Unkindled is a project done by a group of 9 students, a team consisting of techs, artists, and designers. In this project, As a designer, I mainly worked on UI/UX, mechanics, and as the design lead, I assisted in other design work in the game such as player feedback, level design, enemy systems, story, etc.

  • Highlighting skills - With every component designed by me, I ensure to highlight features and skills of the engine and people who are working with me.
     

  • Lack of references - The reverse horror genre is quite unexplored, due to that, one of the biggest challenges to overcome was communicating ideas and finding what works.

  • Custom Engine - This is the first time working with techs to create a custom engine for the game, added custom features just for the game.

  • Shaders / OpenGL - This will be the first time for me to work on shader coding to create effects and animation to streamline art assets creation.

Main Menu Concept

The original main menu was planned to be a simple panning system to show off the engine's camera and lighting systems. (Prototype made in unity)

The main menu was implemented during the last two weeks of the project. Due to this, I had to decide how to best and most efficiently use my resources to create a feature that would highlight the best aspects of the team members that were working together with me.

Process

I used a problem statement and goals to guide my decision.

  • Problem Statement - Too much content to implement before the deadline.

  • Goal - Implement the main menu.

  • Sub-Goal - Highlight and show as much of the engine's feature, artist skill, a game content efficiently.

  • Considerations

    • Cut story content

    • More VFX.

    • Unimplemented Achievement page in the options menu

    • Achievement system and reward

    • Lack of Progression concerns

    • Lack of replayability

    • boring main menu.

    • Lack of time with the artists who are working on other features

    • Use of shaders

    • etc

 

Before reaching my conclusion, I had a lot of different ideas which had their benefits, they were all weighed against one another. I was convinced the conclusion I had after this was the right one even before starting work on it because it was able to address all my considerations, goals, and problems.

The final product uses newspaper articles as a way to add embellishment, extra story and achievement reward for the game to be unlocked for players. (Final product video)

Transformation mechanic

A lot of my time was spent balancing the two forms of the players to ensure that they both remained useful, as they provided a lot of the meaningful decisions and engagement of the game.

Nightmare Form

nightmare_edited.png

Shade Form

Armature_animtion0_0.png

Balancing the forms

The nightmare form was the main engagement of the game due to the empowering grab & throw and consumption mechanic, player felt invincible, however, in early playtesting, when maintaining this form was easier the engagement rate greatly reduced. This also causes the shade form to be less impactful.

Thus, through several iterations and fine-tuning the two forms, we were able to encourage players to make more meaningful decisions, with the constant health deterioration, players had to carefully make a choice to risk transformation and make trick shots to get the most out of every transformation or stay safe until they find a better opportunity in the shade form.

Grab Mechanic

Despite the simplicity of this mechanic, there were many iterations to ensure it was intuitive, satisfying, and felt empowering to use.

Goal: Make grab satisfying and empowering to use.

Problem statement: Arm distance would vary depending on target position, can't use sprite sheets as they would warp when the sprite gets stretched or squished to match distances.

Solution: I created a shader that would bend and flex similar to the tongue of a frog, without warping the original texture. This effect can easily be adjusted with parameters set by me and would be dynamic depending on the distance. (Video of an early prototype in the custom engine)

Aiming

Goal: Make Throwing and grabbing more accurate and intuitive to use

Problem:

  • Players felt cheated, as aiming felt inaccurate. Due to angle of the gameplay camera 30 degress, which caused some parallax error when raycasting.

  • Despite adding a skill-shot indicator that is triggered on right-click, players have cognitive overload while playing the game, unable to remember the function or use it fast enough. (Early iteration below)

ezgif-3-45a91cab0681.gif

Solution:

  • Instead of increasing the accuracy on the custom engine side, I decided to use the indicator as a way to help players recognise that they are aiming at something grabbable.

  • The target indicator would auto-extend when pointing at a grabbable target, which also stayed extended while holding on a throwable object.

Health  Recognition

Goal: Let players understand that their health decreases when in nightmare form.

Problem:

  • Original health bar was not accurate enough. (Early prototype in the custom engine)

  • No clear indication that transformation is reducing health.

  • Location of health bar is not at player's vision hotspot. 

ezgif-2-122e5bccdb0f.gif

Solution:

  • Using the standard bar form and marking every third of the bar, as it increased better readability.

  • Enlarging health bar when player is in nightmare form, to indicate that something is happening to the player's health.

  • Using a fire shader that would appear when in nightmare form, diminishing as the player's health reduced. This told the player that his health was burning in this form. (Early prototype in the custom engine)

 

flame.gif

Communicating Ideas

Despite my responsibility not being level design, I managed to chip in & create one level for the game, which help demonstrate how I communicate ideas when references are lacking

 

Goal: Communicate settings and ideas.

Problem: Lack of cohesive references of props in the same setting and/or art style.

Undone.png

Solution:

  • Ask for a few temporary props, flipping, rotate and warp them to create a general block out the level, despite the destroyed perspective in texture.

  • Once the artist was able to walk around and view the level in this perspective they immediately understood my intentions.

DDONE.png

Thus, after this experience a lot of the ideas I found difficult to explain, I did quick prototypes so that my techs or artist could quickly experience them and create proper versions for me to use.

Lastly, is how I create flow in my levels, since it was a top-down game, I found using the z-pattern allowed players to recognise where to go without the need of much prompting

DDONE2.png

Skill HUD

Another way of letting players know they can transform was via, a HUD skill icon inspired by genshin impact, I created the aura effect using shaders as well. It is located just above the health bar. (Check out the full gameplay video to see this in action)

Post-Mortem

What I learnt while working on this project?

  • Make prototypes to explain ideas

    • Creating quick prototypes was quick core to how I communicated my ideas to my team members as I soon realise have a very different impression of what the game is when just explaining it with words.​

  • How to plan for success​

    • Using my goal and problem statement method, I was able to quickly generate ideas and eliminate ideas that were not feasible or not as good. The final idea that is concluded by using this method usually has the best chance at succeeding.​

  • Design overlaps​

    • I realise a lot of things that I learnt in school finally overlaps and connect while working on this project. For example, a lot of the ideas for mechanics were fine on their own, however when combined together, caused cognitive overload and required unique solutions, instead of looking back and adjusting mechanics.​

What went wrong?

  • Some ideas in the game ended up not being very polished, as a design lead, it was difficult to balance the work I needed to do as a lead as well as a designer with responsibilities on creating deliverables. This caused me to be unable to invest enough time in other features being worked on.

  • Choosing a genre without much references was definitely a huge road bump for me as a designer, it was difficult to communicate ideas, it was difficult to create new solutions because of how unexplored the experience was because of this, the game has dialed back a lot from the team's initial vision.

What went right?

  • Working on a custom engine has given me a lot of opportunities to learn to write better code as well as work on something new like shaders. I have gained a lot of experience on lead and create better plans to ensure the success of my product.

Final Gameplay Video

bottom of page