Dev Jam – Designing Weapon FeedbackLeftofNever
In this Dev Jam we’re going to focus on all the cool stuff the art, audio and indeed code teams are doing to make firing weapons and engaging in Robot fisticuffs feel awesome.
With the majority of the team focussed on the Tiers update (planned to release with the Infinity changes), we’ve carved out some time to add a few quality of life changes. The most obvious thing was to get the improved fighting experience which is in the PC version of Robocraft Infinity into the Steam version of Robocraft.
ROBOT RECOIL AND CAMERA FEEDBACK SYSTEMS
We took a hard look at what made an arena shooter feel really immersive and cool. The first and most obvious thing that we have, but could improve substantially, was the visual feedback relayed through the camera. Currently we have some feedback to the player that they are in the midst of a fight, firing weapons and taking hits, but we wanted to really drill home that you’re firing futuristic military-grade weaponry in the midst of interplanetary conflict and do so in a way that quickly read as meaningful feedback without being intrusive to the battle experience.
So, we added a “Robot Recoil” system and a new “Camera Feedback” system to give us loads of control over how you ‘feel’ the weapons when they fire and when you take damage.
Each weapon has been given a unique recoil action to really make it feel satisfying to fire; watch your mech strain against the force of unleashing barrages of plasma, feel the lull after a massive railshot as the weapon works to load another devastating round into the breach or revel in the vibrations generated by the chain shredder pumping out damage at a monumental rate.
BTW, you will have the option to disable camera feedback effects if you don’t like them, but rest assured we’ve kept camera movement to a minimum, focusing on only subtle polished movements with the majority of feedback coming from audio, SFX, Robot movement/recoil and other UI feedback.
Additionally, in the heat of battle, it’s important to know who’s shooting at you and from where, quickly. Having the robot get visually impacted while being shot helps you work out your bearings faster than ever; being hit will move the robot based on the direction of the incoming shot, letting you know where the damage is coming from. The scale of the visual impact is based partly on damage taken, meaning if you receive a huge hit (perhaps from a top tier rail or plasma) you’ll not only see large chunks of your robot missing, but it will lurch as if it took a huge hit, much more so than if you were being peppered by small laser fire.
It’s worth noting that we apply this force in a purely visual manner, so don’t worry about your carefully-tuned drone getting blown off course by a stray laser!
In future we plan to make the red vignette at the edges of the screen be directional to improve the feedback for where damage is coming from.
With all these visual improvements designed to make battle as immersive as possible we had to have our maestro Simone take some time to improve the audio too. Here are a few audio clips of the new improved sound effects for Laser and Plasma fire.
Not only has he improved on the audio samples for a number of weapons, Simone is currently integrating the Resonance Audio plugin into Robocraft. This incredible spatialization engine from Google simulates how sound waves interact with human ears and their environment. In Robocraft this means that you’ll be able to detect where you are being attacked from without even seeing the enemy – it’s a real game changer. For example, if an enemy fires a Plasma volley and you’re close to it, the audio you hear will be different to an attack from a greater distance or if the enemy is to your left or right. Paired with the audio rework on the samples, everything will sound less noisy and much more detailed.
If you’re interested in finding out a bit more about the Resonance Audio plugin, check out this short video presentation; while not related directly to Robocraft, it will give you an idea as to its potential in the game.
REGULAR HITS AND CRITICAL HITS
While we were working on making your favourite weapon really feel like it should, we also wanted to make some other visual improvements to reinforce what is going on while you’re playing. While we clearly show health bars and have some visual feedback, we could communicate a lot better what is happening when you attack or or heal someone.
We decided that having the damage inflicted appear in numerical form would really convey that it’s you hitting and damaging your target and our crosshair improvements will further reinforce your shots connecting with an enemy hull.
More traditional games with humanoid models have a simple rule that is generally applied: A headshot is a critical hit and deals bonus damage. This allows for a refinement of skill and allows the great players to separate themselves even further from the good players. Considering this we realised that we have the same principle in Robocraft: destroying vulnerable cubes to sever large chunks of robots results in a much larger net DPS than targeting individual cubes.
We quickly established a simple visual language: White is a hit, red is a critical hit.
We then wanted to make it clear when you landed a hit; in the maelstrom of battle it’s not always clear when you’re landing damage on the enemy and when it is your teammates. To this end we added numbers that will come off the enemy robots that indicate damage you are doing. If you score a “crit” (defined as doing more than 2x the damage the weapon is normally capable of) then the text will turn red. For most veteran players this will reinforce old practices but we also hope it will subtly teach new players that aiming for joints to destroy more cubes with less parts is at the core of a good robocrafters strategy.
Nanos have been a firm part of the hybrid or medic build for a long time but we have always had one issue we never properly resolved: Am I wasting nano on healing someone who is fully repaired or do they still need healing in some way? With the new numerical damage system nanos will generate green numbers when you heal an ally telling you how much you are healing them for. Numbers will stop being generated when the affected player has been healed to full health so you can save your energy or turn your attention to another wounded ally much quicker.
Thanks again for taking the time to read through the Dev Jam; we’ll have another for you soon..