FPS Identity

After spending a couple hours today following tutorials on how to make a first person game, I think it’s safe to say that coding the shooting aspects of the game will not be all that hard. The original parts may require some thought and keeping the structure of the entire project clean may prove challenging due to my lack of experience, but it goes to show how well defined and researched the common foundations of an FPS are. It was a fun experience, but the real hard work is still ahead of me.

Before I get to prototyping an actual game, basic design still has to be concluded and that involves deciding on a variety of things that will shape the overall feel and pacing of the game. I have identified a small number of aspects that are common between shooters and will try to either decide, for each of them, which of the available options will fit the overall theme best, or define a research subject to aid in that decision.

Hitscan vs projectile

When it comes to weapons that are commonly depicted as projectile-based in games or the projectiles of which reach (lesser than) subsonic speeds, it’s most often clear that turning them into hitscan weapons makes no sense. Grenade launchers, rocket launchers, bows, throwing knives, artillery - the fact that you get to see the flying bit, it does take a while to travel to the target and you have a chance to avoid it is pretty crucial. On the opposite side of the spectrum, there are instances where turning a hitscan weapon into a projectile weapon naturally isn’t possible, e.g. laser-based weapons.

Where the line gets blurred is in the various categories of ballistic weapons whose projectiles travel at around the speed of sound or faster and which get depicted in shooters in either way. Rifles, submachine guns, sniper rifles, pistols - due to their near-instantaneous impact over short distances in reality, it’s easier to reason about them by simply forgoing the travel time of a bullet altogether, which, I think it’s safe to say, the majority of popular FPS titles do. There are some exceptions, like the entire Battlefield series. Treating each bullet as a separate entity introduces complexity and puts a lot of burden on the servers, but it does introduce a natural limit to a particular gun’s range (if they are affected by gravity, which, if they do, just works out for the better on large scale maps), feels more realistic and adds a layer of depth to gunplay.

Amongst the games I mentioned in the previous post, only the Battlefield series and Planetside 2 have most, if not all, of their arsenal projectile-based. This of course may be attributed to their large scale combat and very open maps, with miles-long lines of sight aplenty. As someone who grew up on the very oldschool first person shooters, in both of them the guns felt somewhat unwieldy because of it. I’m sure it’s partly a matter of getting more used to them and likely also of shedding some deeply rooted misunderstandings that stem from the focus on tighter areas and shorter paths in CS or Quake. Playing around with ballistics affected by gravity, it was almost impossible to hit someone from far away for me, but I’ve experienced my share of occasions of being shot down out of nowhere.

In all fairness, ET also had its fair share of open maps, Radar and Fuel Dump amongst them. Avoiding being hit from far away boiled down to either superior dodging ability or following paths with lots of cover. However, you knew what to expect when exposing yourself and due to the maps being fairly readable and clear, you could also expect where the shots could be coming from. Nevertheless, with no cap on the gun’s effective range, you always had to keep your surroundings in mind and in some places it was easy to trip up on campers. Obviously, the same applies to Battlefield, as even with bullets being affected by gravity, you could potentially hit anybody from far away if you took it into account when aiming.

Being more of a fan of hitscan and understanding the problems with long-range elimination and little chance of effective retaliation, the best-of-both-worlds solution in this particular department would probably be either a hard limit on the weapon’s range, easily implemented by limiting the hit detection range for each gun (hardcore unrealistic - while realism is not strictly something to optimize for, in some instances outrageous offenses may break immersion), or having the damage (and the strength of associated effects, such as volume of hurt sounds) depend on said range, with further travel lessening effectiveness. This one I think will be a subject of playtesting in the future.

A potential solution, apparently employed both in Apex Legends and Insurgency: Sandstorm, is to treat the bullet as hitscan up to a certain distance and after that simulate it with proper dynamics. That I suppose should be called best of both worlds. It has its proponents, very likely worth looking into more.

Movement mechanics

It’s rather astounding how much things we take for granted influence the overarching feeling of flow in a first person game. Movement speed and jump height are the obvious examples of characteristics defining movement, but even in case simple walking on a surface or jumping in the air there’s a lot of things that can be tweaked: easing of movement when starting and stopping, the shape of the jump arc (which doesn’t necessarily have to be a parabola), interactions between horizontal movement vector and the environment, the ability to double jump, rate of air strafing, and others. Add to that the more obvious instances of unusual maneuvers, such as sliding and wall-running from Titanfall 2 and you get a recipe for a game designer’s nightmare.

