The Hermit

Project Summary

Time: 7 weeks
Team Size: 10
Engine: Unity
Platform: PC

My roles:

Gameplay Programmer
Tools Programmer

Try the game!

Game Trailer

Some of my teammates

Designers: Love Åkerlund, Erik Andersson
Fellow Programmers: Erik Petterson

Working during Covid-19

This was our third project in school, but due to Covid-19 it was the first one were we worked off site. Because of this we initally had some problems with communication, not only were we off site, but it was also the first time we all worked together.

It took us about two days before we had an idea. Those two days we were brainstorming and discussing different ideas and genres. We also tried to get to know each others strengths and weaknesses, as well as what everyone wanted to try out and practice.

On top of everything new, we also worked with scrum for the first time, to help us work agile from home. It took us a few iterations on the scrum board and a few changes in our workflow, but eventually we found an agile way of working. We also had two daily standups, one in the morning and one in the afternoon to make sure everyone was on track and to detect potential blockers early.

During the work with the player we tried to have a good communication with the designers, as well as my fellow programmers. They helped me make certain decisions that I felt I couldn’t do alone. They helped with getting playtesters to test out features and with ideas. I also wanted to make the important values the player had to be exposed to the designers, so they could tweak as much as they wanted.

What I’ve learned during this project:

  • The importance of good and constant communication with your teammates.
  • And how important it is with a good communication with the designers.
  • Be vocal about issues and problems that I’ve encountred.
  • Kill your “darlings”.

Game Summary

The Hermit is a top-down action adventure game where you play as a wandering hermit who has ended up in a magical forest where friendly spirits live.
Before he can continue his journey, he must help these spirits defend their forest from invading malicious weasels.

Progressing through the forest will unlock new types of spirits, that will help the hermit further on his journey. Can the hermit with the spirits help solve the mystery of the forest?

Core Gameplay

The short and simple explanation for the game is that the player must go from point A to point B. To get there a number of puzzles must be solved with the help from the spirits. The puzzles may require different types of sprites. Such as torches that needs to be lit by the ember sprites. Or weight switches that needs to be pushed down by the heavy rock sprites. The player can easily change the type of the neutral sprite by giving it a typefruit. In the forest a few different enemies wander, it is not necessary to defeat them to complete the game.

My Tasks

During this project, my primary task was to program the hermit and his abilities.

Movement

A big part of the game is in the players movement. It was my first time doing the player movements aside from various smaller projects. A big part of the game is that the user decide where to throw and recall by moving the mouse. So early on we had to decide if we wanted the player to always face the mouse cursor, or not. As well as if we should move using the mouse, or the keyboard. We had to get some playtesters to help us decide which one felt more natural. But in the end, we still had to make the final call.

So we decided that the player will always be looking at the mouse pointer, and walk with the keyboard. Giving the player strife options to be more mobile. The movement in the end is either a hit or a miss by the feedback we got. A few liked it, others didn’t. But you can’t please everyone.

Throwing the spirits and recalling them

The player can throw the spirits trailing behind him. By throwing them they can help him by weighing down switches, light torches or do some damage to the enemies they hit.

Where the spirit will land is indicated by the blue circle which follows the mouse. When the spirits land on the ground again, they have a few different states they can enter depending on their surrounding. But that was not my task, so I won’t go into detail.

Spirits that are on the ground and idle can be called back by the player. When they have been called they will start following the player, running behind him.

The minion AI was made by: Erik Petterson

Custom Foilage Tool

We had quite a large map, so in order to help with placing foilage I created a custom brush. It had a few iterations during the project. This was mainly my task when the player was finished. My goal with this brush was to help placing all the foilage and different elements around the world. Placing every little clump of grass or mushroom would be too time consuming and tedious.

At first it had custom radius, how big the “brush” should be. A spawn count, how many items should be spawned within the radius. A material, which I didn’t get to work as I wanted it to which is why the models are bright blue before being placed down. And buttons for adding and removing prefabs. So that the user would be able to add how many different prefabs they wanted as well as which ones they wanted to use. And a “Shuffle Points” button, so that they could shuffle where the the prefabs were placed within the radius.

I always got suggestions on what more they wanted the brush to have, or what to remove. We realised that when just placing the prefabs down it got messy very fast in the hierarchy. So for that I created a “parent” for each individual prefab in the list. That way, if a parent was chosen from the heirarchy the new objects would be placed as a child to that object. Making cleaning faster and easier. In order to not create errors, it is of course possible to place objects without a parent object.

A shortcut to shuffle the positions/points was also added. So by pressing the spacebar the user could shuffle all the points in the radius.

In the end, I am quite pleased with my custom tool. It’s the first tool I’ve made, and I think it was quite fun to make as well.