top of page

Run Gun GURN

Project Overview

Grab a Buddy and get ready to Run, Gun, GURN! You and your friend will take the role of two characters and soar through the imagination arenas as you try to beat each other in a 1v1 first-person shooter showdown. If you knock out your opponent, you’ll win the round, but stay on your toes: each round you win will make your opponent stronger. Try to survive their new abilities, get stronger, get better, and get ready to outrun and outgun your opponent to become the GURN's champion!

Team Size: 7 Members

Roles: 3D Artist, Game Designer, Programmer

Timeline: 8 Months 

Tools Used: Unreal Engine 5, Blender, Maya, Substance Painter and Click-Up

Design Process

Project Goals

Practice and learn Unreal Engine 5's inner workings and become more comfortable working within it

Model and develop characters with different proportions and animate personality into them

Optimize and improve our games performance to make it more accessible to a variety of hardware

Creating the Third Person Characters

Modeling Major

The majority of my time working on Gurn was dedicated to creating our games characters. The roster consisted of two characters: the ranged Major and the melee focus Featherstep. Modeling Major was challenging and a learning experience as I have never modeled characters before. I decided that since it was a simple design, hard modeling would be the most time efficient way over sculpting. I went through many attempts with each improving on the last until I arrived at the final model which I was satisfied with. The best method to learn a new skill is by trial and error and modeling Major was no different.

ModeledMajor_edited.jpg

Modeled

PaintedMajor.png

Textured

Modeling Major_edited_edited.png

In-game

Rigging Major

After the model was fully completed and textured it was time to start rigging. Rigging Major presented a unique challenge as it needed to work with our current animations for all of our third person parkour movements. As the time frame of this project did not allow me to animate our third person characters, it had to rely on the already built system. This meant that the stylized characters in Gurn had to be compatible with the Unreal Engine mannequin rig. The goal was to create a character rig that closely resembled the mannequins to fit the animations.

8Major-Rigged.png
6-UnrealSkeleton.png

Issues While Rigging

A major issue that I consistently ran into was blender and unreal being extremely finicky and not liking one another. I first attempted to try and import the mannequins rig into blender to skin the mesh that way. However, when importing the rig it created an incohesive mess of bones. I spent some time researching Unreals retargeting but it seems like quite the process and I needed a faster solution.

A Solution to my Problem

After scouring the internet for a solution, I stumbled across a blender plugin that allowed me to convert the Unreal Engine mannequin rig into a blender compatible one. When it came time to export it, I could revert it back into the Unreal’s mannequin rig. This was extremely helpful as I could now rig the characters using the Unreal mannequins rig. This allowed me to create Major's rig to be identical to the mannequin's rig, guaranteeing that our current parkour animations would work with our stylized characters.

Major with the Third Person Animations 

After major was rigged, I then imported it into Unreal and swapped Majors mesh out with my newly modeled one. After doing this I tested it and was surprised at how well it looked and how easy this process was. Major seemed to work well with all our current animations for parkouring.

Rigging Featherstep

Major’s rigging process went very smoothly, the same cannot be said about rigging Featherstep. Since Featherstep was even more stylized and proportionally inconsistent with the Unreal Engine mannequin. Plus the model itself had some flaws that I had to work with my other artist to resolve. I used the same workflow as Major, however, it soon became apparent that more work and time would have to be sunk into Featherstep to make a presentable result.

Fixing Featherstep's Rig

I spent a lot of time weight painting, re-rigging and asking for updates to the model until it became more and more presentable. Each attempt got closer to the result I desired. In the end I had to drastically reduce the complexity of the weight painting. One benefit of Featherstep’s model is that his legs and arms were detached from his body. This was a big plus as I could assign the arm and leg bones to the detached limbs and not worry about how it affected the body. This resulted in a more stiff movement. Even though this looked like a drawback, I believe that a more rigid and less fluid movement style fits the character of Featherstep better. So in the end it worked out quite well.

Solving a Third Person Attack Animations

Once the third person character rigs were complete the next step was to have the characters hold their weapons and use their abilities in third person. This would require a lot more animation time, time that I didn't have. I needed to cut down on animation time and still have third person animations for attacking and using abilities. For Featherstep since he is proportioned the way he is I was able to duplicate his first person arms and replace the third person ones. For Major things are a bit more tricky. The strategy I used for Featherstep would not work on Major since his arms are connected to his body. I had to make some compromises as I only had time to make a weapon hold animation for Major. I achieve this by blending Majors arms to ignoring the third person movement animations and solely focused on holding the weapon.

Majorsgdf.png

