Hello! My name is Dmitry Borodin, I work as a game designer in a battle team on the Skyforge project. I have been in the Allods Team for more than four years, and this time has not been in vain - I have learned a lot of new and interesting game from various areas. Basically, my work was related to the implementation of the battle in the game, and now I will talk about how we did it in Skyforge.
Fight, or combat, as we often call it, in general, can be described as the active interaction of the player with the environment hostile to him. In modern MMOs, a combat takes up to 90% of playing time, and the task of making it fascinating and not boring is one of the most important and at the same time one of the most difficult. Therefore, a special large team was formed for Skyforge that deals exclusively with this problem. ')
The main contribution to the combat MMO make 3 components:
Classes are related skill sets that the player will use in combat.
Mobs are monsters hostile to the player.
Interface and camera.
About each of these points it is necessary to tell thoroughly in separate articles, and I will tell about the first - about classes.
More kombat, fun and diverse
Even at a very early stage of development, we decided for ourselves that we wanted to make a visually vivid, dynamic and intuitively understandable combat. The matter remained for the small - to grope the moment when it will become such. Since large projects in geymdev do not have a large “design of everything” that was originally prepared, which could only be realized, we began to experiment. At first we decided to take classes tightly.
The first experiments were quite viable - basically we used proven, well-proven mechanics. After some time, the games of PvE expectedly became a monotonous grind typical of an MMO: select the mob, press 1-2-1-3-4, repeat if necessary. It was becoming more and more noticeable that something was wrong: from day to day, developers, one way or another, involved in playtests, began to miss more and more in battle. And, although it could be attributed to the fact that they simply did not receive a real reward for the fight, we decided that if we want to do it really cool, then we need to seriously change everything. Thus began a series of major changes in which virtually the entire project was involved.
First, we decided to revive the process of fighting, making class resources more dynamic, reducing the recovery time of abilities, and also giving the class a special ability — an auto attack, which would often have to be pressed in between the use of other skills. In order for the auto-attack to look good, they decided to make the animation alternating, with the animation of each stroke starting from the pose in which the character finished the previous one. The auto paladin of the paladin — one of the classes in which we conducted our experiments — looked like alternating sword strikes with a diagonal motion, while simultaneously advancing towards the enemy, and each such strike took 800 milliseconds. The introduction of such auto attacks made the fight more enjoyable, but we didn’t even think about stopping this.
Cantilever effect
In the course of our experiments, we began to look more closely at the implementation of the battalion commander in such games as God of War, Devil May Cry, Darksiders. At some point, we decided to roll up our sleeves and remake our entire battalion into a similar action option.
Before embarking on large-scale alterations, it was decided to understand one of the key features of the battalion commander in these games - combo attacks, which are specific sequences of activation abilities that have an additional effect. We looked at how this was implemented in Mortal Kombat, Tekken, and Street Fighter, and evaluated the difference in approaches and their results. We decided how to adapt the combo for the MMO: you can’t do the same as in a fighting game because of the difference in the specifics of the genres and their numerous technical features. After the redesign "on paper", many-hour meetings with artists took place, in which we looked for ways to implement our ideas that suited everyone. Then we looked with interest in the game, what we did. As a result, we stopped at the variant of combo attacks, which consist of various “basic” attacks, executed by pressing the left mouse button, and special attacks, which are performed by pressing the right mouse button after the desired basic attack. The paladin had 4 basic attacks, which ended in a blow, throwing the enemy into the air. Places of three special attacks - after the first, second and third base ones - were taken respectively by the “Seal of Light”, consisting of two quick sword strokes and inflicting damage to enemies in a rectangular area in front of the paladin, “Punishing Lightning”, striking one opponent with a powerful downward blow, and “ Heavenly punishment ”, in which a paladin makes a blow to the ground and causes damage to everyone around. We did not have another special attack after the fourth basic, because the need to do, without interrupting, five strikes in a row already weakly tied to the dynamics of the battle, which we wanted to achieve.
To combo punch well played, you need to put a lot of effort. It is necessary for the player to clearly feel when they start, when they end, on which stage they are at the moment and what should be pressed now in order to execute the desired sequence of hits. Otherwise, during the performance of a long series, an unpleasant effect arose - the player eventually began to count for himself how many basic attacks he had made, and also observed subjectively unpleasant pauses between pressing strikes. Calling this effect "metronome", we immediately began to actively deal with it. In the process of this struggle, a special interface feature - “combo-helper” appeared. She helped to navigate in combo gears, directly in the course of the battle, showing which elements the player applied, lining up the corresponding icons simultaneously with their execution. But we achieved the greatest results by changing the duration of the blows and the time at which the client will receive commands for the next blow. We accelerated the basic attacks, and the last strikes in the series made it noticeably slower. So, before each paladin hit was performed for about one second, and now the longest final hit accounts for as much as 1.5 seconds, while the fastest basic attack takes only 450 milliseconds. Commands for the next strike can now be given much faster, and the process has become noticeably more comfortable, as the need to always pause between the blows has disappeared. We achieved such a result that we even decided to abandon the previously made “combo-helper” - we just didn’t need it.
Difficulties and problems
In the process of work, it became clear that long-range combo classes fall very strangely both from the visual side and simply from the point of view of common sense. And really, why can't you immediately launch the desired effect into the enemy, and be sure to use some other attacking skills each time before this? It was decided not to strain the ideology of combos by force on long-range classes, but to use the alternative attributes of an action-battalion commander, such as charged skills, aimed shots and other mechanics. For example, at the archer we use 3 types of arrows, switching between which is carried out using the right mouse button. For shooting with the selected type of arrows, a rechargeable skill is used, in the process of charging which you have to hold the left mouse button - the player as if pulls the string. This skill contains 3 different types of shots, and the type of shot used is determined by the moment when the player releases the skill charging button. Thus, the archer has as many as 9 skills on the two buttons of the mouse. Also, the combo does not necessarily have to be on the mouse - the same archer has a “Shot in a Jump”, similar to the well-known Rocket Jump, and it is performed with a jerk back, after which you have to jump using the spacebar.
It is also worth noting that the distribution of effects from action combos, from which these series of blows were taken, is not suitable for MMOs. The bottom line is that in the same God of War or Devil May Cry on an average level of complexity, almost any meaningful sequences of activating abilities lead to approximately the same result, even if during the game a completely different impression may occur. Other things being equal, the player passes the game with a speed that is almost not affected by the abilities used by him, although some of them can be long and difficult to execute combo shooters, while others can be played with simple blows of the same type. Attempting to do something similar in our country led to the fact that the players used those combos that they liked visually or simply turned out by themselves, which, in general, corresponds exactly to what players do in action games. At the same time after a while interest in the battle was lost. Already, the fastest analysis of the causes quickly led us to a conclusion that seemed to lie on the surface itself: the player loses interest in the battalion in 8–10 hours, which in principle corresponds to the time of the action considered by us. For these games, of course, there is nothing terrible in the fact that the player is finally bored with fighting mobs, but for an IMO, such an early loss of interest in the battalion commander will be fatal. Therefore, in Skyforge, we have made the combo more hardcore than in the usual action games: the player must often make decisions about which particular combos he needs to use at the moment, and his decisions will greatly influence the outcome of the battle. Combo paladin acquired strict specialization: “Seal of Light” is beneficial if it touches two or three enemies in front of the hero, “Punishing Lightning” deals maximum damage to a single target, “Heavenly punishment” helps to deal with a large number of surrounding enemies, well, and basic attacks respond for the restoration of a class resource.
Minus healer plus support
But the action-battalion is not reduced only to a certain method of class management. This is the whole ideology on which the whole game should be built. Sometimes this ideology requires to call into question some things that seem to lie at the very foundation of the MMORPG genre. For example, at a certain point we realized that the classic role of the healer in the group does not suit us. Usually, the healer is engaged in essentially the fact that he “pushes” a strip of HP (mainly a tank) in the opposite direction from that into which the enemies are pushing it, and at the same time looks at the interface. All this does not at all fit with the main ideas of the action-battalion commander.
Also, the very existence of the healer's role leads to the appearance of a large number of problems in the game. So that the healer doesn’t care who heals, there must be protective features in the game, of which tanks, of course, have a large number. This gives rise to a double enhancement of treatment: with the growth of the characteristics of the character, it becomes more and more difficult to inflict damage, and the healer can restore more and more health to him. And since there is no such double gain for the damage inflicted by the characters, there are serious problems balancing the treatment in PvP.
PvE also suffers from a healer role. The described double reinforcement distinguishes tanks from the other roles in the group, but the tank itself, in fact, almost does not feel this. For him, his “tankness” often boils down to a binary situation: either he or she has enough aggregate characteristics with a healer to nullify boss damage or not. If not, then the passage of the boss is likely to be impossible. If yes, then we are faced with another problem generated by healers - the potentially infinite endurance of a group of players in a boss battle. Having endless endurance in battle, you can have arbitrarily small damage to defeat any opponent, it just takes more time. To defeat infinite endurance in PvE, developers often introduce strange mechanics like Enrage, when after some time of battle, the boss suddenly begins to do several times more damage, leaving no chance for healers to compensate with his treatment. Without such a mechanic, the first killings of bosses are stably performed by groups in which healers make up the majority, and the battle itself lasts an enormous amount of time.
Therefore, we decided to abandon the role of healer in Skyforge. No, as such, the opportunity to be treated in battle, although limited, has not gone away, but there will be no role dedicated exclusively to this mechanics. Instead of healers, we made the role of a support - a kind of director of combat, who will also be an indispensable member of any group. In combat, support takes the most important decisions on which the outcome of the battle depends. He can help team members perform a variety of tasks at the right moments in time, protecting allies and weakening opponents, handing off offensive bonuses and creating additional points of interest on the battlefield. Only the support itself decides what is needed at the moment. Thanks to his actions, the group is capable of that, in principle, it cannot be done without it. For example, in one of our supports, the keeper of the light, the Immune Barrier skill can make the entire group invulnerable for a few seconds. "Golden Ball" will line up all the enemies, next to which will fly. The “Relic of the Wanderer” skill will place an object on the ground, using which an ally can instantly move to the keeper. The guardian can himself move to a pre-established relic, re-using the ability. It is also worth noting that the set of skills of some supports, if desired, will allow them, playing in a group, not to interact with enemies directly, fully concentrating on the support of allies. Thus, the basic attacks of the keeper of light can be directed at an ally, and then instead of causing damage, they will increase the outgoing damage to the target.
Do not trust and verify
To be sure that in the long development process we keep a sober look and do not go too far from what players expect from us, we actively use UX testing in all our experiments with the batte system (from English User eXperience, which can be translated as “interaction experience”). To do this, we have a special UX-lab, where we bring a variety of people: almost not familiar with the games, experienced MMO gamers, fans of shooters, console players - in a word, we try to get the most diverse feedback.
Experimental player, we sit at a special table, connect a variety of biometric sensors, set up an eye-tracker under it and let us play a fragment of the game that interests us. At the output we get a video in which you can see where at each moment the player looked, what his pulse was and other indicators, from which we then reconstruct the “emotional structure” of the battle and decide whether we got what we wanted and if not , then where changes are needed.
Often, UX testing results help resolve disputes in which the arguments of developers on both sides have come to an end. So it was, for example, with "contextual actions" - hints in the form of icons of class abilities, which by certain criteria appear in battle, inviting the player to activate the corresponding ability. Some developers believed that contextual actions are extremely important for the game and they should be done as much as possible, the other part was skeptical, believing that there really isn’t much point in them and you shouldn’t overdo it. UX testing has shown that inexperienced players, who precisely constitute the target audience of contextual actions, do not notice them, and experienced gamers do not really need them anyway for objective reasons. As a result, we have greatly reduced the number of contextual actions, leaving them only for the most important abilities and where they are needed for the convenience of the player, and also made them more visible.
Can a novice use combos of this class in combat? Is the player too distracting with the ability panel and the resource sensor? Is the ability of this mob visible? Is it clear? In answering these and similar questions, research in the UX-lab helped us a lot.
Instead of conclusion
To make a cool fight in MMO is a frankly non-trivial task. We have come a long way, creating classes for such a battle: we went through dozens of different approaches, spent hundreds of playtests, ran into many pitfalls, spent many hours on meetings, argued fiercely, waved toy swords and clubs, worked in our spare time — all for to be proud of your creation. After all, there is no other way to do well, except how to do it so that you like it yourself, we do not know.
In the following articles, we will definitely continue our story about how we made the battle for Skyforge, but in the meantime, I will take my leave and offer to ask questions in the comments - we will answer if possible!