Nicolina Åkerfelt
Game Design & Scripting
luxthumbnail_4.png

L.U.X

LUX.png

L.U.X

Roles: Level Designer, Scripter, Game Designer
Time: 7 weeks
Team Size: 3 Designers, 4 3D Artists, 3 2D Artists
Tools: Unity 2018, Perforce P4V, Visual Studio
Contribution: Level Design, Gameplay Design, Gameplay Scripting, UI Scripting


Contents


About

L.U.X in the Temple of Shadows is an isometric adventure game.

You play a scared robot which uses the power of light to fight
shadowy monsters. Having crash-landed in an ancient ruin, you must find all of your ship's scattered batteries to escape! 


LEVEL DESIGN


A main aim for this game's level design was to have one central hub which every level section leads back to. This made me want to create a level with backtracking as part of its design. 

I produced this by having different paths available depending on which direction the player is heading, as well as a change of pace.

The objective of the level is to fetch a battery, which is placed at the end of the level.

lux_final.png

Before Battery is Picked up

• More light     • No intercepting enemies     • Enemies notice player from a shorter distance     • Few vertical paths

LUX_LevelOverview_PrePickup.png

PLAYTHROUGH WITH GIFS

1. The level starts with the player in a safe zone, which both recharges the player's health and works as a checkpoint.
This gives the player a chance to get ready before entering, and separates the level from the rest of the world.
The enemies in this part (before the battery is picked up) notice the player from a shorter
distance than normal, which makes them easier to avoid.



2. The first section is well-lit and has a wider space for the player to be able to avoid enemies.
After the first couple of shadow walls, the player enters the second section.



3. The second section is darker than the previous one, making it harder to notice the enemies.
The pathway is narrower than before, leaving less room for the player to avoid enemies.



4. When passing the second couple of shadow walls, the player is given a pace breaker, as no enemies spawn here.
The battery can be found on an altar, which is lit up by a safe zone.
When picking up the battery, the safe zone disappears, and enemies spawn around player.


After Battery is Picked up

• Less light     • Intercepting enemies     • Enemies notice player from a longer distance     • More vertical paths     • One less safe zone

LUX_LevelOverview_PostPickup.png

PLAYTHROUGH WITH GIFS

1. When picking up the battery, the safe zone disappears, removing the safety of the player.
Enemies then spawn around the player. From this point on, the spawning enemies can notice
the player from a longer distance than before. Intercepting enemies can spawn as well,
which is a type of enemy which will pursue the player by predicting their future position.



2. If the player chooses to go by the right side of the statue, they can take ledge way
off of the raised platform. Not only does it give them a shortcut,
but this can give them a lead by avoiding facing a couple of enemies face on.
The player is then led back to the center of the level, where they must pick to go to the left or the right of the pillar.



3. On the left side, there is a shortcut, where the player can take a ramp over a wall.
This lets them skip the shadow walls. If they continue forward and
decide to take the stairs, they can also more easily avoid the enemies in this area.



4. When the player continues to ascend the platform,
they can go down across a fallen pillar, giving them a quick way down close to the exit.



5. When the player reaches the safe zone, a checkpoint will be saved and their health recharged.
The safe zone also blocks any enemies from reaching the player or leaving the level.




SCRIPTING


Battery Pickup Item

The main objective of the game is to collect batteries, and bring them to the ship. 

I made it scale up and down using animation curves, to more easily catch the attention of the player.

ezgif-2-9290d0d901.gif

Battery Pickup Script

1

This is the animation curve used in the script.
It is set to the PingPong wrap mode, making it ping pong between
the first number and the last in a loop.


Player Face Switch

I implemented the changing facial expressions of the player character, as well as the sound effects player when the switching happens.

Depending on how much health the player has left, the facial expressions will change. 

ezgif-2-9e47b0433f.gif

Player Face Switch Script


UI Scripting

Similarly to the Player Face Switch, the health bar also changes facial expression depending on the player's health.

The color of the health bar's background is also changing with the amount of health left.

 

UISwitch

UI Face Switch Script


Animation Implementation

I implemented the player character's animations: Idle, Enter Safe Zone, Moving, Pick Up Battery, Put Down Battery, and Death.

 

Battery Pickup & Put Down



When the player character picks up a battery, it puts it on its back.
This action was made with animation events.
The animation starts when the actual battery object has been destroyed from the world.
Another battery object which is stuck to the player character's hand is then made visible.
When the hand reaches the back of the head in the animation, the battery is hidden again,
and a new battery object is shown attached to the back of the character's head.

1

The animation of putting down the battery is made in the same way, but reversed.



Enter Safe Zone & Death



The Enter Safe Zone animation and the Death animation both have
particle effects playing at the same time as the animation is playing.
The Safe Zone animation's VFX is played seperately from the animation, and it simply plays whenever the player is in a safe zone. The Death animation's VFX is played with an animation event.