Creating the First Person Characters

Creating First Person Animations

I also worked on the first person animations for all of our characters. Overall these went a lot more smoothly than the third person characters did. In the earlier stages of our game when our characters weren't locked in yet, I created placeholder hand and arm assets so I could develop our animations and learn about the process. This was a very helpful step as it allowed me to make mistakes on these placeholder animations rather than learn and make those mistakes on the final ones.

Animating Major

Once it came time to make the final animations I started with animating Major since all of his pieces were complete. When animating these characters I wanted to make sure that the animations represented the personality of the characters and were readable to the player. With Majors main weapon I had a long debate with myself whether or not to animate it like a toy gun or give it recoil. In the end I opted to animate it with recoil as I wanted the gun to feel punchy and be satisfying to fire.

Animating Featherstep

Featherstep’s animations went quite smoothly. I wanted to give his attacks more power behind them with this new iteration. Since Featherstep has quite short and nub-like arms I wanted his animations to reflect that. Like having stiff movements in his walk cycle. The biggest hurdle I faced when animating Featherstep is with our games Fov. Our game's Fov is quite high at 110 since it’s split screen and we wanted to give the player as much viewable space as possible. This didn't leave me a lot of room when animating as too much movement would reveal the ends of the arms.

Animations Blueprints

​I also was in charge of creating the animation blueprints for the first person animations. This was generally a fun process learning about the different techniques to transition between animations and which were needed where. For instance, blend spaces were used to transition the characters from idle to walking. Montages were used for Majors firing as it allowed for a more smoother transition from firing to movement.

Majors ABP

image.png

Featherstep ABP

image.png

Balancing with Animations

I didn't realize how much control over the balance of the game I had when making the first person animations. I was in charge of determining how fast characters attacked and how much input delay their ability would have. This was an important factor in deciding how to animate the first person animations. An example of this can be found within the early stages of Majors pistol shot ability. Originally it had a very long windup to activate, as it was supposed to be a massive burst of damage. However, as I played and tested it, I realized that the input delay was too extreme for the fast-paced nature of our game. By the time you saw an opportunity to use this ability the windup was so great that most of the time the opportunity vanishes before the ability gets fired. I ended up shortening the delay in the final animation and this ability became a lot more useful because of it.

Major's Weapons

Major's Original Weapon

Majors weapon went through a lot of different redesigns before it ended up how it looks in the final game. The first iteration was something I whipped up fairly quickly as we needed a replacement for the default Unreal Engine ball launcher. I created this first asset knowing it would need to be replaced in the future as it looked too closely to a Nerf gun and was missing a lot of the detail that it needed. So when the time came it was time to redesign his weapon.

image.png

Redesigning Major's Weapon

When redesigning Majors gun I took inspiration from our games color palette and that influenced the design I went with. I started off with building a bit more of a bulkier rifle but it never quite looked how I wanted it to. So I decided I would scrap it and start again. In the end I redesigned and remodeled Major’s gun 3 times until I was satisfied with it. I really enjoyed modeling Major’s gun as I used a lot of new techniques for the first time so it was a great learning opportunity. I made a low poly version and then modeled more fine detail on a higher poly mesh and baked it onto the low poly.

First Iteration

image.png

Final Iteration with High Poly Bake

image.png

Texturing Major's Weapon

When texturing I added further details to emphasize areas that I felt needed some form of break to the flatness. As if you look at any toy gun they are oddly complex with the amount of patterning and detail almost making them look sci-fi. I added screws and other geometry to areas that were flat to give more texture to the weapon.

Textured

image.png

In-Engine

image.png

Making Major's Pistol

When making Major’s pistol I used a different process than I normally do. Whenever I do 3D art I tend to jump in and figure out the design as I go. However, this strategy did not turn out well when making this asset. As it was never quite to my liking. So I decided to bite the bullet and do some concept sketches to get a better idea of what I was looking for. This turned out to be a great idea as I was able to nail down the design and use it when modeling.

Concept Art

image.png

Pistol Model

image.png

Final Concept Art

image.png

In-Engine

image.png

Separating First and Third Person Animations

Method Used to Separate the Views

Since our game is first person and local multiplayer I had to make sure that the player could only see the first person meshes and the opponent could only see the third person ones. Originally we used the third person character with a camera attached to the head to simulate first person. When it came time for me to add my first person assets I needed to separate both first person and third person models. I did this by using the owner no see and only owner see nodes to hide certain meshes from the user and make others visible. This worked wonders for what I was trying to achieve and later down the road when it was time to add the final assets I created a more expansive version of this system.

Major's Viewport (FP and TP)

