Lunar Labyrinth


Lunar Labyrinth is a co-op hack and slash game where the player gets to explore dungeons, kill monsters and collect treasure.

When playing co-op with your friends, the goal is to kill more enemies and collect more treasure than your friends.

At the end of each level, you get to see who performed better on a scoreboard.


  • Co-op hack and slash game
  • Created in 10 weeks half-time
  • Created by three level designers, four programmers and three artists

My Contributions

  • Level Design
  • Created one level
  • Created a Hack and Slash Prototype using Unity
  • Wrote the story told throughout the game
  • Created loading screens for the different levels
  • Helped create a few GUI elements

The Team

A Motivated Team

In this project we were allowed to make whatever we wanted. A vast majority of the group really wanted to make a hack and slash game, and we felt that the game Gauntlet would be a great reference point for our vision. The graphical artists felt really passionate about creating some sort of ancient egyptian setting so that's what we did. This time around, the whole team felt really passionate about the concept and therefore everyone was motivated to create the game.

An environment mockup created by Marie Flood

Collaborative Coding

Like many other projects that I worked on while at The Game Assembly, I was once again in charge of the scripts that enabled the level designers to export levels. Just like before, many major programming features that we wanted to implement into the game came from a collaborative effort by the mostly the programmers but also the scripts created by me.

Basically, I was in charge of exporting where and when certain things would appear and the programmers were in charge of interpreting that information and putting it into the game, as well as making it work as intended.

Having developed the script in previous projects I felt comfortable using the script. Therefore, creating new features seldom took much of my time.

Gauntlet has a lot of vertical space outside of the player area

What my level looked like in Unity

Analyzing Gauntlet Environments

We noticed that our reference game Gauntlet didn't utilize that much verticality when it came to the surfaces that the player traversed, but instead most of the verticality could be found in various forms of environment art outside of the player area.

Often, the areas that the player could not move across were the most intresting in terms of environmental storytelling, and the surfaces that were intended gameplay areas were more open and full of enemies and loot instead.

This approach to level design was something I hadn't tried before, and so I was excited to see what we could do with that philosophy in mind.

Let's Get Started

When I started working on my level I blocked out a bunch of interstingly shaped rooms that were connected to each other. Then I added a bunch of walls below the sides of the floor tiles in order to give my level some depth and after that I added subtle vertical changes in between rooms so that the traversible spaces would feel less flat.

At that point my environment had verticality for sure, but everything looked like it was constructed from lego pieces, meaning all of the surfaces felt really flat, sharp and boring and that didn't feel ancient at all. I remembered encountering the same problem when I worked on a personal project called Blackrock Forge and I think I had an idea on how to solve the issue.

The map looked really flat and lacked authenticity

The levels feel a lot less flat when natural props are added

A Giant Cave Would Be Really Cool

The rock that was provided to me proved to be a great environment art asset in our game and I had so much fun playing around with it. One thing that I really wanted to do was to create a giant cave using only that one rock, and place the player in the middle of that environment. I took inspiration from the mines of Moria in The Lord of The Rings and I started to get to work.

After copying and pasting the same rock thousands of times and spending a couple of days polishing the environment I had finally managed to create a believable cave complex. Many players expressed to me that this to be one of the coolest looking areas in the game, which was a huge confidence boost for me.

A bridge that I created based on Max's idea

Telling A Story Outside of the Box

In order to break upp the pattern of many of the long walls in the level, as well as to create more interesting siluhettes of the surrounding environments, I asked the graphical artist Marie Flood to create a rock.

I figured with the limited time we had, one scaleable and rotatable rock would be enough to create some diversity in the environment, and that turned out to work just as intended. I also asked the programmers to enable object scaling (which didn't take much time) so that I could scale the rock in order to pass each rock as an original mesh.

Among other things, the walls now looked like they were carved from a mountain and the whole level felt more authentic as a result.

The cave part of my level was made using one rock mesh

Plank + Rope = Bridge

Max Forsberg figured out a really clever way to use the planks in combination with some ropes and the floor tiles. He figured that if you stretch out two rope meshes next to each other and place a bunch of planks in between the ropes, you could create a bridge using pre-existing props.

In order to enable the player to traverse the bridge, Max used floor tiles which were one sided planes, and he flipped them upside down and placed them under the bridge in a row. That way, Max had created invisible colliders under the player and it looked just like the player was walking on the planks.

Large parts of the environments and bigger props were created in simillar ways to this method.

Closing Thoughts

Overall I had a lot of fun working on this project because it felt like this time we all wanted the same thing, which was a funcional fun to play game with a lot of cool effects and awesome environments. The focus this time was directed more towards aesthetics and game feel rather than versitility in gameplay, which actually turned out to be a really rewarding and fun approach to game development for us.

During the start of the project we had huge plans to create so much more than what we ended up with, but during the course of the project we weren't afraid to cut future content in favor of polishing what we already had. This removed a lot of stress from many of the team members and therefore working on this project overall felt more fun.