Creating a dynamic 3D UI

In this dev blog I show how I created the user interface for my game, implemented temporary audio and also made a few gameplay improvements.

I wanted the UI to match the neon glow visuals that the game took and seamlessly integrate into gameplay, allowing continuous play without hassle.

A key ascetic component revolved around the glow effect that’s rendered in engine, which made it challenging to foresee the end result of the UI art…

2D ram animation and shader design

In my last post, I mentioned that I would create a character. Now I’m happy to share my process of designing the new ram character in my game, creating a shader material to texture it, and bringing it to life with animation. I approached the deign on this character in a similar way to how I approach logo design. I was taught about the idea of visual puns in logos, where you take two or more unrelated ideas and bring them together in a clever way…

Expanding gameplay upon the core

Since my last update of my endless runner game, I expanded the main mechanics with a charge ability to smash through new breakable boxes spawned on top of the platforms, and added an automatic slowdown ability to help with survivability. I also created an editor function in Unreal to assist me in visualizing the spawn sequences of the platforms as the complexity of designing them increased. A bunch of new visuals and sound effects were finally added to enhance the experience of the game. Starting with a breakable box prototype I introduced the breakable boxes in my game to provide…

A unique elevator loader

One of the core features of my experimental first-person adventure puzzle game that I’m developing is a world loading mechanic that uses an elevator as the main hub. This is the first feature that I’ve implemented to test how it works since it’s quite central to the overall experience. A simple level loader may not seem that interesting or important at first, but this elevator is a bit different than the typical ones that you’d see in a game…

Controlled randomness in endless runners

I’ve been working on an endless runner in Unreal where the main control utilizes the rotation of a mouse scroll wheel or touch-drag movement to move platforms and bridge your character through the course. One thing I noticed right away through prototyping was that true randomness was not fun at all and just seemed hectic and frustrating while also being hard to calculate the possible paths that the player can accomplish. I’d never want the player to feel like there was no way to continue in their run because a block was impossibly far, that’s a great way to get…

Shimmerfall Springs postmortem

A postmortem of my Skyrim level, where I explore what went right and what went wrong, while thinking of solutions to do better next time. I get into utilizing NPCs to give character to the level, focusing on player choice from different class play styles to emergent choices, how I learned from Bethesda’s levels to improve my quality, and the various ways I achieved my storytelling goals. I then get into some challenges I faced, such as scripting the boss battle, optimization issues, and a frustrating one for the players: leaving the level on a cliffhanger.

Making of Tris

Tris is a forever-runner flash game created in collaboration with Nick Yonge. In Tris you control a shape changing “Tri” that can be pulled to become fast and streamlined or squished to expand like a parachute and slow down. You have to use this ability to survive and gain more points as you’re flying though a randomly generated world. My largest contribution to the project was creating the random block generator that can range from being difficult to easy while keeping a constant path for the player. My process was first creating a static one to see how complicated it…