Minor Assets

There are three things I’m looking to quickly touch on with this post: a force field asset, a highlight for interactive objects, and the main menu for the currently unnamed Waking Reverie project.

First, the force field. This is a pretty straightforward Blueprint I had to create. It needed to look like a proper force field, it needed to push the player back when they ran into it, and it needed to let the player through (without turning off) when they activated a certain ability. The physical appearance of it is pretty simple. There are two generic beams at the top and bottom, and then one of the Unreal Engine’s glass meshes between them, but with a tweaked material. Basically, I just tinted the glass to blue while also making it a bit more opaque. When in game, the transparency changes rapidly, which gives it a sort of oscillation look. Apart from that, it pushing the player back was the only other challenge, as it needed to be enough to get noticed while not moving the player very far.

Second, there is a system I put into place to allow for certain objects to be highlighted when the player got close enough. This turned out to be a rather hefty technical challenge, and I needed to do a lot of researching in order to get it to work. I had to create a series of materials in the engine that basically calculate where the outer bounds of any mesh are and then show a small red highlight along them. The material portion was rather complicated, and honestly, I don’t know exactly how it works. The problem I had to solve on my own was communicating between the actor that is highlighted and the Matinee (Unreal Engine’s cinematic animation addon that can move and rotate actors on set timelines) that it was attached to. It ended up being a rather messy solution, but as it stands, every time one of these actors is clicked on, the game runs a check in the entire level for every Matinee and reverses the one with the matching tag. This will likely be changed when Epic fully implements their new Sequence system.

Finally, there is the main menu for this project. In order to work on this, I had to learn some basics of Unreal Motion Graphics (UMG). Thankfully, UMG is actually pretty user-friendly, so figuring out how things worked was pretty easy. The main menu for our project currently can start a new game and assign a save slot, load a previously saved game, allow the player to choose a level from a list, adjust the screen resolution, and exit the game. UMG at its core is pretty simple logic checking. If the player clicks this button, change to this menu screen. If they click this other button, load a map.

This is owned by Waking Reverie, LLC.


Bounce Pad Asset

This was one of my first custom assets I made for the first project with Waking Reverie. It’s a pretty simple concept: the player hits the bounce pad and they get launched in the air. We quickly discovered that figuring out how to make it work properly was not so easy.

After spending a bit of time thinking it over, I decided on a plan of action for tackling this challenge. The bounce pad would be separated into 3 different parts, the target sphere (1 in the picture below), the actually bounce pad mesh (2) and the collision volume (3).

The target sphere is only visible in the editor, meaning the player never sees it when in the game. It is the physical representation of where the player (or object) is launched. The asset draws a line from the center of the bounce pad mesh to the target sphere and uses that vector as the direction of the launch. The sphere can be freely moved around independently of the bounce pad, making it easy to get the desired direction.

The bounce pad mesh has a flat cylinder by default, but each instance of it can have the mesh changed to anything else. The collision volume is what checks for the player and triggers the launch. It can also have its size adjusted. This allows us to have the bounce pad look like anything we want while keeping the functionality the same.

On top of all this, the launch velocity can be changed for each instance of bounce pad for both the player and other objects. Below the image is a short video demonstrating how the same bounce pad can be used for different things in an example map.

This is owned by Waking Reverie, LLC


Level Design: Halo 5 Forge Map

This is my first serious level design attempt in Halo 5’s Forge level editor. I’ve messed around in Forge every since Bungie introduced it with Halo 3, but this is my first level for Halo 5. I focused on a semi-asymmetrical layout, where each side has similar times to get to power weapons, but the power weapons are different for each side. The key feature of the map is the crashed dropship near the middle. I tried to give it the impression of being damaged by adding a few particle effects that show the engines on fire, and one that has a periodic explosion. Below is a video of me running through it quickly.




TDoS Supply Depot Asset