However, not everything is bleak. Once all of the necessary variables are tweaked and tuned, it may turn out that just running on carefully crafted maps is a joyful experience in its own right. Some titles base their identity mostly (Titanfall 2) or solely (Mirror’s Edge) around this, but to me, how you traverse the world should merely be a mean of enabling other meaningful actions to occur - getting into the fray, looking for an opening in defenses, dodging between cover, maybe ambushing your opponents. To that end, mechanics such as sliding, wall running and edge mantling sound like great tools for the player to explore the maps with and certainly add a level of vertical depth to the battlefield. The maps will have to be designed in such a way so as to enable the player to chain those actions together without resorting to quirks such as slidehopping - the way one’s character flows though a map will have a major impact on the pacing of the game, including the periods of slowdown. I’m using the word ‘flow’ a lot here, because that’s what I’d like to aim for - the feeling of fluidity, lack of obstacles that arbitrarily slow the player down or make him lose agency over his character. This statement feels however rather vague at this point, so time will tell if it’s possible to stick to it - I’ll definitely try.

Reloading

I can’t recall an FPS game that a) would not employ reloading (i.e. you can shoot a gun until an ammo pool is depleted) and b) would not be an arena shooter. Realistic depiction of weaponry (or classes of weapons) has remained a staple element of popular shooters, tactical or otherwise, since the time immemorial 1. In contemporary games, I’m almost certain ammo pool weaponry is reserved mostly for retro Doom-likes and arena shooters. Even putting the popularity factor aside, reloading has certain characteristics that positively influence combat in a tactical shooter.

To quote cruelnoise: “Mechanics like reloading dictate the duration and intensity of engagements. You can look at it on a spectrum from, like, Quake, Team Fortress 2, Titanfall 2, Red Orchestra. Quake is concerned enough with movement, health management, weapon management, and ammo management that reloading would just be a burden; you’ve got enough going on to pull the player in a few different directions at any given time — ergo, interesting decisions. Ammo and reloading in TF2 have a big impact on both a tactical and strategic level. On almost every class you can empty your magazine in a couple seconds or less, and reloading takes quite a while. This means you have to decide whether to get your DPS all out at once or stretch it out, and how that interacts with your team’s immediate tactical interests. Furthermore, since total ammo carry is fairly limited, you get a lot of back and forth as people move back to stock up on ammo and health before getting back into the fray; consequently, this is how you get rewarded for following through on a push and is the Engineer’s raison d’etre. In Titanfall, TTK is pretty short and magazines empty pretty fast, which dictates the pace of one-on-one engagements. The gameplay is more individually focused, though, and the longer-term strategic rhythm is defined by titan drops, so it makes sense how they decided not to limit your total ammo carry.

And then Red Orchestra is Red Orchestra.

Pacing of the engagements will likely to an extent mimic that of Enemy Territory, at least in the beginning. Thus, as a baseline, similar weapon characteristics will be used and tweaked over the course of development. When it comes to adding on secondary mechanics, such as longer reload time when the clip is empty, they will be decided upon based on investigation of gunplay in other titles after the prototype is done.

Types of damage/attacks

Outside of action games and first person RPGs, there isn’t much variety when it comes to the types of damage that a particular ballistic weapon is causing. Games like Borderlands or Shadow Warrior apply certain status effects to the bullets or allow the player to augment their guns to cause them on hit. However, both are focused on an over-the-top single player experience, and so, such quirks introduce enjoyable variety to the otherwise straight-forward experience of point and click (a bunch of times). In a multiplayer tactical setting, it’s not clear how slapping status effects on top of regular guns is anything but a quirk - it’s not easy to design such a modification that would not devolve into just a straight upgrade necessary to remain on an equal footing.

A lot more room for variety can be found when considering heavy weaponry and auxiliary equipment. Explosives of a wild variety, flamethrowers, tasers - from the game engine’s standpoint, they may deal just generic ‘instances of damage’, but their unique nature stems from their utility. Mines and grenades can be used for zoning. Flamethrowers are great at area denial and cleaning up tight spaces. Consider rolling drones in one of the more recent Call of Duties that tased and stunned a player on impact. Status effects notwithstanding, it’s worth spending some time to figure out these sorts of alternative means of interacting with the player’s mobility and fragility.

Aiming down sights

