Developing SWIFT, Part 1: Combat & Gameplay Mechanics

The developers of SWIFT have shared a massive, 2-part breakdown, discussing all the aspects of the game. In the first part, the team has talked about general gameplay and combat mechanics. 

Introduction

80.lv: Please introduce yourself and your team.

Hi! We’re a team of seven students who freshly graduated from Supinfogame Rubika (Valenciennes, France), each from one of the three sections of the school: Art, Design, and Programming.

Art:

Design:

Programming:

Most of us are currently employed or interning in various companies, such as Ubisoft, Innerspace VR, Asobo Studio, Riot Games, Virtuos.

During our school years, we’ve worked on dozens of projects of various scales, from yearly school projects to short game jams in our free time.

The SWIFT Project

80.lv: How and when did you start working on SWIFT? What was your goal? Could you tell us about the team behind the project? How did you divide tasks? Who was the leader?

Nicolas Ceriani: The last and fifth year in our school is entirely dedicated to the development of a graduation project: a full, polished vertical slice of a video game. At the end of the fourth year, students are able to submit a 5-slide pitch of a game concept. Teachers then determine the 8 or so projects that will go into development, and teams can be formed freely between students, depending on their tastes and the projects’ needs. Some of us had already worked together, others were simply motivated by the game concept.

We had to make numerous presentations and other auxiliary work for our school throughout the game’s production. 

Nils Nerson: Since we knew each other, we already knew what role each of us would have in the project. We didn’t have any overlapping roles, actually, we all had at least 2 different roles in the project, sometimes more. So it was pretty easy to divide the tasks, we just gave them to whoever was responsible for these aspects of the project. Nicolas was the one who came up with the original idea and was the one validating every major creative aspect of the game, so in a sense, he was leading the creative vision.

There has been a lot of proposals and refining to truly define what is SWIFT. Here, a small portion of our Artistic Direction board on Miro:

Nicolas Ceriani: On the other hand, none of us was really an expert in producing (or even willing to handle it), so Nils kind of took a bullet for all of us there, and became our Producer. He managed the scheduling of each sprint, by organizing small 1 on 1s with each member to determine their personal tasks, so no one had to worry about anyone else’s work.

Gameplay

80.lv: Let’s start with the gameplay? How did you decide to use the fast-paced tactics as the game’s core?

Nils Nerson: The entire SWIFT experience revolves around two core intentions that were there from the very beginning in the original concept:

  • A first-person Capture the Flag game where movement is the core skill, as opposed to aiming: chases, escapes, duels, everything is solved through the correct use of your movement mechanics.
  • A one-shot, melee-only combat system, which, combined with said movement mechanics, creates intense fights where a single mistake is fatal.

Mixing a Capture the Flag with melee-only combat is inspired by the Assassin’s Creed multiplayer mode, which features a CTF. Since AC is built around parkour and close-range assassination, it creates a unique dynamic where mastering your movement and your surroundings is the key to success.

We wanted to push that idea even further, by creating a competitive experience entirely revolving around the Capture the Flag, as opposed to most games where it generally is an additional game mode on top of an already defined core gameplay.

Jules-Ismaël Tien: Our first main focus was the Controller. As the Capture the Flag dynamics are based around movement (chases, surprise attacks, escort phases), it was essential for it to feel good. Making the controller responsive and polyvalent. Running fast is fine, but adding verticality by letting characters jump, double jump, and wall-climb was a way to reach a feel-good experience, as well as making combat more interesting by enhancing possibilities.

Of course, there are also other proven-efficient mechanics to realize this kind of game experience, like grappling hooks and wall-run: But it seemed a bit déjà-vu to us, as well as making the level design task unbearable as it would exponentially raise the ‘walkable’ surfaces and thus raise the scope past our production means.

While designing our movement kit, we prototyped it and iterated. A lot. That’s essential for any action feature in a video game. If it feels dull, your whole experience is gonna be tainted. And once moving, dodging your friends, running through the map is a fun experience by itself, exotic mechanics are gonna sail much more smoothly.

