Elven Ruins

Third Person Adventure

Whitebox

You know you want to enter that gate

Summary

In this piece I wanted to focus on creating a level in a more traditional level design fashion: going from blockout to whitebox, prototyping features, and keeping everything consistent and readable, so that the piece potentially could be handed over to various other disciplines, e.g. environmental artists and programmers. 

Being very interested in scripting I decided that I also wanted to try to use scripted events to enhance my design, by leading the player and establishing objectives. On top of this I also wanted to to push my scripting a bit further, to prototype gameplay features that could later be refined by programmers.

All of this resulted in a short third person adventure with bow and arrow gameplay, physics-based puzzles and destruction. Great fun!

Goals & Specifications

  • Creating a whitebox of a level, that could be passed on to other disciplines

  • Experimenting with scripting to enhance level design

  • Establishing goals with views and composition

  • Creating puzzles using systems, physics and destruction

  • Five weeks development time, half-time

  • Using Unreal Engine 4

Attributions

Player character and animations by Mixamo

Infinity Blade: Grass Lands assets by Epic

Crow mesh and animations by PROTOFACTOR Inc

Water Materials by tharlevfx

Particles and Wind Control System by Dragon Motion

Skybox from GOOD SKY by UNEASY

Level Overview & Walkthrough

Overview.png

Click to enlarge.

Keeping it in whitebox

Not wanting to spend too much time on environmental art, I decided that I wanted to keep this piece in a whitebox state, creating a simple, readable, and consistent foundation that I could potentially pass over to other disciplines for further development in a later stage of production.

In a similar manner I decided that I did not want to invest my time into AI. I did however want to showcase the possible combat scenarios in the level, and so for this I created simple dummy enemies, that can be shot and blown up.

Apart from level designing I also chose to focus more on prototyping events and gameplay systems that could also be improved on by my fellow fictional co-workers from various disciplines.

Possible Design Improvements

With the current design, I have a couple of points of improvement that I have identified.

 

First and foremost, I feel that some areas are too big and empty, which would make the game tedious at times where the player would just run over empty ground and do little else. Being too big in the spatial design is something I realize is a problem of mine, and one that I am actively working on. Comparing the earlier blockout to the current state of the level already shows significant improvement in the spaces, however it certainly could use another pass of me tightening up certain areas.

Another improvement area is the basement, where the player acquires the bombs ([5] in the level overview above). This problem relates to the design principle of establishing the obstacle before the tool to overcome the obstacle. Basically, I have the player fall into the basement and find bombs, which there is no use for yet, only to afterwards present the exit, blocked by a destructible wall, on which it can be used. I would rectify this by redesigning the entire basement, so that the player finds themself before the blocked exit immediately, and only after that present the bombs to overcome the obstacle.

Early blockout of the ruins

From Blockout to Whitebox. Click to enlarge.

Final whitebox, ready to be handed over to environmental artists
ScreenCellar.png

The basement, one of my areas that require improvements. Click to enlarge

Scripted Events

Apart from just level design, I also wanted to try to sharpen my skills when it comes to scripting, and specifically the creation of scripted events to enhance the level design.

A Murder of Crows

One of the main ideas I had going into this project was to have crows that I could trigger remotely, to have them fly up as the player approached and draw the player's gaze to where I wanted.

On paper this seemed like it would be quite an easy bit of scripting, but ironically it actually turned out to be the most difficult to get right. Having the crows rotate correctly, randomizing offsets to make it look natural and having them fly with the correct velocity, all made everything rather problematic. The end result could definitely have been more smooth and natural, such as the crows constantly moving a bit more randomly both vertically and horizontally while flying.

Nonetheless I am rather happy with the system I created. A designer can use it to specify the amount of crows, tweak the randomized interval between the crow's takeoff, tweaking velocity intervals, etc.

A Magical Tower

The big tower is the ultimate goal of the player in this level. To enhance this fact, I wanted to have an event spark as it first comes into view of the player. Using my crows I try to bring the player's eye to the tower as I fire off the event. Magical effects light up and start to swirl, establishing the fact that something is going on up there, and cementing it as the player's objective. It also serves to bring life to the otherwise dead city, foreshadowing that the player might not be alone among the ruins.

Establishing Destruction

During my education I have played around a bit with destructible meshes, and since I think it is so much fun and such an effectful tool, I decided that I wanted to incorporate it into my design.

 

At a certain point in the level the player acquires bombs that are mainly used against destructible environment. Not having established that destruction is a thing in the game, I decided I wanted to make an event that served both as an introduction to this fact, and was plain effectful and exciting. Using the physics I had also played around with, I created an event with a falling obstacle that smashes a piece of destructible terrain, shortly before having the player encounter the bombs and a skillgate with a similar destructible object.

Using crows to catch the eye and lead the player's gaze

ScreenViewOfBridge.png

The tower, which is the main goal in the level

Falling mesh and destruction. (And some more crows, which is always nice)

Scripted Systems

To enhance the experience of the adventure, and to prototype gameplay systems and features that could be presented to game designers and programmers, I decided to create a few different scripted systems. 

Bow, Arrow, and Bomb

Drawing a bit of inspiration from Tomb Raider, I decided that I wanted my character to have a bow and arrow that could be used to interact with the world, and enemies in different ways. After using the bow for a while, I decided I wanted to add something more to create a bit of variety in the gameplay.

Earlier in the development I had created static explosives that I could place in the world, that would explode when shot. Wanting the player to be able to play around a bit more with the game mechanics though, I decided to transform the static explosive into a throwable bomb that sticks to surfaces. This gave me a new tool to use, not only against possible enemies, but also against the destructible environment that I had been playing around with.

Physics-based Puzzles

Physics in games is super fun! (in my personal opinion at least). Having experimented a bit with physics and destruction previously during my education, I decided I wanted to incorporate some kind of physics puzzles into this adventure.

Having a bow and arrow I immediately though of the possibility of severing ropes and the like. Thus I created a simple system that could take any number of game objects as a reference, and the activate their physics when hit with an arrow. The resulting puzzles mainly consists of finding the correct objects to shoot, to have planks and other debris fall down and create bridges, clear paths, etc. 

Now, while physics are super fun, they do tend to be a bit volatile. This coupled with me designing puzzles that has the player traverse fallen physics object, makes for potential problems. I remedied this problem somewhat by having the physics objects lock in place after a set time, but it is still potentially game breaking. I would probably have been better off faking the physics using a sequencer or animations, but I decided to keep it as it is for now, as I reason that it is stable and good enough for a prototype system.

Crystal Locks

The crystals that are present throughout the level were originally only meant to be used as light sources and guiding elements. At some point I thought it would be a neat touch to make it so that the player could turn on these lights by using the bow.

 

So, as I had a system for turning them on with the arrows, this eventually led to the lights being incorporated into the gameplay as well. It was not a long leap to connect their activation to other objects and have stuff happen as a result of the player turning on a light. In the end I ended up using these crystal locks for magical doors, as well as the elevator in the tower. 

As the crystals were my primary light source in the level, and they were now mostly switched off by default (on account of being locks), I decided to make the blueprint tweakable, so that one could choose whether the crystal should be a lock or just a light. To make it easy and readable, I switch the material and point light colour of the crystal to signify this.

Bow and arrow vs Physics puzzle

Bomb vs Destructible wall

The bow and bombs work on enemies as well!

An elevator, powered by crystals, takes you up the tower 

Playthrough Video