ADSing, a staple nowadays, has an interestingly deep impact on not just gunplay, but gameplay in general. It influences how people appraoch and prepare themselves for combat. On the surface level, it seems like it encourages camping, as putting your weapon to your nose limits your effective field of view and thus makes you exposed to attacks from other sides, while at the same time helping you focus more on the front. In my experience it always slowed the player down and in many games, it also causes smaller weapon spread, increasing the effectiveness of your weapon. Such modifications essentially require you to ADS at ranges longer than a certain threshold. Suddenly weapons have two effective ranges, which makes it that much harder to balance versus a variety of maps.

The utility of using your sights at longer ranges lies mostly in the ability to see clearer, farther. I’d like to give the players such ability, at the cost of reduced movement speed. However, whatever modifications to the weapon’s efectiveness are out of the question, simply not to muddle the waters, so to speak. Bullet spread will be rather small, if not negligible, across the board when staying on the ground anyway.

High vs low TTK

In games like Team Fortress 2, battles between teams may span as long as tens of seconds. Pushes are made or broken on the ability to pick off key targets or get a favorable ubercharge exchange, but unless a cap point is exposed, a fight keeps going until the last player is eliminated or retreats. In certain areas, even ignoring the medics prolonging encounters by healing teammates and high mobility of classes usually partaking in sixes, this may involve making use of most of each player’s ammo pools. It may seem, then, that the characters must in general be rather bulky. However, if you had them stand still at a close range and shoot at each other, everyone would die after two or three hits. The reason they don’t is because it’s very hard to score a direct hit with projectile-based explosives or a high damage hit with a rather short-range scattergun.

Things like the weapon’s effective range versus the scale of the maps, bullet spread, damage falloff and others that introduce complexity to the assessment of an engagement all contribute to what seems like the time-to-kill attribute. However, I propose it’s not the TTK that is influenced by them as much as combat pacing. After certain point (about two seconds), using TTK as a substitute for pacing stops making sense, as shouldn’t change with respect to the player’s skill (at least that’s the consensus for now).

Balancing TTK is about answering the question of priority of dynamic combat against the individual ability to react and recover. Said ability may be impaired by other factors, e.g. aimpunch or status effects, however no mechanism limits strength of your retaliation as your death. With medics providing revives and health, it may rather become an issue of rewarding good reflexes. In a high mobility shooter where dexterity can take you far, following such an approach feels consistent. While maps should be highly readable, not cluttered with noise, allowing the player a moment to find themselves in their surroundings when being fired upon regardless will avoid the iritation stemming from what they may potentially describe as ‘unfairness’. As such, a couple hundred milliseconds, say one and a half seconds, should be the baseline for TTK from full health, especially when, I suspect, most combat will be of close quarter variety.

Health management

The mainstream approaches to health management, as far as I am aware, revolve around answering two questions:

ET, as both its predecessor, Return to Castle Wolfenstein, and many other old-school shooters, employs the use of medpacks restoring a modest number of health points upon collection. This in combination with a limited number of packs that a medic can drop over time (one pack uses up about 25% of the energy bar) turns health into an actual resource that you can analyze in more detail than ‘am I going to die in one shot or not’. ET-likes follow suit, with health and ammo being dispensed by a class or classes and by shelves with packs spread on the map. Dirty Bomb also added abilities that allow players to set up temporary dispenser stations, which is a concept I’d also like to revisit in some manner.

Forgoing the health point indicator in favor of auxiliary visual cues like blood splatter in Call of Duty at first glance seems to reduce this whole aspect to a binary decision of whether to take cover now or not yet. However, with such a low time to kill characteristic of the entire series, it’s understandable how precisely knowing your number of health points can bring little value. Personally, I’m more of a fan of the middle ground when it comes to TTK, where the element of surprise can still make a big difference and duels are still significant (and don’t devolve into waiting for teammates), but at the same time if you are jumped on, your reflexes can still help you seek cover without dropping out of the fight.

Automatic regen then would limit the usefulness of dedicated medics. It remains to be seen, through a playtesting scenario, how a small amount of regen over time will influence the players’ tendency to seek combat. In contrast, for medics to recover their health over time will improve their self-sufficiency and leave their available resources for other players, which strengthens their role as a support class. All for it.

Classes and active abilities

