For one of the substantial pieces of my portfolio, I wanted to experiment with designing levels with more 'unorthodox' and unusual mechanics at play. I also wanted to see how I would handle working on level design prototypes whilst using pre-made assets. In other words, I wanted to test to see how well I work with limitations. This eventually brought me on to experimenting with different unique mechanics and gameplay styles that you do not see as regularly in the current video game market, which eventually brought me on to looking at the gameplay of Super Mario Galaxy.
Super Mario Galaxy uses an interesting gameplay 'style' that is not seen regularly, despite the originality and uniqueness of the concept. This being the gravity mechanic, allowing for the manipulation of the level in such a way that Mario can walk upright, sideways, or even upside-down.
This opens up so many more opportunities for level design. It creates interesting and unique levels where players are not only forced to think about traversing the ground, but now have to consider the walls and ceiling as options, too.

'Gateway Galaxy' from super Mario galaxy

Take the above image, for example, which is the starting planet from Super Mario Galaxy, called 'Gateway Galaxy'. It's essentially an never-ending level. If you walk in one direction, you will always end up where you started. There's holes that go straight through the planet, that put a new twist on the usual death pits from Mario games, where instead of dying by falling down, you simply come out the other side. It truly is a great example of using the gravity in order to create a fun, interesting, and unique level design.
But I realised that if I just recreated this planet, it wouldn't be very interesting or unique. It's easy to recreate something, but the main difficulty and fun of level design is designing something new or has not been seen before, so I decided to design something that can put a new twist on this planetoid concept.
First, I took the spherical shape, and turned it into a penny shape. The level turns from exploring a planetoid, to exploring more of a traditional 3d level, with another 3d level beneath, accessible by simply walking off the edge.
Then, I took it one step further, and designed a bit of story.
This 'penny planet' is decorated the same on either side. With the top side being a nice, lush and decorated landscape. The bottom is exactly the same layout-wise, but with a twist. 
You see, the bottom of the planet is completely ruined and decayed.
For this design, I decided to create a penny planet, where the top side is utopian, and the bottom is dystopian.

Twilight Hyrule field, From The Legend of Zelda: Twilight Princess

A good example of this is the Twilight Realm from The Legend of Zelda: Twilight Princess. This realm is essentially a mirror of the overworld, but with a sepia filter over the top of it, and a sense of hopelessness throughout the world's design and features. Places that once thrived with life are now empty, and buildings that stood tall are now simply ruins of what once was. This was the kind of theme I wanted. Merging the worlds and design of Twilight Princess, with the gameplay and mechanics of Mario Galaxy.
MECHANICS/GAMEPLAY
In order to create a level with these mechanics in mind, I'll actually need the mechanics themselves. This means I need to either create the mechanics from scratch, or hope that the mechanics themselves have already been created by another Unity Developer, since this project was focusing on the design, and not the programming. Luckily, I found a  YouTube Video where somebody had already created the physics inside of Unity. It's quite the interesting watch, and goes into detail on how the physics engine was created, so please check it out if you feel like it!
Originally, I had used a different Gravity system provided by a friend, however, said system was created in order to rotate around a fixed point. In other words, it only worked well with spherical planets. And whilst I was able to make it so the player did not rotate abnormally, if the player jumped, they would instantly rotate and be pulled towards the centre, which just felt and played far too weird. The solution provided in the YouTube video was far less buggy, and produced results far more similar to Mario Galaxy. Of course, even this version did not come without it's bugs with the final product, but that was mainly due to the shape of the final planet being far too abnormal. This would be fixed via polish by adding more gravity spots, but for a proof-of-concept, it works just fine.
I also ran into a problem where the player character would push through objects, and the collision detection would not push them back out quickly enough, resulting in being able to almost completely walk through some objects. To fix this, I had to head into Unity's physics settings and change the Default Max Depenetration Velocity to a much larger number.
level design
Once the mechanics were in place, it was time to create the actual level. For this level, there is no goal or complete condition. In this case, we are simply creating an explorable environment with a specific theme. But, if I was to suggest features that could be added to a level design like this, I would probably consider the usage of some sort of collectible system, or perhaps even a way to access another planet in the distance.
Package-wise, I decorated using Synty Studios' Low-Poly packs. The main Penny planet was created using one of the Rock Prefabs inside of the package. Next, I built a simple forest atop the planet, alongside a couple of rocks and other decor to make the planet feel less empty. I also added a custom night-sky skybox in order to make it feel like the level was in space. The skybox is from the Skyseries Free Package. Overall, it ended up looking like this:

Original Planet Design

Of course, this isn't enough. Something still felt like it was missing, so I did what any game developer does at that point and threw on some post-processing.

Planet design plus Post-Processing, note the changes in colour and softness of edges.

That looks a lot nicer.
Moving on, looking at clips of Mario Galaxy, I noticed that the backgrounds of levels were a lot less... Empty. Including planets in the background that Mario could travel to, or simply served as decoration. Because of this, I decided to throw in my own planet.

Original creation of Castle Planet

A distant isolated planet, with a castle mirrored on either side. This would serve as a good example of the level's concept to the player, and having it visible from the starting planet should help with that. On top, the planet would reflect the normal overworld, whereas the bottom would reflect the "Twilight" variation. It serves as a good example of 'Show don't tell', which I much prefer using instead of an NPC that just throws information at the player.
Next, we surround the planet in clouds, which adds some more mystery, whilst making the faraway planet look much more visually appealing.
As a final product for our prototype, we get this:

Final Product Screenshot

Despite missing the ruined look, and variations of post-processing that would be provided by further code development and custom modelling, I feel like this is a good level design using the mechanics and models given to me. Overall, I would say I learnt a lot more about Unity's engine during this project, and am pleasantly surprised at my ability to work within the limits given to me.
Back to Top