Tags

There are some things so fundamental to a game’s structure that they’re hardly ever seen, too blinding to even be obvious, and invisible like the air. They are, nevertheless, extremely influential on everything else about it, directly and indirectly. Just like to balance a trading card game’s individual cards, you need to think in terms of cards in the first place, a game like Eve has to think in terms of things moving in space.

I must admit I do have an agenda of sorts, if only for aesthetic reasons. I wish Eve fleet combat would be a tiny bit more like Legend of the Galactic Heroes. Slow and ponderous as space combat in that universe is, it’s has a lot of things I believe Eve could benefit from — tactical decisions far more advanced than just calling primaries, flying in formation that actually matters, sub-commanders that actually contribute to the battle with their own decisions instead of simply shooting and giving bonuses. When compared to a typical fleet fight seen in Eve, an unsightly chaotic spheroid of a blob that you mostly navigate by overview, I find these things far preferable. But of course, there are causes for the typical blob fight being what it is, and it’s those causes I wish to ramble on about today, before offering an idea.

Space and Time

The nature of a universe’s space model, if it has any,1 is no less fundamental than the FTL travel model for a space game, where it makes up a higher layer. Everything exists in terms of space, just like speech exists in terms of phonemes.

The first derivative of space is speed. Speed is defined as the amount of space covered in a unit of time, and while very few ways to build ‘time’ exist,2 you can obviously see how the definition of speed would be dependent on what ‘space’ is.3 Many game engines, particularly early 3D games, were slightly anisotropic about their space models — for example, Doom had ‘strafe-running’, where running forward while strafing at the same time would produce a movement that would cover the diagonal of a square in the same time it took to cover either of it’s sides.4 This was seen by the players as a feature and produced emergent gameplay, but was explicitly not present in Quake, because developers thought it was so silly. Despite that, Quake had it’s own share of inconsistencies in physics, like wall-hugging and other nonsense, which can provide an advantage to a skilled player but defy common sense — properly replicating physics is hard. Later derivatives like Source5 produced their own quirks, for example, in Half-Life 2 it was quite possible for a time to use any movable object to fly by standing on it and moving it in a certain pattern, kinda like a taoist monk flying on a teapot.

Dispensing with such oddities, there remains the basic issue of how fast you move in relation to everyone else and whether you can change that speed. MMOs typically have little in the way of physics modelling for obvious reasons,6 but speed determines whether you can chase things, whether things can chase you, whether range matters and just how much.

In your typical MMO, where player-controlled objects are meant to be humanoids or their close equivalents, running, that is, temporary speed boosts, come up early. More often than not, players can’t run at all, and always move at fixed speeds. Just like in the aforementioned 3D shooters, the capability to run for unlimited periods immediately makes people switch to always running.7 Attempts to limit this by introducing some kind of stamina meter tend to make people perpetually move in spurts instead,8 so MMOs will often dispense with running altogether, or make running a limited ability, restricted only to certain classes.

In humanoid-based games, most attacks also have a fixed maximum range,9 and the environment contains lots of impassable terrain and cover, which turns whatever chasing is involved into an exercise in maneuvering around the terrain better than your enemy does, and your enemy, especially an NPC enemy, typically moves along a straightforward pursuit curve. A very common tactical concept that evolves is kiting,10 where you control the shape of the pursuit curve by the virtue of having a higher base speed — everyone who’s reading this has probably seen or done that. Even when you can’t directly set your speed, by alternating between moving and standing still you can can adjust it to keep the target interested.

Meanwhile, in New Eden

Eve, while having the obvious similarities that come from having ‘space’ in the first place, does a few things radically differently. Contrary to popular thinking, three dimensions of space actually don’t add much, if anything, to the picture. On any individual field of battle, there is typically little or no terrain worth speaking of, and even the terrain that is there, while impassable, can always be shot through,11 so there’s no concept of cover. In most practical combat situations, that merely turns planar geometry into geometry of multiple independent planes.12 This is because while ships are vectors, their turrets aren’t, so while orientation matters for motion, it does not at all matter for shooting.