There’s a certain divide between the older class-based shooters and the modern flavor on the formula. Where games like Battlefield and ET differentiate between character models through the use of class-specific perks and embellishments, in Overwatch, Paladins, Apex Legends and others each player controls a “unique” character with their own distinct personality, with various visual and sound cues building upon it. TF2 lies somewhere in the middle of the spectrum in this regard, as each of the classes’ characters is instantly recognizable and fills a specific role in gameplay, but they are still referred to by their classes and that’s the context they are mostly considered in. It’s much easier to personally identify with D.Va, Barik, Mirage or Jet, which I think is what contributes to their respective games’ common designation as ‘hero shooters’.

To me, this implicitly emphasizes individual performance and experience. It’s a small thing that is fundamentally incompatible with how these games are usually perceived as objective-based. Classes are supposed to divide the common pool of gameplay mechanics and abilities; objectives are supposed to bring out the synergy of subsets of those classes. Even if you have to complete an objective to win a match, when you incentivize the player to focus on individual metrics, suddenly your design goals become incohesive.

As such, while it allows for a lot of story-building and, I reckon, ultimately improves retention, it is not worth sacrificing the core gameplay model. Some games are focused on the experience of an illusion; I want my game to be an experience of true personal achievement.

Worth analyzing is also the approach undertaken by Dirty Bomb. Monetization notwithstanding, further division of the ability pool increases the level of specialization of each character or class (unless of course certain abilities form groups of variations on the same theme) and leaves a lot of room for further expansion of the character pool and introduction of new abilities. On the other hand however, it makes it almost impossible to keep all classes balanced in terms of viability and utility, which is exactly the most important contributor to DB’s untimely ‘demise’. New classes should come as a consequence of new gameplay mechanics creating a niche for a new specialist. While I’m still toying with the idea of splitting the engineer into a demolitions expert and a constructor, the idea of adding a character for each single ability is off the table.

Asymmetrical gameplay

The most prevalent variants of asymmetric team-based game modes in FPSes today are bomb defusal and payload escort. They can be found in e.g. CS, Valorant, Call of Duty, TF2, Paladins and Overwatch. In some, they comprise the core experience; in others, they remain as a flavor factor. The spin ET and the likes put on the idea is, to my understanding, unique to them. Chaining different objectives into scenarios that both teams take turns to complete in shortest time possible, in comparison to focusing on a single one, dilutes the goals and increases the depth of planning required to efficiently complete them.

It also introduces something similar to what Andrew Yoder referred to as sandbox of play: it divides the match into timed blocks, with each focusing on a different objective. While Yoder’s interpretation focused on parallel blocks - e.g. infantry and vehicular play - in ET they are connected in a series, with one being focused on after another (not strictly so however, as some maps allow you to subvert the regular order of completing objectives). This opens up the possibility for objectives and stages to be focused on a particular class more than others, with players of each having their proverbial fifteen minutes of fame. In certain games, such a split can be introduced through map design and as such, may be hard to convey; however objectives should be, by nature, designed both in terms of visuals and gameplay to leave little doubt about who would be best suited for the job. Definitely something to look into, also from the perspective of Brink, which did mix up the classes a bit.

Factions, subsets of available weaponry/abilities, faction customization

I had this initial idea of involving three separate factions in a conflict of a continental/global scale. This would naturally facilitate variety in visual and sound design of their arsenal, even if under the hood they would essentialy use the same guns. It’s proving to be a rather complicated to put this into any Earth-like setting, even if it’s alt-history, because trying to find the middle ground between realism and fantasy treads a very fine line of immersion. If you take a step too far in either direction, suddenly you are expected to go all the way there or your concept design will be taken apart like the largest matrioshka doll in the world and then some. Then again, differently themed uniforms, weapons, even special equipment or abilities to me usually seem like a nice addition and approach to variety, even if functionally each group is the same.

Whether it’s going to be two or three, or any other number of warring armies, factions, subcultures or whatever, the weaponry will indeed remain the same in terms of statistics. Differentiating between arsenals through weapon types or stats dares a devil from the balancing hell and introduces another layer of depth to map design that I am almost certain my brain is too smooth to wrap itself around already. Things like muzzle velocity, effective range, fire rate and reload speed, all influence the utility of a weapon in very subtle ways that if I were to try to tweak and balance how well each faction deals with certain challenges, it would for sure push the release back another couple years and, more importantly, introduce a major level of complexity that, however intricate and deep for competitive players, may prove to be a turnoff for casual players in some scenarios. I assume each level will involve two specific factions; even if everyone gets to play both in a stopwatch match, if one of them is known to have major difficulties finishing their objectives, that may lead to lower commitment and in turn may ruin the experience for everyone. The burden of balancing the factions through map design may obviously be placed on the map designers; however, I’d much rather everyone could make a fun scenario to play out, provided they got accustomed with a fairly simple set of tools with limited time commitment, instead of expecting a small group of craftsmen to sporadically provide the community with new maps. Quality over quantity, sure, but the usual road to quality leads through a major quantity of lesser quality, no?