So this is a basic asset that I created while working on the final project at Full Sail University that I completely forgot to post to this portfolio! It was intended to function essentially as a loot box, giving the play a random module or two after destroying it. I modeled 2 separate assets, the first being an individual crate and the second being the station that holds them. They aren’t anything particularly fancy, but I created them entirely from UDK’s BSP brushes. They system for editing them is a little clunky when trying to make anything really detailed, but I feel like these came out pretty well, all things considered.


Full Sail Final Project

So, four long months have brought me here. The final project for Full Sail University is finally complete. And here it is for you to see! We’re all pretty proud of the work we did. There are still a few bugs and some issues we ran into when cooking this (some textures missing in the 3rd Chapter), but the gameplay is where we want it. Unfortunately we ran out of time to give all the different modules something other than their placeholder models. I’m providing a video showcase and the link to the .exe for the build if you wish to play!



The First Month: A Prototype

So, one month into my Final Project at Full Sail University, and so much has happened.

For starters, the first thing we had to do was submit a high-concept pitch for a game. Here’s mine:


This was just a general feel for a game. Showing off what it could be at its core. Much to my delight, the instructors behind the Final Project courses decided it was good enough to be approved. Out of about 30 designs submitted by fellow students, mine was 1 of 9 to get approved! This itself was a great feeling, but then my team said that it was their top choice to work on!

So over the past month, that’s what we’ve been working on. Creating a prototype for The Depths of Space. It’s been a fairly stressful month, as expected, but we’ve managed to get a very solid build. The following video is a brief showcase of what the prototype can do.


EDIT: Sorry, but there is no sound coming from the game just yet. Also, because this is a prototype, all assets are just placeholders.



One-Month Prototype

As the title suggests, we had one month to take a Game Design Document from a group of students a few months ahead of us and make a prototype showcasing all of the major mechanics in the game. This included things like falling rocks that do damage, changing attributes to the player character by switching between states and charging enemies. For the most part, we were able to get everything up and running. The charging enemy AI was giving us (and our instructors) some problems, but we figured out a work-around. This being a prototype, it didn’t need to be perfect. It just needed to show that the mechanics were possible. The members of the group were myself, Carlos Medellin, Erik Midkiff, Andrew Montgomery, John Owen and Adam Sasso. Below is a video playthrough.


Here is a link to the Dropbox folder containing the install file



The Clinic

The Clinic is an environment created by myself and four other team members for our level design course. We decided to go for a sort of dark feel for the overall design. Each team member had one section of the level, with an announcement displaying the name of the person that worked on the area. The story behind the level is that the player is dropped in an alley and proceeds to a clinic that wasn’t exactly official. They are tasked with finding some syringes and will find several on their way through the building. Eventually the player gets to the back door of a convenience store, which is fronting the clinic. Outside the player is instructed to get to the helicopter and the level ends. The level isn’t perfect, it certainly could use some more polishing, but we were proud of it.

This is a video playthrough of the level

And here is a link to the Dropbox folder containing the files needed to install the level and play it yourself! Just be sure that when you launch the game, you click on “Instant Action”, the number of opponents is 0, the time limit is 0, and the map is “TeamAsparagus_TheClinic”



Just Keep Shooting

This is the third and final design with Perlenspiel that I worked on while in school. It is a sort of block-breaker game that has the player shoot blocks to make them disappear and increase their score. The different approach I had was to let the player decide when to push all of the blocks to one side. The game also has a “level code” system that lets the player input a 5-digit code to replay a certain level. Each time a level is played, the layout of the blocks is randomized.

The beginning of level 2

The beginning of level 2

To play, download the game.html and game.js file from the Dropbox link, then double-click the game.html file.



Aisles of Color

This is another game we needed to make using Perlenspiel. This time it needed to be a puzzle. Aisles of Color is a simple color matching puzzle, clicking on one block will change its color as well as the blocks adjacent to it. The goal is to make all the blocks any one color. There are five levels, getting harder as you play. I will give one hint that makes it a little easier to solve: always be symmetrical!

The beginning of Level 3

The beginning of Level 3

To play, download the game.html and game.js file from the Dropbox link, then double-click the game.html file.