Ice Gems : Unreal Game Engine 4 (Blueprint)

As part of a game design class, two of my friends and I designed and built a level of an inertia-based ice skating game that we named "Ice Gems." You play as a futuristic hiker in the Himalayan mountains. You are exploring the caves, but without ice shoes, you must rely on the fuel in your jetpack to propel you around. The caves are filled with monsters that block you and gems that give you more fuel, and your goal is to get to the back of the cave. You can navigate through the cave with standard WASD controls, and you can shoot at monsters by clicking the screen. I worked on gem collection, fuel updates, game UI, hiker visuals and effects, and some sound effects.

GEM COLLECTION   ————

The player can collect the gems by either colliding with the gem blueprint object or by pressing the spacebar when the gem is within range. Gems "glow" when within a certain radius of the player, which is achieved by an unbounded post-processing effect in the scene that is attached to a custom highlight material. Collecting a gem triggers an event that increases the player's fuel level by +10.

FUEL UPDATES   ————

The player starts the game with a full fuel bar of 300 / 300. As mentioned above, gem collection triggers a fuel increase, and all keypress and mouse click events trigger a fuel decrease. Hitting spacebar to collect gems and clicking the screen to shoot has a very low fuel cost of -1, while movements (WASD keys) decrease fuel level based on how long the key is held down. Moving forward or backwards with W and S costs the most fuel (calculated by the length of time the key is held down multiplied by a factor of 10), while turning left and right costs about half as much. There are periodic monster roars as well (described more under hiker visuals below) that trigger a camera shake and a fuel decrease of -5. The player loses when both the fuel level and velocity drop to 0, and the player wins when defeating the largest monster at the back of the cave.

GAME UI   ————

I created the game levels page and all the in-game UI, including a menu that comes up when the escape key is pressed, the gameover and win screens, and the in-game fuel bar. In order to properly visualize the decreasing fuel while a key is pressed in real-time, the fuel variable is checked on every tick, and the bar is updated whenever the fuel level changes.

HIKER VISUALS: character, jetpack flames, monster roars   ————

I modeled the hiker character in Maya, and I textured the character in Substance Painter. I created a Blueprint for the jetpack flames that was attached to a particle simulation, and whenever a key was held down, I created new instances of those flames behind the character to create a visual of the jetpack being used. Once the key was released, the jetpack flame instances were deleted from the scene. I also implemented a periodic monster roar that pushes the character backwards. I set up a timer to trigger the roar after an interval, attached the monster sound to the timer, and applied a force to the character in the negative direction of the camera's forward vector after the timer went off. I also used Unreal's camera shake feature to shake the screen every time the character was pushed back and decreased the player's fuel level by -5.

SOUND EFFECTS   ————

I added the ambient background noise to the game and set up the sounds for the monster roars.