While we commonly think of the tracking equation as representing the motion of our turrets trying to track a moving object, tracking number is actually a numeric chance to hit modifier, and turrets do not have orientation at all. If they did, when two identical ships orbiting each other settle into an orbit around the common center, their turrets would always be pointed squarely at each other without having to move, as the relative angular speed of the enemy in the turret’s field of view would be zero. Instead, whatever position a turret would probably end up in after making the previous shot has no bearing whatsoever on the next one. That completely divorces the direction of motion from ability to attack13 and turns the fight into an exercise in keeping at the optimal range while maintaining angular speed. It is further complicated by the fact that only the ‘keep at range’ option actually produces motion in a pursuit curve — everyone trying to orbit everyone else creates intense adrenaline-pumping chaos on the field, and in my observation, while many people will tell you about the importance of properly maneuvering, it is not seen in practice quite as often once there are more than two participants to a given fight. In either case, people will usually limit themselves to manually spiraling in. Eve’s spatial physics divorces maximum speed from acceleration and maneuverability, it is not the Newtonian physics of spaceships, but instead, has more in common with the motion of submarines. Very fast submarines.

Beyond this important peculiarity, there are also warping rules, largely unique to Eve, which are necessary because space is so big and empty. In many a humanoid-based game, you will find characters have some capacity to teleport away from battle in emergency. In your typical PVP situation in those, however, you will find that this capacity is either outright disabled, or is interrupted by the normal combat activity, i.e. anyone hitting you prevents you from teleporting. Not so in Eve, where pointing ships is a key mechanic,14 and while webbing someone to make it easier to keep range, you also make it easier for them to warp off. Having a higher base speed than the opponent does not guarantee being able to run away from it if the fight goes badly for you. Even if he can’t hit you or break your tank, chances are he can keep you around. Once committed to, the fight often can’t be broken off by either participant, because both are holding each other down, so if you’re unsure, you avoid committing — which is another reason overwhelming with higher numbers is so strongly preferred.

Relative Dimensions

The above establishes pretty clearly why fleet fights in Eve are typically blobs. There is no cover, ships can not shield each other, so there’s no need to have complicated layered formations. There is no disadvantage from being bunched together, and it simplifies the task of keeping the optimal combat range. With no turret orientation, it does not matter at all where do you attack from, as long as you maintain angular speed, so there’s no need for flanking or encircling. When none of that matters, there’s no benefit to adopting more complicated tactics, no benefit to splitting your forces, and every force works best when segregated not tactically, but instead by role — so there are such things as logi anchors, but no such thing as a reserve squad.

While it is possible to make it advantageous for fleets to fight in formation anyway, the only practical way to do that is to give complete formation control to the fleet commander and offer hard bonuses for using it. That encounters serious opposition from players who feel this reduces a fleet pilot to doing nothing but pressing F1. Which it kind of does. Making cover matter would help, and such suggestions float up regularly, but are routinely shot down whenever they are brought up with CCP15 for the same reason they wish to get rid of POS shields: Tracing a line in space with every shot is not only computationally intensive in the best of times, but also a bitch to code correctly, as you would have to account for hundreds of special cases.

I would conclude that this is another fundamental problem which is unsolvable without redoing something from scratch, but this time, there is actually a simple loophole in the system that can radically change things for relatively little coding and without upsetting everything else. Here it is:

Turrets do not have orientation, but ships do. Every ship is a vector, at least while it’s moving even a little. While it cannot be practical to account for all the possible turret vectors, it is possible to make it advantageous to attack a ship’s specific side.

Let us imagine that a specific side of the hull is explicitly more vulnerable than the others — shields are slightly thinner there, armor coverage is not complete, whatever the reason, hitting a ship on this side produces more damage, more often. The prime candidate is the engines, i.e. the back side, but it would be best to make that depend on ship’s hull to create more variety in tactics — some ships have their engines in the oddest possible places, others have models with a visible armor carapace on top and a soft-looking belly, etc.

When shots come in from this particular direction, and actually hit as per the existing to-hit chance formula, the formula determining shot damage results in a noticeably higher chance of a maximum damage or critical hit. The closer your line of fire to the maximum vulnerability vector, the higher is the chance of a critical hit, up to a maximum of 10%-20% higher than currently. Tracking works unchanged, as does speedtanking — but shells up someone’s tailpipe are much more efficient than shells taken with the front. There’s no need to change maximum spherical DPS for this to work. All it would take is one extra vector calculation per shot — a small matter which is highly unlikely to create performance problems.16

In duels, it would make next to no difference, as they normally settle into one orbit or another where both ships show their broadside to each other. For small gang fights it would not change all that much, as they typically involve lots of smaller ships that never stay in one place for long. But in large fleet fights where battleships and capitals are on the field, maneuvering would suddenly become very important, and not letting the enemy sneak up on you from behind doubly so. Picking a point to align to and determining the point your enemy has aligned to would become a challenge. Commanding fleets made up of smaller independent units would become advantageous, and attacking from multiple directions at once would become the key to fleet effectiveness.

