Live/Wire is a first person arena shooter where instead of using guns that shoot bullets player will instead use electricity based guns whos “bullets” are electric shots. Instead of picking up ammo players will need to plug into power sources which not only charge their currently equip weapon, but also any other weapon they have. In addition to the electric weapons players are also given a grappling hook which will allow them to reach heights that would normally be unreachable.

Project Timeline:

01/28/2021 – Current

Team Size:

16

Role:

Systems & Balancing Designer

Development Tools Used:

What I Contributed

My role on the team was a Systems & Balancing Designer. This role had me collaborate with the design team, backend programmers, and QA team. I spent a lot of time in the build implementing some of the weapons and their features. Fixing bugs that arose throughout the testing process was also one of my jobs. Working on the weapons has provided me with a great insight into the systems and how the project is laid out architecturally. On the Design side of my work it was my job to make sure the levels were laid out in way that was fair for both teams. This included placing respawn point, weapon spawners and repair/health kits.

Weapon Implementation

Weapons were a large portion of my pre-alpha work. The Volt45, Supercell and Thunderstroke were all worked on by me. I implemented the alternate fires for the Volt45 and the Supercell, the Thunderstroke was completely programmed by me using the existing weapon hierarchy.

Volt45

The Volt45 is meant to meant to be a “jack of all trades” weapon. The firing mode of the weapon is a hitscan weapon so the shot is instant. Like most guns in the game it is a semi automatic weapon. That being said the alternate fire for the Volt45 is a rapid fire stream of bullets. The thought process behind the alt fire is to provide an easier aiming method and a way to follow up when an player gets the drop on another.

Volt45's appearance in game

Implementing the Volt45’s alternate fire was my first foray into the project and Unreal. It was very intimidating at first after mostly working in the Unity Engine, but got much easier to get the hang of once I put in the hours. The first part I had to implement was a timer to keep track of how long the player has held down the fire weapon button. The timer is important because if the auto fire started immediately then it would no longer be a semi automatic weapon. The time until the auto fire starts is a public variable so that I could easily change it while balancing.

Volt45's alternate fire blueprint

Thunderstroke

The Thunderstroke is the first weapon I implemented from top to bottom. The Supercell and Volt45 were weapons that already had their primary fires implemented. The Thunderstroke was brand new. The Thunderstroke’s purpose is to provide a sniper rifle experience. High damage, long range and low fire rate were the pillars of the Thunderstroke. The alternate fire for the Thunderstroke was a high powered beam that kills any person who it hits.

Thunderstroke's appearance in game
Thunderstroke fire code

The Thunderstroke’s design was a collaborative process between the design team and myself.  The design leads wanted a long ranged weapon to provide another avenue of attack for players.  I helped them refine the vision for the Thunderstroke into what it is now by looking at what kind of weapons we already had and what would be fun for the player.  Sniper rifles have a very satisfying experience due to the nature of its high damage which allows players with good timing to deal massive damage while remaining unaware.

While this somewhat conflicts with the product owner’s wish to have frequent, medium ranged firefights, having the Thunderstroke offers more versatility in engagement range.  The Thunderstroke’s values can also be easily adjusted in order to tweak the weapon if the designers don’t like how its functioning in game.  Each Thunderstroke shot takes a moderate amount of charge to fire making it more useful at full charge instead of charging intermittently.  The Thunderstroke’s alternate fire uses double the charge in order to fire its secondary high damage shot.  By making this shot more expensive the player gets a better understanding of how powerful this shot is and prevents the shot from being constantly used during a firefight.

Balancing the Game

Balancing the game required me to look at many different aspects of the game such as level geometry, weapon values, and spawner placement.  During the time leading up to release, I made edits and enhancements to elevate the balance of the game as much as possible within the release time constraints.

Balancing the Level

When balancing our main multiplayer level I focused at a lot on the level’s geometry and the placement of the spawners.  When evaluating the level’s geometry I looked for good lanes of travel both vertically and horizontally.  Since our game heavily relies on a grappling hook feature we don’t need to have many inclines or stairs reaching high up places.  This also meant that players needed pathways to travel through and make significant progress towards their destination. This means we should have paths leading to significant areas that are mostly unobstructed so the player doesn’t have to grapple around an obstacle every time they want to move to a new location.

Spawner Placement

Spawners were trickier to find good places for.  Since players can essentially go anywhere weapons can be efficiently used from wherever.  For example in a typical first person shooter reaching someone from a good sniping point would be very difficult.  You’d have to run on the ground to get within range or even go inside a building to reach the point if its high up.  In Live/Wire however the path to that same sniper’s location would be significantly smaller since you are not limited to running on the ground or statically placed ladders.

Weapons spawners were placed in locations that allowed some kind of advantage when picked up.  Thunderstroke spawners were placed in areas that were either very high up or far from the very center of the map.  This way their range can be immediately utilized upon being picked up.  The Feedback spawners are placed in a similar way.  Feedbacks are Live/Wire’s shotgun, so their spawners are typically placed in locations that are fairly contained so the spread can be used effectively.

Health Pack spawners were placed in central locations where there would be a lot of player traffic.  Health spawners were also placed in high places such as the tops out buildings or outcroppings for two reasons.  One reason was to encourage people to move vertically more.  Most testers tended to stay in the center area and low to the ground so placing the health packs high up is meant to encourage them to go higher up.  The second reason was accessibility.  If a player is grappling in the upper areas of the map it would be very bad for them to have to descend down to get a health pack, especially if they are engaging in an aerial battle.

Blog Posts

Here are some blog posts from my time working on the project.