Key to making Impossible Rescue a fun game to play was the design and creation of exciting, impactful combat. It needed to be tense, visually engaging, and challenging, forcing the player to use all the tools as their disposal. This portfolio piece will focus mainly on combat in level 2, but for completeness will touch on the weapons and enemies in levels 3 & 4 as well.
Enemies
The Stakeholder Brief specified a requirement for one enemy type to hit the Minimum Viable Product, and that the enemy’s behaviour needed to be selected from a pre-determined list. Before the merge, both teams had done exactly this. Myself and Sema had created a patrolling drone that would attack once alerted to the player’s presence, while Adam and Raven had created humanoid robots that spawned already on alert.
Upon merging, this meant we had two types of enemies available. We determined we could use the avoidable patrol drones for the early levels, ramping up the difficulty with the humanoid robots in the later levels.
Patrol Drone (Part 1)
Patrol drones are small, hovering robots present only in level 2. Coloured red to evoke feelings of danger, they patrol pre-defined routes, moving from point to point until alerted by the player stepping into their yellow search light.
When a drone is alerted, it abandons its patrol route and begins following the player, firing at them when in range. The yellow vision cone turns red, reinforcing that the player has been spotted. The drone’s peripheral vision widens (not visible to the player) and the AI pawn sensing interval decreases to allow the drone to chase the player smoothly no matter where they go.
An alerted drone will alert all other drones within a radius. This radius is instance editable, allowing me to decide how far the “alert” message spreads within a given combat area.
Robotic Guardian (Part 2)
Robotic guardians are humanoid robots present in levels 3 & 4. They spawn when the player passes through specific areas and cannot be avoided. When in range, they fire mid-damage projectiles until either the player is dead or the guardian is destroyed.
Weapons
To go toe-to-toe with these enemies, Danielle is equipped with four weapons (one primary, three secondary). Danielle’s primary fire uses no ammunition, but all three secondary weapons drain Plasma when used. Plasma recharges automatically over time. I was involved with the development of the Blaster and Electro-Caster.
Blaster (primary fire) - Damaging weapon. Destroys forcefield panels & breakable objects.
Electro Caster (secondary fire) - Stunning weapon. Stuns enemies & temporarily disables forcefields.
Shield (secondary fire) - Defensive tool. Blocks projectiles & environmental lasers.
Particle Beam (secondary fire) - Damaging weapon. Decimates enemies.
Colour Coded Weapons
All of Danielle’s weapons are coloured either red or blue, matching various objects throughout the world. This colour coding helps the player make connections between different fire modes and various interactive objects, helping them to better understand Impossible Rescue’s mechanics.
Primary fire is red, matching the forcefield control panels affected by primary fire, and the Power Up that doubles primary damage.
All secondary weapons are coloured blue, matching the UI Plasma bar that drains when they’re used. The Power Up that increases Plasma regen is also blue, as are the forcefield panels affected by Danielle’s Electro Caster.
Satisfying Combat
At the outset of Module 2, only Danielle's Blaster had been implemented in Part 1, and it had no VFX or SFX. I had to figure out how to iterate on the Blaster and implement the Electro Caster to provide the greatest satisfaction to the player during combat. This satisfaction is generated from a combination of different features:
Responsiveness
All weapons fire the instant input is detected. The player knows they have full control and that they’re responsible for the weapon firing.
Visual Effects
All weapons have eye-catching visual effects. Both Danielle’s Blaster and Electro Caster light up the area as their projectiles travel, increasing visual feedback for the player, making their actions feel more powerful and impactful. Both also leave temporary VFX trails in the air, meaning the player can more clearly see the path their projectile took.
Both the Blaster and Electro Caster have impact VFX that vary depending on what’s hit, and a stunned enemy or forcefield panel will spawn a waterfall of sparks that continues for as long as that enemy/panel is stunned. All of these effects are designed to make the player better understand and feel the impact of their actions.
Finally, a patrol drone that is killed using Blaster fire will explode away from the direction of impact, again making the player feel that their actions are having a more significant impact. It’s incredibly satisfying to send their ‘corpses’ tumbling away.
Sound Effects
The Blaster’s chosen firing SFX has bassy undertones that add a sense of weight without detracting from the feel of it being a blaster. There’s also a subtle burning sound whenever the laser impacts an object or enemy to convey a sense of heat and more firmly embed the idea that they’re firing a blaster.
The Electro Caster’s firing sound is higher-pitched and attention-grabbing. I went with this sound to encourage greater use of the Electro Caster, providing the player with a satisfying sound whether the stun shot lands successfully or not. When an enemy or panel is successfully stunned, short-circuiting SFX play throughout the stun. This reinforces the idea that the enemy/panel is stunned and allows players to tell when a stun runs out even if the enemy/panel is off-screen at the time.
All of these sounds are randomly modulated, meaning there are slight differences in pitch each time they’re played. This adds more variation to the sound the player hears, reducing repetitiveness (which can sound unnatural and, in some cases, uncomfortable).
Challenge
Combat in Impossible Rescue is intended to be challenging but not impossible (despite what the game’s name might suggest!). This challenge is achieved through careful balancing and tweaking of patrol routes, damage values, health values, fire rates, movement speeds, item drop rates, sight radii, and more.
Combat Avoidance
Combat encounters with patrol drones can be avoided. Each patrol drone has a visible camera sight cone, represented as a yellow spotlight when not alerted and a red spotlight when alerted.
There’s a certain level of affordance in these colours. Yellow is typically associated with warning, such as yellow road works signs warning of possible hazards ahead. Red is associated with immediate danger and is used for stop signs.
During testing, it was discovered that players were finding it extremely difficult to avoid combat, and they found it frustrating that enemies alerted from the barest brush of their spotlight. To keep gameplay tense, I left the spotlight cone unchanged, but adjusted the alert cone to be slightly smaller, providing a ‘buffer’ zone at the edge of the spotlight that wouldn’t alert the enemy.
This made enemy avoidance a little easier, and gives the player more time to react should an enemy turn unexpectedly. Player complaints about enemy alerts disappeared after this change, making this is a good example of how subtle, unseen design changes can dramatically impact player experience. While each drone's patrol route is the same for every playthrough, drones sometimes pause while navigating, meaning that drones are often in slightly different positions each time the level is played. This adds to the challenge, as a gap that existed between two patrol routes in one playthrough might not exist on a second.
Comments