image.png

Blueprints Used to Hide Different Meshes

image.png

Featherstep's Viewport (FP and TP)

Blueprints Used to Hide Different Meshes

image.png
FS_TP_FP.png

Prototyping Features

In the early stages of our game when our art style was still being figured out I prototype many features to help the team and get the first iteration of our game up and running. I ended up developing our game's hit scan weapon system along with an ammo system. I developed our games health system along with health pickups and ammo pickups. This was a great help to our team as a lot of our dedicated programmers were swamped with more complicated tasks. So I was able to use my skills as a programmer and prototype the necessary but smaller features to allow them to focus on the big mechanics.

VFX Work

Tracers and Impact Points

Over the course of the development of the game I found myself doing multiple VFX work here and there. The first VFX work I did was giving our ranged weapon a tracer and a hit effect. This was a very necessary and effective VFX as prior to this there was no way of judging where your bullet was going or landing. This addition made the trajectory and impact point of your bullet much more clear and visible to the player.

Creating Effects to Optimize Performance

​Additionally more effects work had to be done as a lot of the placeholder VFX for Majors pistol and grenade ended up lagging the game when used. Since players can select certain upgrades to multiply the amount of projectiles, having very optimized VFX was necessary. I was able to create effects that fit better within our games style and did not hamper performance if called on mass.

Rocket Explosion Blueprint

image.png

Tracer Beam Upgrade Blueprint

image.png

Water Grenade Explosion Blueprint

image.png

Custom Material for Tracer Beam 

image.png

Optimizations

Another key role I played was making sure our game ran as smoothly as possible. Our game was incredibly small and simple which made it quite concerning when we got feedback that the game was extremely laggy on high end machines. This was very puzzling to me as our game was incredibly small and didn't seem like it would be hard to run. After doing a lot of research on optimization with Unreal Engine I came across a very helpful tool. This being the optimization viewmodes. This tool allowed me to scan through all of our levels and catch what was creating performance issues. I ended up discovering that a lot of the assets that made up our levels were incredibly high poly and not meant for games. After discovering this I knew this couldn't stand so I took it upon myself to optimize our levels. I created new optimized assets and replaced the old extremely high poly ones. With assets that I couldn't replace or didn't have time to create I use LODs. Bumping up the minimum LOD value until the poly count was brought down to a more reasonable level. After my changes I was able to boost Fps on all levels by 15% to 75%. The images below showcase before and after my changes level.

Before

image.png
image.png

Before

image.png
image.png

Before

image.png
image.png

After

image.png
image.png

After

image.png
image.png

After

image.png
image.png

Creating the GURN

The Original Concept of the Game

The creation of the Gurn was an integral turning point that altered the course of our game. Originally our game was super dark and serious. Our game was about how people get corrupted over time and are shaped by their circumstances, and they're forced to fight it out in hell. This concept never really sat well with me as for one the tasks required were well out of my skill set and two we had a narrative conflict with our game. The whole idea was violence is never the answer but in a game where you throw players in a pit and force them to fight, it just didn't make a whole lot of sense.

Concepts for the Original Game

MajorConpect.webp
DanielConpect.webp

The Origins of Gurn

One day on a break I sketched out a drawing in ms paint of a random character I thought would be funny within our game. I called it The Gurn. This character consisted of a floating head and a chain coming out of the bottom. I showed this to a teammate and we started cracking jokes about how this would be a great character addition to the game. At the time I didn't realize how much of an impact this random drawing would make. After showing this to more teammates, everyone seems to like the idea which was a surprise to me. What I didn't know at the time, it was more than just me who was struggling with the concept of our game.

The Gurn.png

The Gurn's Impact

In the course of a day our game's name changed to GURN and this random character I created was at the center of it. The whole identity of the game instantly changed to a more light-hearted and sillier version. With kids in their imaginations battling it out on the playgrounds. All of the previous work and backstory was thrown out to make way for the new vision of our game. It was very inspiring to see the team's motivation reignite with this sillier interpretation. The Gurn went farther than just reshaping the identity of our game, it became the team's culture and team’s mascot. He appears on all the characters' weapons, he's in our levels, he's on our team's t-shirts and he was even on all of our whiteboards in our work environment. I realized that the Gurn was more than just a random silly character I created. He represented an escape from the original concept that I and most of the team members weren't happy creating. I am incredibly honored and bewildered at the impact my random ms paint drawing had on our game. In the end this was a much-needed change for the team, as I and everyone are incredibly proud and happy that the game changed to what it is today.

image.png
image.png
image.png
image.png
bottom of page