All the other niceties will evolve naturally.


Post Factum Update:

A twitter conversation with CCP Masterplan on the subject suggests there are few problems expected if the server-side part were to be implemented — and my mathematician programmer friends instantly start speaking in sines and cosines when told of the idea and Masterplan’s reply, so the algebra involved is at least obvious. The only real issue is apparently that the clients are not aware of the true three component velocity vector of ships, so seeing someone move in a given direction actually might not mean they are — this is why sometimes, we do see ships warp sideways. As a result, such a solution would take somewhat more work to implement than I expected.

But it’s still far less surgery than most other things I could think of to bring complex fleet tactics into Eve.


  1. It is quite possible for a game, and by extension, a MMO, not to have ‘space’ in the usual sense of the word at all, even when it deals with humanoid characters. A fairly common alternative is a location graph, where ‘locations’ and links between them replace any kind of Descartian space model, like in Fallen London. Everything within a location can interact, period, everything in a different location can’t be interacted with, you have to move first. These typically dispense with the concept of range as a result. In gate network space travel games, we have a case of a location graph where every location contains an extra layer of Descartian ‘space’.

  2. Real-time and a few variations on turn-based, and that honestly is about it. While you can twist time into a Moebius strip for one player if you want — visual novels love to do that — you can’t usually do this for multiple people at once.

  3. MUSH/MUX family of textual environments natively thinks of space as a collection of ‘rooms’ linked by ‘exits’, i.e. a location graph, even though simulations of a flat or a fully 3D space attached to that are not uncommon when using them to play in a specific genre. Such location graphs are arranged conceptually as if they were ‘rooms’, but a common piece of public domain code exists called ‘Dynamic Space’, which generates these rooms as needed to produce something much more like a square tile space. Normally, you transfer from one room to another instantaneously. Pokemon MUSH in particular used this mechanic to simulate country-wide geography, and had to, amusingly, institute silly anti-speeding policies to deal with the inconsistency of players being able to zip across entire countries in seconds, because implementing a limit in software proved too hard.

  4. √2 for the win.

  5. Half-Life’s Source engine is ultimately derived from QuakeWorld engine. The Quake family tree is in fact quite extensive.

  6. Computational power requirements of a system with moving objects touching each other rise proportionally to the square of the number of said objects, at least in physics engines having anything to do with Havok code. Stack a hundred movable cubes on each other in Source, (Garry’s Mod is the way to go if you want to play with it) and they’ll suddenly start sliding about on floating point errors and eventually bring even a very powerful computer to tears. Increasing the computing power doesn’t help too much, it just takes a few more cubes. But add the problem of sending position updates to hundreds of clients onto that and you get a whole new level of programming headache on your hands — for a time, if you did the same in Second Life, you would also crash all those clients and the region server itself. These days, it just becomes unusable until someone comes by to clean up the mess.

  7. In 3D shooters, only the transition of stealth games to 3D engines, (First Metal Gear games were 2D. On Yamaha MSX too.) where running was penalized by making everyone immediately notice you, actually broke that trend.

  8. Many a Diablo II reviewer would point out this difference between Diablo I and Diablo II and be annoyed at exactly that.

  9. Which, by the way, usually does not affect damage, except for area effect attacks, which almost always have damage dependent on range. My guess is that the reason for it is mostly programming — shortest path calculations to determine distance on a plane made of tiles are annoying to code, and many MMO engines, even 3D ones, cheat by thinking of the world in terms of tiles.

  10. Or mob-training, when done to a group of NPCs.

  11. POS Forcefields notwithstanding, they’re a very special mess of their own. A computationally intensive mess that CCP wishes to be rid of, too.

  12. Any three points in space constitute a plane, and rarely in Eve more than three points make much of a difference.

  13. As opposed to a humanoid-based game, where direction often matters a lot and makes it impractical to attack while you’re running away, unless you’re much faster than the opposition.

  14. I should mention though that there is a case for fighting without a point at all, especially in frigate-sized encounters. People very often forget they can simply run if the fight doesn’t go their way, and I’ve seen that quite a few times, not to mention committed the same error myself more than once.

  15. At least, that’s what Hans Jagerblitzen says.

  16. It would be somewhat harder to work such a change into the formula for missile damage, though, because missiles move in a pursuit curve, and thus will usually explode behind your tailpipe if you’re moving — but it can be done just the same, as missiles also have motion vectors, and thus, a direction from which they approach the target.