July 2019 Recap
The gravy train is on the move! Another month down and the game looks more different than ever. Lately, we have been focusing a lot on nailing down the aesthetic of the game which is really starting to take shape. As our consistent progress continues, we look forward to having a beautiful and playable game by GDEX which will give you a great idea of what the game will be. Lets get into the recap!
Like last sprint, a few known bugs in core gameplay have been fixed:
- Fixed bug related to the aiming laser remaining visible when initiating a jump kick
- Fixed bugs related to selecting characters before starting a game
- Fixed bugs which allow players to switch with characters which had not yet been selected by a player
- Fixed bug which allowed player to slide left indefinitely
- Fixed a bug which prevented the character’s gun from aiming in the direction of the laser
We try to keep a good mix of fixing bugs that are known, as well as iterating on design and implementing new features each sprint. Our goal is to maintain a build that is playable to a level where we can continue play testing full gameplay loops at all times.
The left movement bug was an interesting fix because most forums that I find online tend to suggest making a character’s scale in Unity a negative value on the X axis to flip the character around. This is fine for game objects that are only images, but not for game objects that move and are modified by code. Note: negative x-axis scales cause unpredictable movement and should not be used. Thankfully we use Spine as our animation software, and through their API using JSONs we were able to flip the character in a much more programming-friendly manor.
Fixes were not the only thing we worked on this sprint! As mentioned above, we spent a lot of time working on the look and feel and a big part of that was adding weight to the character. We added quite a bit of weight by giving the player HUDs some movement lag and are quite pleased with the results:
Continuing along the look and feel of the game – we started implementing screenshake into the codebase so we may add more gamefeel soon. Keep a lookout next blog for examples on how we will implement this.
As we continue to iterate on gameplay, we decided that our sticky-aim system needed a bit of an update, along with parts of the switching system. As far as sticky aiming goes: players could previously break their own lock on another character by moveing the control stick 30 degrees above or below the enemy character. This did not account for the enemy character moving out of that threshold on their own. The new code makes that threshold a bit smaller (25 degrees) and accounts for enemy player movement as well as control stick movement. When it comes to the switching system: we decided it makes the most sense for ammo to transfer over from character to character when you switch. This incentivizes players to be a bit less trigger happy before landing a switch on a player, because having ammo to slow your opponent down once you are in control over their character can give you a big advantage.
Speaking of player switches, they just got a lot more exciting! We decided that there was not quite enough suspense or skill in gaining an advantage once a switch has been completed, so to remedy this we added button combos directly following player switches. Instead of gaining control of opposing characters immediately after the switch animation, each player must complete a button combo before they can control their opponent. While the full button combo is revealed in the same amount of time, the player who initiated the switch only has to complete a 3-button combo while the player who is being switched with has to complete a 5-button combo. We hope that this will incentivize players to initiate switches to gain that advantage, rather than waiting to be switched with.
Finally, over in the statistics department, we started implementing stat-tracking code into the character controller script. We came up with 19 variables (for now) which track player actions such as movement, weapon use, powerup use, and more. These will end up being translated into accolades which players earn at the end of a match. The full accolade system will be fleshed out a bit more during our next sprint so keep your eyes peeled.
When we said that the game looks very different – we weren’t joking! A big part of this game for us is creating the correct aesthetic to make the neon colors really pop. To accomplish this, we always knew we would eventually need to add lighting to the scene rather than using the standard unlit Unity sprites. This sprint, we focused on creating hand-painted normal maps for as much of the art as we could, and created a first pass of lighting in the scene. Check out the fruits of our labor below, the first image is the unlit scene and the second image is our normal mapped, lit scene:
Our original idea with the vents and grates was to use them as overlays on the lava portions of the platforms to reduce the brightness of the scene. Our goal with this was to continue to drive the characters and interactive objects in the scene as the focal point, and felt that the brightness of the platforms detracted from that. While the vents and grates helped grately with this (pun and spelling intended because dad jokes are awesome), we still felt that the scene was a bit too bright. To continue to tone down the brightness, we created another overlay which essentially turns the platform into solid metal with no lava in it. We will need to iterate on how to use these in conjunction with the vents and grates to balance the look of the level, but we are off and running.
To cap off our iteration of the environment art in our current level, some updates were needed for our pit art. Firstly, we wanted the lava to be able to flow from the platforms directly into the pit for future special effects purposes, and secondly we wanted to make the pit doors collapsible so we can easily animate the pit opening and closing. We are getting very close to the final look of the world 1 pit, take a look below at how it is shaping up:
A few character animations were added and iterated on this sprint as we start to give the character a bit of personality through its movement. Firstly, we added animations for two newer abilities that did not yet have animations attributed to them – jump dive and sprint. You can see both of these animations below:
As we attempt to bring more liveliness to the scene, we have been brainstorming things that we can animate in the foreground and background of the environment. One thing that we thought would look really cool was a bobbing animation on the recharge station bolt, as it will accentuate the lighting on the station. Take a look at the animation and light below:
When it comes to adding more personality to movement, we decided to start on the switch animation since we saw some timing improvements that could be made. This isn’t the end of the road for iterating on this animation, but it is a step in the right direction of iterating on all of our character animations.
Character and object animation isn’t all that we have been doing in the animation department during the last month! A big part of improving the visuals of the game involves adding a lot of beautiful special effects to add to overall gamefeel. We worked on iterating on the primary fire VFX as well as the primary fire shot hit VFX from a visual standpoint, as well as making them greyscale so we can color them based on each player’s color in the engine. Take a look at improvements below:
We are looking towards the future as we begin planning for GDEX. This includes generating ideas for shirts for our new game, logistics around what to have at the booth, and making sure that the game is in top shape for gathering feedback. We are so excited to show everyone what we have, and to hear what everyone thinks about how we can keep pushing this game forward and making it awesome.
Talk to you soon.