When it comes to customization, I’d much rather there was no permanent ability to change the models. By that, I mean I’m not planning on implementing inventories and character loadouts. The first rule of the art design of the game shall be for every character to be instantly recognizable based on their sillhouettes and uniform colors, akin to Team Fortress 2. Cosmetics, even custom costume colors, may negatively impact readability of a situation. I am planning on including some middle-to-long-range areas in stock maps, so making it harder to see what’s shooting at you will only lead to frustration of players. In the spirit of modding however, the models and sonuds will hopefully be replacable locally, letting the server to decide on whether to use the local modified files or the original parts (vide sv_pure).

Quirks

Most of the modern first person shooters try to apply a different flavor to the whole point and click formula. Some turn into narration-driven action games; others focus on collection of resources and survival; and others still try to merge the old arena or team shooters with some unique quirks (Bullets per Minute deserves a special mention). One may wonder if such games wouldn’t be a good source of inspiration with regards to gameplay mechanics. For example, introduction of base building and collecting resources around the map adds a layer of strategic depth to the experience, just like in Natural Selection.

I’m wary, however, about straying too far from the template that ET has left for me. While certain ideas sound really nice on paper, adding more and more of them into the mix essentially drives feature creep and makes it that much harder to keep everything cohesive and consistent. I might revisit some of the cooler ones later down the line, if the game ever releases, as a sort of temporary, seasonal addition, but that’s a matter for a wildly different time.

Elements of randomness

Over the years I’ve learnt to appreciate a well designed randomness factor in video games. Determinism serves the competitive nature of any activity well, but it takes a certain type of character to indulge in the pleasures that competition brings to the table without succumbing to the rather gloomy prospect of hard work and uncertain results. Well defined and isolated randomness brings a little chaos to your game, which sometimes allows the underdogs to win a match and titleholders to falter, while still allowing all of the players to account for it in planning. In games like Warcraft or Dota, even if hero or unit damage is pseudo-randomized from a range, over time it averages out and whoever makes better use of their average damage ultimately wins, even if in particular clashes they may roll infavorably, causing them to lose that particular engagement. On the other extreme end of the spectrum, there are poker players who may not dominate the tournaments, but consistently score high winnings (e.g. Phil Hellmuth).

A major factor against randomness involves the increased technical complexity of implementation of the game. In a multiplayer environment, client-side randomness makes it quite hard to synchronize all players in real-time. The middle ground would be to allow the server to decide the value of the variables expected to be random, but that limits the latency of achieving consistency only somewhat. My idea involves running as much of the physics processing on the server as possible and let it be the ultimate judge regarding the world state. With this assumption, things like random spread, which is one of the key WYSIWYG aspects of gunplay (what the player sees on his screen should match the behaviour of the targets), become almost impossible to support in heterogenous networks (with varying pings).

All in all, I’d like to introduce some controllable chaos mechanics, just to prevent the gameplay from growing stale to casual players for a little while longer. What sort of shape they will take is a matter for further consideration.

Loadouts

Considering that I’ve made up my mind regarding the mirroring of weapon stats between different factions, I don’t think new weapons will be introduced over time outside of cosmetics, let alone new weapon types (and, I mean, fuck shotguns). A player will be able to select their loadout from all of the arsenal available to their chosen class, just like in ET.

An idea I’d like to try out however is for said loadout to not be permanently attached to the player over the duration of their life; instead, on death (but not gib), fallen players shall drop their class kits, like in older Battlefields, allowing their comrades to swap their special abilities and weapons for new ones in order to carry on with currently prioritized objectives. While this approach very much so devalues the strategic aspect of class choice, it will also reduce how much a player will rely on their team when it comes to progressing the current scenario. I think this behaviour will be controlled by a server setting, to allow whoever deems it unwanted to disable it, e.g. in a competitive match. However, the difference between having the ability to swap classes in the field and not having it has such a major impact on gameplay that I don’t expect event the competitive scene to adopt banning the mechanic. Time will tell if that’s a good assumption.


  1. Not really, but even as far as Goldeneye and Half-Life. ↩︎