Symbiosis is a first person puzzle game with a heavy atmosphere.
You play as a half plant, half human hybrid forgotten deep within in an abandoned and overgrown lab facility.
After waking up in a cracked cryo pod and with no knowledge of who or what you are, the only option is to try and piece together the labs history from the clues left behind by the scientists. And with the ability to interface with and control vines, the player must use their wits to find their way outside and to freedom.

The engine we used was Unreal Engine 4.18, and it took four weeks to complete plus one week of pre-production.
Our team was composed of:

  • 3 x designers
  • 3 x 2D artists
  • 4 x 3D artists

My role

My role in the development was as scripter and level designer, as well as being jointly responsible for the gameplay design together with the other designers.
Much of my level design was in the blocking phase and almost all of it got iterated upon and improved.

Apart from that I also did bug fixing, some events for cave-ins and a fail-safe for if the player somehow falls out of the world among many other small things.


Climbing mechanic

My focus as far as scripting in this project was making navigating the level between puzzle more interesting. And to that end I made a mechanic for climbing up ledges.

The implementation is split into three parts:

  1. A function for checking if there is something climbable in front of the player
  2. Checks to see if the player is moving towards the climbable surface and either jumping or falling.
  3. An event for actually climbing up the ledge


Level Design

The level design I made for Symbiosis was an iterative process. I made many blockouts of possible puzzle rooms, of which only a small number made it into the game. But because of that we got a sense of what kind of puzzles and levels we could do, and which of these we should focus on to finish.

An example of a puzzle that we didn’t end up using in the final game.
The player hade to connect to the pipes and control two vines, one thick and one thin.
After putting the thick vine in a good position you had to hang the thin vine over and then use it to swing across.If we had more time on the project to set dress, we probably would have used this room.

An early blockout of the first puzzle where you had to use a thick vine as a bridge. I made the first concept for this one.

The important part was that the player had to see the goal from the start, and also that the connecting pipe should be clearly visible down where the floor had collapsed.

The same puzzle as above, but the form it took in the final game. After other people had iterated upon it.

It’s basically the same puzzle, but the player starts from the other side. It worked better that way for the flow of the level.

Lessons and reflections

Regarding the climbing mechanic, the biggest thing I learned was to not rely on just line traces. We had an issue with that you could grab on to tiny ledges without enough space to stand. This resulted in the possibility to climb inside some walls and get stuck. The solution was using capsule trace to check if there is enough room to stand before allowing the player to climb.

Another idea that caused some headache was automatic crouching. The character would automatically crouch whenever getting close to a passage of the appropriate height which was useful and seamless. The problem was its finicky nature when confronted with complicated geometry.
Instead of using up a good chunk of our limited time to make it work perfectly I decided to just control the crouching using trigger boxes. It worked well because of the limited places in the game where you had to crouch.