We kept everything pretty simple: To interact with LD elements (Boosters, Flag), no input is needed. Just enter a collider. Characters have a Passive Ability but the same speed, attack range, size, etc. Powers have the same input method: Press E. 

That way, we could focus on the game mechanics themselves. In a fast-paced game, there’s no time to do maths, so the player’s input had to be simple and instinctive, letting them focus on their game feel and experience.

Nicolas Ceriani: The biggest challenge in balancing came with the attack hitboxes. We had to really nail that sweet spot between something big enough to make sure players were able to actually perform kills on very fast-moving targets, but small enough to value good evasive maneuvers with your movement. 

Jules-Ismaël Tien: And it becomes especially difficult when you have to take Networking into account! We had a good focus on Signs and Feedback to let the players know what’s happening, but like everything, it needed a lot of tests and iterations.

Another fun part in the game balancing was making the Powers and Character Abilities bold but most importantly fit for various playstyles. For instance, the Raider is the most suited to Capture the Orb, but its passive ability & power pool, centered around movement boosts, can also make them very useful combat-wise for players with a good grasp of the controller’s subtleties.
 
Most of the Powers were designed to be two-faced: Useful for both CtF dynamics & combat. Some of them, like the Thrill, seemed evident: A Speed & Attack rate boost that triggers and increases when an enemy is close. You can use it to chase enemies, but also to run away, or fiercely fight multiple people at once. Just need feedback on the Power with VFX, SFX, maybe a little UI, and it’s done. Simple goes with Evident, both for designers and for players. Much more easy to polish.

Some, however, were a bit more tricky, like the Soul Infuse. We first wanted it to be a pure Support power to contrast with the others: You cast it on an ally, and if they get eliminated within the Power’s lifespan (a few seconds), they immediately respawn next to you. It brought a bunch of readability challenges, as we had to make a transition during the player’s teleportation. Also, you need to aim at your teammate to cast it (not simple when everyone’s jumping everywhere). 

Plus, we ended up making it possible to cast it on yourself, so that the power could also be used in 1v1 mode, as well as more gameplay situations in CtF! In that case, you’ll respawn where it was cast. That’s probably the most intricate mechanic in SWIFT, but in the end, it’s still following a certain logic… When Soul Infused, the player will respawn on the cast’s location: If you’re casting it on yourself, you’ll respawn where you were when casting it. 
If it’s on an ally, they’ll respawn on your position.

As long as your game rules are coherent, it’s gonna be fine, as the human mind is especially efficient in recognizing patterns and finding habits.

Plus, the Soul Infuse ended up being very fun in many gameplay situations while not breaking the action’s flow, popular with Guardian mains. 

I personally believe that’s the most important when you’re trying to deliver an intense game experience, the players can tolerate a lot of things (even unfair!) as long as they’re either feel good or funny.

Combat Mechanics

80.lv: How did you work on different combat mechanics? What alternatives did you try? What were the main challenges?

Nicolas Ceriani: The main goal for the combat was to create a system both extremely simple and intuitive while remaining deep enough for a competitive setting. We worked iteratively, by deploying new builds frequently (sometimes multiple times a day!) and testing the game, both in 1v1 and in Capture the Flag.

We settled with the core combat kit pretty early on during the production and spent the whole year fine-tuning everything.

The commitment was an important pillar with the combat mechanics, every decision had to be fully assumed by the player. This is why our attack cooldown is extremely long, or why characters take a brief moment to reach their maximum speed when changing direction for instance. 

Jules-Ismaël Tien: Yeah, for such a fast-paced game, we had to make a bunch of choices involving bold mechanics. The thing is: We have no HP system, no Armor. It was really important to make SWIFT’s experience unique, fit our targeted game feel, and force us to seek other balancing means. Making the attack cooldown 1.6 sec long was one of them. But we had to find other stats to play on: No HP means no Damage boost as we can see on a lot of Alteration/Support mechanics in competitive FPS.

For our 3 Roles, we created different Passive abilities to put a focus on a certain playstyle, linked to the CtF game mode (Capture, Escort, Defense). That way, we had better control over SWIFT’s main dynamics, while also helping players find their own place in a team.

And as our gameplay is based around the mastering of movement, we quickly opted for speed and time-based boosts for our Powers & Roles: Acceleration Curves, Flag Capture duration, Cooldown resets, etc.

In that instance, a good example is our Slipstream mechanic: As Capture the Flag often got crazy chases around the map, for example, to reach the Flag Bearer, we needed to make those chases interesting. So, how can the chaser reach the chased one? 

We had Speed Boosters in our LD, great for game feel and guiding players to chokepoints. But that wasn’t enough to make the difference. If 2 players with the same skill amount were in a chase, the first one would always have an advantage. And we couldn’t create mechanics that would slow down your enemies, as stuns are a big no-no when you have SWIFT’s controller’s freedom of movement, too frustrating!

So we took inspiration from racing games, and added a new general rule to the gameplay: If you’re behind someone, ally or enemy, within a certain range, you’re going to slowly boost your speed, up to 35% if you’re really a master at tracking the other player’s movement. And that worked. Plus, you could use that for teamwork, going in front of your teammates to boost them. 
 
And we kept that philosophy during the whole production. If you’re designing a new mechanic, it has to check the sacred Three Traits: Understandable, Feel-Good, and Interesting. Multiple usages and outcomes. It was a bit of a challenge!

Nicolas Ceriani: Another big challenge was the parry mechanic: instead of having an active Parry button, two players parry themselves when they attack at the same time. They get knocked back in opposite directions, which creates a cool, intense moment and allows them to reposition for a new offensive.

Unfortunately, you sometimes felt like you attacked at the right time, but due to the slight network latency, your input wasn’t registered in time on the server, meaning you’d die. “But I swear I clicked!!”

We wanted to mitigate that feeling as much as possible, as it was obviously very frustrating. We came up with the Warmup mechanic for that: when you click, your hitbox doesn’t activate itself instantly: it has a few frames of delay where it cannot kill, but it can parry if a player is attacking you. Tweaking this delay allowed us to level the playing field and find that sweet spot between maintaining responsiveness and reducing these frustrating moments, while also artificially increasing the number of parries in a game.

We also had to balance the different orientations of the hitbox: since the collider origin is from the head of the character, attacking from above meant you had a shorter range on someone below you.

We compensated that by creating three different collider meshes: forward, upward, and downward, the downward one being thinner and longer to allow for some precise airstrikes, and the upward one being wider and shorter, to be able to parry several opponents ambushing you.

Jules-Ismaël Tien: The mainline was: Keep the combat system pure. No exceptions. So no Powers & no Interactibles will enhance your attack range, ‘life points’, or jump distance: Nothing that could make the game more difficult to analyze and understand for your opponent.

The only way to eliminate someone is to hit them within your good standardized attack range, every character being equal on this aspect. 

Our goal was to make a competitive game vertical slice that can be quickly fun and understandable. Imagine if we wanted to make more complex characters or Powers. The player wouldn’t be able to understand why the heck they got hit from so far, at least for a few secs before remembering the Character’s difference in balancing.

But those 2-3 secs after your death are essential to the game experience! If too much frustration is generated during that tiny moment, it’s going to take a while to go away. Making sure the player would master the combat mechanics was essential, as the rhythm of the game already makes it hard to cognate all the information. 

Nicolas Ceriani: Combat relied on good UX and feedback. A fast-paced game like SWIFT requires information to flow rapidly to the player, in a clean and effective way, so that they always have all the keys in hand for their decision-making.

A big goal for us was to have that feeling of “Oh, I could have done this or that to not get killed” after every single death: every situation can be overcome with the right decisions.

This involved some heavy work on UI, VFX, Sound, and Animation to make sure every important action has three, four, sometimes five pieces of feedback sent to the player, while making sure that nothing persists for longer than needed to reduce the clutter of information.

The SWIFT Team

Interview conducted by Arti Sergeev

Keep reading

You may find these articles interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more