Felt like rambling about LF2's gameplay, some of the common pitfalls when making LF2 mods, and why it is important to study the original game. Even better if you are lucky to have multiplayer experience in full speed in both Stage and PvP with a strong player.
tl;dr - Don't neglect the basics. Characters should feel good to move around.
Each move, basic or special, should have a specific purpose and meaningful cost.
tl;dr - Please balance your HP/MP cost around the LF2 exe's regeneration rates.
Make sure attacks have a sensible HP:MP efficiency and are not too safe/easily spammed, especially compared to combos.
tl;dr - Dash Attack(>>JA) is powerful rather than overpowered.
However, the AI/Stage needs to be better managed to use/deal with it.
tl;dr - Please keep HK Colosseum as the 2nd map in the game.
tl;dr - Original LF2 has a bad AI and Stage Mode that undercuts its own combat system.
Modders, please take the time to research and make the Stage Mode fit your preferred combat system.
tl;dr - Inputs must be intuitive, and combos should flow.
Don't just put in a special move in a slot just because you have the slots for it; in fact try to keep to 3-5 special moves.
Allow players to transfer legacy skills/muscle memory from original LF2 to the mod.
tl;dr - Understand LF2's "Fall" system and decide the duration of injury frames.
Otherwise, your combos won't work, or become infinites.
tl;dr - Fire(effect 2) use fall70 for a reason.
Take extra care when designing any moves that use fire/ice, especially Fire, and watch out for States.
tl;dr - Besides "Fall", take into account Hitlag, and Rest.
Otherwise, your combos/multi-hit attacks will also fail or turn into a potential infinite.
#10 - Weapons:
Was gonna write something here but I kinda addressed it in previous sections.
tl;dr - Weapons don't do much in original LF2, and largely just serve as obstacles or things you can throw in PvP, or as decorations in an otherwise large but empty background.
This has been a very long wall of text/ramble.
LF2 has been around since 1999; a full 21 years, and its playerbase has grown up from children to working adults with their own kids who play Apex and watch Hololive.
The community has a vast collection of resources, some of which sadly lost in time, but much of it has remained and here we are, standing on the shoulders of giants before us.
Modding has a bit more options and is easier thanks to our past contributors.
What a legacy, but we can't hold on to the past forever, can we?
But I hope that being part of this LF2 community has helped everyone learn something that would prove useful in their lives moving forward, even if they are no longer going to be a part of it and leave a legacy behind.
Thank you for reading, and I hope you learned something from it as well.
#1 - Movement & Combat: (Click to View)
Many mods fail to design basic movement and combat mechanics.
Chars with weird movement that it feels clumsy, slippery or just chaotic/nonsense.
Basic attacks so weak that you skip using them entirely in favour of something else.
Enemies so threatening that you do not dare to risk melee combat to score big combos.
Special moves so efficient that it is pointless to do anything but spam them over and over.
LF2 is a game where you use a tiny person to navigate an open(if empty) arena to beat up a bunch of other tiny people.
You need to be able to cover both long distance travel, as well as tight movement to weave around in close combat.
As such, it is absolutely important to have a good range of movement options that feel tight and responsive.
If the character does not even feel good to run/jump around in, it is going to feel annoying trying to position yourself correctly to do anything.
Basic Attacks exist because they are an extension of basic movement, so they need to have a very low cost or none at all.
However, that does not necessarily mean that they should have a low reward. Rather, they should serve a specific purpose that coincides with the type of movement that permits its use.
For example, Normal Punches are weak and lack range, but they are quick and precise.
They also inflict injury on an opponent, and thus grant some level of safety for your other actions.
Alternatively, you can accumulate punches to dizzy the opponent, opening up opportunities for the character's most powerful combos.
It is this slow build-up that leads to a huge potential payoff that makes normal punches so satisfying.
It also leaves room for a pleasant surprise when the victim tries to escape, and the "gotcha!" moment if you anticipated/reacted to it correctly.
Incidentally, blocking in LF2 is an instant defence meant as a last-ditch effort to minimize incoming damage. You'd generally prefer to dodge attacks or rebound projectiles unless there is really no other choice.
On a similar note, this is why LF2 has several systems that reward you based on how much effort you put into it.
An enemy who is dizzy is completely open to attacks, including the Grab mechanic(which is admittedly flawed in LF2).
Special Moves require pressing more buttons(either all at once or one-by-one) and cost MP, making them less likely to be used, but are often much stronger to compensate.
Combos utilize a variety of commands and interactions often pay off much more than simply mashing A at an enemy.
That does not mean that special moves should replace basic moves on the basis of input complexity/MP cost.
Again, its all about each move having a specific purpose for a specific situation.
Chars with weird movement that it feels clumsy, slippery or just chaotic/nonsense.
Basic attacks so weak that you skip using them entirely in favour of something else.
Enemies so threatening that you do not dare to risk melee combat to score big combos.
Special moves so efficient that it is pointless to do anything but spam them over and over.
LF2 is a game where you use a tiny person to navigate an open(if empty) arena to beat up a bunch of other tiny people.
You need to be able to cover both long distance travel, as well as tight movement to weave around in close combat.
As such, it is absolutely important to have a good range of movement options that feel tight and responsive.
If the character does not even feel good to run/jump around in, it is going to feel annoying trying to position yourself correctly to do anything.
Basic Attacks exist because they are an extension of basic movement, so they need to have a very low cost or none at all.
However, that does not necessarily mean that they should have a low reward. Rather, they should serve a specific purpose that coincides with the type of movement that permits its use.
For example, Normal Punches are weak and lack range, but they are quick and precise.
They also inflict injury on an opponent, and thus grant some level of safety for your other actions.
Alternatively, you can accumulate punches to dizzy the opponent, opening up opportunities for the character's most powerful combos.
It is this slow build-up that leads to a huge potential payoff that makes normal punches so satisfying.
It also leaves room for a pleasant surprise when the victim tries to escape, and the "gotcha!" moment if you anticipated/reacted to it correctly.
Incidentally, blocking in LF2 is an instant defence meant as a last-ditch effort to minimize incoming damage. You'd generally prefer to dodge attacks or rebound projectiles unless there is really no other choice.
On a similar note, this is why LF2 has several systems that reward you based on how much effort you put into it.
An enemy who is dizzy is completely open to attacks, including the Grab mechanic(which is admittedly flawed in LF2).
Special Moves require pressing more buttons(either all at once or one-by-one) and cost MP, making them less likely to be used, but are often much stronger to compensate.
Combos utilize a variety of commands and interactions often pay off much more than simply mashing A at an enemy.
That does not mean that special moves should replace basic moves on the basis of input complexity/MP cost.
Again, its all about each move having a specific purpose for a specific situation.
Each move, basic or special, should have a specific purpose and meaningful cost.
#2 - HP & MP Values: (Click to View)
Unless you know how to modify the lf2.exe file, please don't deviate your HP/MP values from original LF2 too much and scale them accordingly.
This is so important to stress; I've seen too many mods that hit either extreme of the damage scale.
* Mods with 1-hit kill attacks, so that you'd die at random out of nowhere. Blocking still makes you take 10% of this damage which is still huge(if it can even be blocked). Your strategy revolves entirely around avoiding this attack, or all your efforts will go to waste. Firzen is NOT a good example to follow, people!
* Mods with damage so negligible, that it takes a full minute to deal 100hp damage with a combo after factoring in regeneration. And then the enemy casts heal on himself just as he is about to die. Your character cannot damage him fast enough to out-DPS the heal, and all your hard work was wasted.
When designing your damage values, please calculate the damage you can expect from each character, mostly from their dash attack and their combos, and THEN design your Stage enemies' HP values around that, using thresholds.
To a 70dmg dash attack, there is no difference between 90hp and 120hp; they both take 2 kicks to kill, and for combo purposes, they are essentially the same because combos usually start with 60dmg from punching plus another 140+ from the rest of the combo.
In other words, you want a mix of small fries that die in a single strong attack, along with enemies that take at least one combo to kill efficiently but not take forever(talking like 2-3 combos and still not dead). Use these strong attacks and combos as your threshold/gauge for checking how much HP to give your enemies in Stage.
To use a weird food analogy, your enemies should fill the role of potato chips, a bowl of soup, and a steak.
At the same time, the MP cost is very often negligible, because of a lot of factors.
This ends up making those special moves very spammable.
Modders often don't take into account the MP Regen Rate even if they carefully chose their MP costs, whether due to testing only with 500hp, or just turn on F6.
By default, characters recover 1mp/3tu above 400hp. This is VERY slow.
However, it accelerates by +1mp/3tu for every 100hp lost, starting from 400hp.
So you get 2mp/3tu at 301-400hp, 3mp/3tu at 201-300hp, 4mp/3tu at 101-200hp, and finally 5mp/3tu at 1-100hp.
I find that the LF2 truly begins at 3mp/3tu(201-300hp), while 4-5mp/3tu begins to become quite a spamfest.
Julian/Firzen have enhanced MP Regen rate, having double the HP threshold(801/601/401/201).
On a related note, mods often implement "Hell Moves", which are attacks with very high MP cost and often HP cost, but are devastatingly powerful and often grant the player invincibility.
The problem with hell moves is that they are still easily spammable, despite a long delay between uses.
MP Costs exist to discourage players from just spamming one move over and over. It is not a perfect system, in fact in LF2 it doesn't really stop players from abusing the characters' ultimate moves or spam projectiles non-stop at an enemy AI that blocks them all day.
At the very least, players are still encouraged to diversify their sources of damage, use the downtime to reflect, and the ultimate moves are often not truly 100% safe/reliable. Furthermore, strong combos exist in LF2 which do more damage than a single special move, which encourages players to take the risk, engage in close combat and become better as a player.
Useful Numbers:
Players will always have a hard maximum of 500hp.
1/3 of the damage taken(rounded down) will also hurt your potential HP, which means having a healer like Jan theoretically makes you survive x3 longer than normal.
Blocking/Armor reduces damage to 10%, and then 1/3 of this goes to your potential HP.
You will always regenerate 1hp/12tu(x4 slower than your MP at 500hp).
The blinking HP heal effect generally works at 8hp/8tu.
Itr Kind 8 actually works by a factor of 8; any numbers in the middle just add a delay before the heal takes effect(eg: injury 1 is actually 8hp heal, but applied instantly. Injury 100 is actually 96hp with 4tu initial delay).
Milk(assuming spawned naturally o have 100 drink HP, not from opoint) always gives 160 red HP + 80 potential HP.
Depending on Difficulty, you recover 200/150/100/50hp from potential HP when you go to the next Stage.
Survival will only check if you are dead. If you are, revive you with 5hp(potential HP minimum is always 5 as well).
Enemies in Stage have 75% HP in Easy, 150% in Crazy(and more enemies too).
This is so important to stress; I've seen too many mods that hit either extreme of the damage scale.
* Mods with 1-hit kill attacks, so that you'd die at random out of nowhere. Blocking still makes you take 10% of this damage which is still huge(if it can even be blocked). Your strategy revolves entirely around avoiding this attack, or all your efforts will go to waste. Firzen is NOT a good example to follow, people!
* Mods with damage so negligible, that it takes a full minute to deal 100hp damage with a combo after factoring in regeneration. And then the enemy casts heal on himself just as he is about to die. Your character cannot damage him fast enough to out-DPS the heal, and all your hard work was wasted.
When designing your damage values, please calculate the damage you can expect from each character, mostly from their dash attack and their combos, and THEN design your Stage enemies' HP values around that, using thresholds.
To a 70dmg dash attack, there is no difference between 90hp and 120hp; they both take 2 kicks to kill, and for combo purposes, they are essentially the same because combos usually start with 60dmg from punching plus another 140+ from the rest of the combo.
In other words, you want a mix of small fries that die in a single strong attack, along with enemies that take at least one combo to kill efficiently but not take forever(talking like 2-3 combos and still not dead). Use these strong attacks and combos as your threshold/gauge for checking how much HP to give your enemies in Stage.
To use a weird food analogy, your enemies should fill the role of potato chips, a bowl of soup, and a steak.
At the same time, the MP cost is very often negligible, because of a lot of factors.
This ends up making those special moves very spammable.
Modders often don't take into account the MP Regen Rate even if they carefully chose their MP costs, whether due to testing only with 500hp, or just turn on F6.
By default, characters recover 1mp/3tu above 400hp. This is VERY slow.
However, it accelerates by +1mp/3tu for every 100hp lost, starting from 400hp.
So you get 2mp/3tu at 301-400hp, 3mp/3tu at 201-300hp, 4mp/3tu at 101-200hp, and finally 5mp/3tu at 1-100hp.
I find that the LF2 truly begins at 3mp/3tu(201-300hp), while 4-5mp/3tu begins to become quite a spamfest.
Julian/Firzen have enhanced MP Regen rate, having double the HP threshold(801/601/401/201).
On a related note, mods often implement "Hell Moves", which are attacks with very high MP cost and often HP cost, but are devastatingly powerful and often grant the player invincibility.
The problem with hell moves is that they are still easily spammable, despite a long delay between uses.
- The HP Cost is done via mp: xxyyy. You only lose Red HP but not Potential HP
That means if you have a healer like Jan or John, you can easily negate the HP cost.
- You can very easily just run away in LF2, and hell moves often clear a whole wave for a long period of time.
That means all you have to do is land a hell move, and you have a lot of time to recover. By the time the enemy returns, you're ready to do another hell move. Even worse, hell moves often have a relatively fast startup or give you invincibility as soon as you cast it, so it is perfectly safe to just use it in the middle of a big group of enemies.
- Hell Move inputs are ultimately an exercise in memorization and muscle memory.
Most hell moves are not that hard to pull off, but even the relatively hard ones can be done once you take sufficient time to practice them to become unconscious muscle memory. So no, inputs are not a reliable gate for stopping players from using hell moves.
MP Costs exist to discourage players from just spamming one move over and over. It is not a perfect system, in fact in LF2 it doesn't really stop players from abusing the characters' ultimate moves or spam projectiles non-stop at an enemy AI that blocks them all day.
At the very least, players are still encouraged to diversify their sources of damage, use the downtime to reflect, and the ultimate moves are often not truly 100% safe/reliable. Furthermore, strong combos exist in LF2 which do more damage than a single special move, which encourages players to take the risk, engage in close combat and become better as a player.
Useful Numbers:
Players will always have a hard maximum of 500hp.
1/3 of the damage taken(rounded down) will also hurt your potential HP, which means having a healer like Jan theoretically makes you survive x3 longer than normal.
Blocking/Armor reduces damage to 10%, and then 1/3 of this goes to your potential HP.
You will always regenerate 1hp/12tu(x4 slower than your MP at 500hp).
The blinking HP heal effect generally works at 8hp/8tu.
Itr Kind 8 actually works by a factor of 8; any numbers in the middle just add a delay before the heal takes effect(eg: injury 1 is actually 8hp heal, but applied instantly. Injury 100 is actually 96hp with 4tu initial delay).
Milk(assuming spawned naturally o have 100 drink HP, not from opoint) always gives 160 red HP + 80 potential HP.
Depending on Difficulty, you recover 200/150/100/50hp from potential HP when you go to the next Stage.
Survival will only check if you are dead. If you are, revive you with 5hp(potential HP minimum is always 5 as well).
Enemies in Stage have 75% HP in Easy, 150% in Crazy(and more enemies too).
Make sure attacks have a sensible HP:MP efficiency and are not too safe/easily spammed, especially compared to combos.
#3 - Dash Attack: (Click to View)
This brings me to the topic of dashing and its extension(>>JA), one of the most important mechanics in LF2.
Dashing is the fastest form of movement in LF2, combining high speed and range in one single action, with 3 possible directions over a wide diagonal range.
In addition, the attack often does a high 70 damage in a single hit and knock the enemy over; great for hit & run and punishing mistakes.
It can also be used to support team combos for massive damage.
However, dashing actually requires a bit of execution and commitment(i.e. you put yourself at risk and change your mind mid-dash).
Because of the execution barrier and predictable trajectory, it becomes easy to anticipate and react to dash attacks.
You can very easily nullify a dash attack and take only chip damage by simply blocking it, which is near-instant.
Furthermore, dash attack is often a finisher with no follow-up. That means its 70 damage is actually low in compared to a proper 200-300hp combo.
For most characters, dash attack also can only hit one object instead of multiple enemies at once, so that's another balancing factor to keep in mind.
The main problems with dash attack in LF2 are largely due to poor management of the game's AI.
The AI is already unable to predict trajectories along the z-axis accurately vs state 3, yet most characters' dash attack do not have state 3.
That means the AI will never actually block dash attacks, with the sole exception of Rudolf and Davis among the 10 fighters, and even then not effectively.
On the other end, the AI has instant inputs and is quite unpredictable, and you are often fighting a large group of them in Stage.
This means that the AI will suddenly throw out dash attacks when they normally would not, catching players off-guard.
Even if you were to block the dash attack, you would enter broken_defend state. This is not a problem in 1v1, but if you are facing more than 1 enemy, this becomes a huge damage spike.
This can be fixed with well-coded custom AI nowadays, but I've yet to see mods with Custom AI that successfully balance the success rate of dash attacks; often they are effectively immune to dash attacks or use it themselves too liberally. The closest I've seen is probably with LF2 NewAlpha, which actually simply used a John Shield to make the default AI try and evade your attacks.
Dashing is the fastest form of movement in LF2, combining high speed and range in one single action, with 3 possible directions over a wide diagonal range.
In addition, the attack often does a high 70 damage in a single hit and knock the enemy over; great for hit & run and punishing mistakes.
It can also be used to support team combos for massive damage.
However, dashing actually requires a bit of execution and commitment(i.e. you put yourself at risk and change your mind mid-dash).
Because of the execution barrier and predictable trajectory, it becomes easy to anticipate and react to dash attacks.
You can very easily nullify a dash attack and take only chip damage by simply blocking it, which is near-instant.
Furthermore, dash attack is often a finisher with no follow-up. That means its 70 damage is actually low in compared to a proper 200-300hp combo.
For most characters, dash attack also can only hit one object instead of multiple enemies at once, so that's another balancing factor to keep in mind.
The main problems with dash attack in LF2 are largely due to poor management of the game's AI.
The AI is already unable to predict trajectories along the z-axis accurately vs state 3, yet most characters' dash attack do not have state 3.
That means the AI will never actually block dash attacks, with the sole exception of Rudolf and Davis among the 10 fighters, and even then not effectively.
On the other end, the AI has instant inputs and is quite unpredictable, and you are often fighting a large group of them in Stage.
This means that the AI will suddenly throw out dash attacks when they normally would not, catching players off-guard.
Even if you were to block the dash attack, you would enter broken_defend state. This is not a problem in 1v1, but if you are facing more than 1 enemy, this becomes a huge damage spike.
This can be fixed with well-coded custom AI nowadays, but I've yet to see mods with Custom AI that successfully balance the success rate of dash attacks; often they are effectively immune to dash attacks or use it themselves too liberally. The closest I've seen is probably with LF2 NewAlpha, which actually simply used a John Shield to make the default AI try and evade your attacks.
However, the AI/Stage needs to be better managed to use/deal with it.
#4 - HK Colosseum (aka HKC - the BG/Map): (Click to View)
HKC is an extremely popular map in LF2 for two main reasons.
* It is the second map in the BG selection, so it is easily accessible by pressing "A" twice.
* It is a small map that fits within one screen (no camera scrolling).
This BG also doesn't lag; historically old computers would lag in LF2, especially with resource-intensive BGs like CUHK or Queen's Island). HKC doesn't lag, which is great news for PvP.
This is a great map for testing as a result, and is also perfect for PvP matches.
As mentioned earlier, it is actually too easy to run away in LF2 in general.
LF2 doesn't have round timers, so being able to run away in large open arenas means you drag the game on unnecessarily long in a cat and mouse game, especially if the match includes Henry/Rudolf.
So a small arena ensures that even if you run away, you can't do so forever and can get tactically trapped in a corner.
So please stop taking away the HKC map from your mods, and leave it in spot #2.
If you must take it away(not just modify it), please put in a decent map that has the same x-axis length as HKC.
* It is the second map in the BG selection, so it is easily accessible by pressing "A" twice.
* It is a small map that fits within one screen (no camera scrolling).
This BG also doesn't lag; historically old computers would lag in LF2, especially with resource-intensive BGs like CUHK or Queen's Island). HKC doesn't lag, which is great news for PvP.
This is a great map for testing as a result, and is also perfect for PvP matches.
As mentioned earlier, it is actually too easy to run away in LF2 in general.
LF2 doesn't have round timers, so being able to run away in large open arenas means you drag the game on unnecessarily long in a cat and mouse game, especially if the match includes Henry/Rudolf.
So a small arena ensures that even if you run away, you can't do so forever and can get tactically trapped in a corner.
So please stop taking away the HKC map from your mods, and leave it in spot #2.
If you must take it away(not just modify it), please put in a decent map that has the same x-axis length as HKC.
#5 - Lying, AI and Stage: (Click to View)
The AI in LF2 is known to be hyper-aggressive compared to many other similar beat'em up or hack'n'slash games.
Most games in the genre make the AI wait around a distance away and attack somewhat 1 by 1, and deliberately wait if your back is facing towards them(flanking only occasionally and very obviously) or if the camera doesn't show them on-screen.
That's not LF2.
The AI always makes a beeline towards your location, and is deliberately coded to not attempt flanking unlike in LF1, regardless of the difficulty setting.
They will only scatter if their target has a blinking timer, caused by state14 or invisibility(or by frame 202 thawing).
They will also make a beeline for any free weapons as long as the closest person(their enemy target) is not within the same z-axis as the weapon(Weapon Lure), unless there is a John shield or some other projectile.
The difficulty setting instead adds an inconsistently randomized delay before the AI decides to make an attack, and also changes how they behave when holding a Milk/Beer bottle. That's it.
In Difficult, the AI is at its most aggressive with no delay(a huge difficulty spike), and will spam its special moves VERY liberally.
It likes pressing the A input, randomly press J, and D if it detects state 3 / projectile state 3000 only.
It doesn't know how to block/avoid anything else outside of very specific hardcoding for Firen's explosion, Freeze's whirlwind and John's shield.
What this means is that in LF2:
* You may face random spikes in damage from the AI suddenly deciding to juggle you to death in a group.
* The AI loves to spam projectiles like crazy, because they are basically always within range to do so.
* Piercing attacks like Henry's D>J state 3006 is disproportionately useful against AI and their state 3000 projectile spam, even if not that great in PvP.
* The AI is weak to diagonal attacks or anything with a wide z-axis radius like explosion/whirlwind, and can be lured with weapons to their demise.
* The AI can be VERY hard to separate once they decide to clump together(especially due to chasing after the same weapon), and only separate mostly because of their randomized jumping behaviour or blinking in the middle of them to make them scatter in two directions.
Which brings me to Lying frames. There's a reason why you are invincible while downed.
If you are going to allow attacks to hit players while they are down/lying, please add an invincible tech move that lets you roll the away safely.
Otherwise, the AI is going to chain attack you to death and there is absolutely nothing you can do about it, especially if you fail to put state 14 in lying and the AI's usual attacks/A inputs are the same moves that hit lying.
There's also Stage Design to consider, mostly with regards to the number and type of enemies.
The AI is too simple to be satisfying to beat in 1v1, but too aggressive to be fair once you reach a certain size.
LF2's combat system is clearly originally designed for VS Mode between 4 friends squeezed around a keyboard, rather than to handle large groups of AI enemies.
What's more, once you get to a certain number of enemies, Stage Mode becomes utter chaos and you'd barely know what is going on anymore to make meaningful decisions. It becomes a game of crowd control, and then isolating key targets to destroy them, often with improvised/practiced team combos.
This means several things.
When designing the general gist of the Stage:
When designing the enemy aspect of the Stage:
Another thing is how long each Stage should last.
LF2 only has 6 selections in total(including Survival). However, if you lost in a Stage, you have to start all over at the beginning of each selection.
This means that you should keep your Stages somewhat short and simple; playtest them and make sure you can complete them within the 8-12min range.
If they encroach into 16-30min, you really should shorten the Stage; cut down tedious filler phases(keep to around 4-5 phases per substage, and 5 substages) and re-examine how much HP your enemies have. Also, please cut down on the cutscenes; make them skippable at the very least, especially if they are at the beginning of the stage when players inevitably restart/replay the game.
Original LF2 has done a poor job of its own Stage Mode to be perfectly honest. It is too repetitive, it screws up the enemy variety, it expects you to run an endurance without rest/milk phases, and it de-emphasizes its own combat system and player agency by instead focusing on large army vs army fights and having its brand of AI.
Last but not least, please play test your own AI and Stage in Difficult.
Even if you are not skilled enough to reliably win on Difficult, you are a modder; you can just add/shift/remove phases at will for testing purposes. The point is to see how the combat flows and whether the AI at its most aggressive can reveal some truly horrendous exploits.
I hope modders take the time to make a good Stage Mode, not just write a story to be pasted in Stage like a billboard sign.
Most games in the genre make the AI wait around a distance away and attack somewhat 1 by 1, and deliberately wait if your back is facing towards them(flanking only occasionally and very obviously) or if the camera doesn't show them on-screen.
That's not LF2.
The AI always makes a beeline towards your location, and is deliberately coded to not attempt flanking unlike in LF1, regardless of the difficulty setting.
They will only scatter if their target has a blinking timer, caused by state14 or invisibility(or by frame 202 thawing).
They will also make a beeline for any free weapons as long as the closest person(their enemy target) is not within the same z-axis as the weapon(Weapon Lure), unless there is a John shield or some other projectile.
The difficulty setting instead adds an inconsistently randomized delay before the AI decides to make an attack, and also changes how they behave when holding a Milk/Beer bottle. That's it.
In Difficult, the AI is at its most aggressive with no delay(a huge difficulty spike), and will spam its special moves VERY liberally.
It likes pressing the A input, randomly press J, and D if it detects state 3 / projectile state 3000 only.
It doesn't know how to block/avoid anything else outside of very specific hardcoding for Firen's explosion, Freeze's whirlwind and John's shield.
What this means is that in LF2:
* You may face random spikes in damage from the AI suddenly deciding to juggle you to death in a group.
* The AI loves to spam projectiles like crazy, because they are basically always within range to do so.
* Piercing attacks like Henry's D>J state 3006 is disproportionately useful against AI and their state 3000 projectile spam, even if not that great in PvP.
* The AI is weak to diagonal attacks or anything with a wide z-axis radius like explosion/whirlwind, and can be lured with weapons to their demise.
* The AI can be VERY hard to separate once they decide to clump together(especially due to chasing after the same weapon), and only separate mostly because of their randomized jumping behaviour or blinking in the middle of them to make them scatter in two directions.
Which brings me to Lying frames. There's a reason why you are invincible while downed.
If you are going to allow attacks to hit players while they are down/lying, please add an invincible tech move that lets you roll the away safely.
Otherwise, the AI is going to chain attack you to death and there is absolutely nothing you can do about it, especially if you fail to put state 14 in lying and the AI's usual attacks/A inputs are the same moves that hit lying.
There's also Stage Design to consider, mostly with regards to the number and type of enemies.
The AI is too simple to be satisfying to beat in 1v1, but too aggressive to be fair once you reach a certain size.
LF2's combat system is clearly originally designed for VS Mode between 4 friends squeezed around a keyboard, rather than to handle large groups of AI enemies.
What's more, once you get to a certain number of enemies, Stage Mode becomes utter chaos and you'd barely know what is going on anymore to make meaningful decisions. It becomes a game of crowd control, and then isolating key targets to destroy them, often with improvised/practiced team combos.
This means several things.
When designing the general gist of the Stage:
- For singleplayer, aim between 2-5 enemies to maximize challenge to combo ratio.
- For multiplayer, aim for 3-4 players(5-7 if you adjust for Crazy difficulty).
- The enemies will NEVER split themselves evenly among players, so DON'T scale them exactly equal to player ratio.
- Limit enemy variety to 3 types(Heavy/Ranger/Bandits) per wave, so players don't get overloaded with too much information to process. I find the best ratios to be 0.2/0.4/0.5.
- Stage intensity should go up and down naturally in a nice upward wave. Allow players time to breathe and recover between big fights; give them Milk and a couple of weak bandits to bully.
- Try to discourage the enemy AI from going after weapons(reduce weapons on screen; default is 4, or place a John shield to make them ignore weapons entirely.), because it adds uncertainty to their behaviour when they do have it, and makes them bunch up idiotically when chasing after weapons.
- BGs should have a reasonably wide z-axis width and the Stage mode should use a reasonably x-axis boundary to fit within 4 players and the number of enemies. This gives players space to move around and not obstruct each other. For 1 player it may be a bit too big, but honestly that's why weapons exist - to make the stage feel less empty.
When designing the enemy aspect of the Stage:
- HP Values should be consistent; please don't make a Bandit that is 20hp in a phase, and then 1000hp in another. Keep it at 80hp for all Stages please.
- Avoid having more than 1 type of long-range projectile-spam minion(Stage 3's Jack+Sorcerer is a very bad example)
- Enemies should not exceed times: 3, and usage of "<soldier> times:"(default is 50 wtf!) is recommended. Anything more makes the phase tedious, especially if you need to chase down this 1 bandit who refuses to die after everyone else is already dead.
- When designing enemy characters, please make sure they behave consistently and don't unleash super attacks out of the blue. Enemies are meant to be defeated. Soldiers are meant to be small fries that you can bully or act as obstacles to the real Boss, not a bunch of minibosses in and of themselves.
Another thing is how long each Stage should last.
LF2 only has 6 selections in total(including Survival). However, if you lost in a Stage, you have to start all over at the beginning of each selection.
This means that you should keep your Stages somewhat short and simple; playtest them and make sure you can complete them within the 8-12min range.
If they encroach into 16-30min, you really should shorten the Stage; cut down tedious filler phases(keep to around 4-5 phases per substage, and 5 substages) and re-examine how much HP your enemies have. Also, please cut down on the cutscenes; make them skippable at the very least, especially if they are at the beginning of the stage when players inevitably restart/replay the game.
Original LF2 has done a poor job of its own Stage Mode to be perfectly honest. It is too repetitive, it screws up the enemy variety, it expects you to run an endurance without rest/milk phases, and it de-emphasizes its own combat system and player agency by instead focusing on large army vs army fights and having its brand of AI.
Last but not least, please play test your own AI and Stage in Difficult.
Even if you are not skilled enough to reliably win on Difficult, you are a modder; you can just add/shift/remove phases at will for testing purposes. The point is to see how the combat flows and whether the AI at its most aggressive can reveal some truly horrendous exploits.
I hope modders take the time to make a good Stage Mode, not just write a story to be pasted in Stage like a billboard sign.
Modders, please take the time to research and make the Stage Mode fit your preferred combat system.
#6 - Inputs & Combos: (Click to View)
LF2 uses the special move format of DxY, where X is one of 3 directions(Left/Right is the same here), and Y is either A or J. There's also DJA as the 7th input.
Each direction actually has an intuitive idea behind them, and should make sense with the move that it is tied to.
* UP implies an upward/outward motion, or taking to the skies.
* DOWN implies a downward/inward motion, or grounded in reality.
* FORWARD implies a lot of forward movement, and it frees UP/DOWN for aiming.
There's also the meaning behind each button input:
* ATTACK implies a simple attack move.
* JUMP implies a movement or utility.
And you'll notice LF2 follows these patterns very well in general:
* D>A is often used for simple projectiles. (exception: Mark, who is a bad example)
* D>J is often used for lunging attacks, big projectiles or placing a shield.
* D^A is often used for uppercuts or creating homing projectile.
* DvA is often used for shrafe attacks, or for slow/grounded melee attacks that travel forward but can't/don't fit into D>J. (exception: Deep's DvA, which honestly should have been D^A or allow both)
* D^J is often used for teleporting to ENEMIES, healing OTHERS, explosions, leap attack. Also used for invisibility for the upward smoke.
* DvJ is often used for teleporting to FRIENDS, healing YOURSELF, creating weapons. Also used for clones because it suggests the idea of splitting yourself.
Then there's DJA, which is often used for gimmicky things that don't fit, or as a substitute for D>A/D>J inputs when those two inputs are already used up. Which makes sense, because you can press DJA all at once and not have to worry about conflicting direction keys.
That's why I cringe when I find characters that say, use D^J as the input for a shrafe when it should use DvA. It makes zero sense, and on top of that it goes against LF2 players' muscle memory.
Speaking of muscle memory, we need to remember that at heart, we are ultimately modding LF2.
LF2 is actually the kind of game where, once you understand the core mechanics, you quickly understand how to play all the characters in the game. This skill is easily transferrable, and is especially useful when bringing them over to other mods.
What this also means is that we carry over the muscle memory and the intuitions of how a move should act, and how combos should flow for a character.
Therefore, when you are designing a characters' combos, it is highly advisable to make the timing/animation and the types of inputs similar, so that the whole experience flows naturally.
Each direction actually has an intuitive idea behind them, and should make sense with the move that it is tied to.
* UP implies an upward/outward motion, or taking to the skies.
* DOWN implies a downward/inward motion, or grounded in reality.
* FORWARD implies a lot of forward movement, and it frees UP/DOWN for aiming.
There's also the meaning behind each button input:
* ATTACK implies a simple attack move.
* JUMP implies a movement or utility.
And you'll notice LF2 follows these patterns very well in general:
* D>A is often used for simple projectiles. (exception: Mark, who is a bad example)
* D>J is often used for lunging attacks, big projectiles or placing a shield.
* D^A is often used for uppercuts or creating homing projectile.
* DvA is often used for shrafe attacks, or for slow/grounded melee attacks that travel forward but can't/don't fit into D>J. (exception: Deep's DvA, which honestly should have been D^A or allow both)
* D^J is often used for teleporting to ENEMIES, healing OTHERS, explosions, leap attack. Also used for invisibility for the upward smoke.
* DvJ is often used for teleporting to FRIENDS, healing YOURSELF, creating weapons. Also used for clones because it suggests the idea of splitting yourself.
Then there's DJA, which is often used for gimmicky things that don't fit, or as a substitute for D>A/D>J inputs when those two inputs are already used up. Which makes sense, because you can press DJA all at once and not have to worry about conflicting direction keys.
That's why I cringe when I find characters that say, use D^J as the input for a shrafe when it should use DvA. It makes zero sense, and on top of that it goes against LF2 players' muscle memory.
Speaking of muscle memory, we need to remember that at heart, we are ultimately modding LF2.
LF2 is actually the kind of game where, once you understand the core mechanics, you quickly understand how to play all the characters in the game. This skill is easily transferrable, and is especially useful when bringing them over to other mods.
What this also means is that we carry over the muscle memory and the intuitions of how a move should act, and how combos should flow for a character.
Therefore, when you are designing a characters' combos, it is highly advisable to make the timing/animation and the types of inputs similar, so that the whole experience flows naturally.
Don't just put in a special move in a slot just because you have the slots for it; in fact try to keep to 3-5 special moves.
Allow players to transfer legacy skills/muscle memory from original LF2 to the mod.
#7 - Injury System: (Click to View)
I will talk about hitlag in a different section of this post.
LF2 has a "fall" meter, which determines which frame you go to when getting hit.
It works based on the number of fall meter accumulated.
The fall meter drops by 1 point for every 1tu that has passed in the game when not in hitlag.
Notably, LF2 works by thresholds/breakpoints of 20/40/60/80 respectively.
For example, suppose you are standing with 0 fall meter, and you get hit by an attack that is fall 7 or 20.
In both cases, you go to injury1(frame 220), and then your fall meter is set to exactly 20.
Notably, if your fall exceeds 20 while you are in midair, you will automatically go into falling state.
Also, getting fall 61 and higher rolls your fall points back to 0.
80 is a special number that can cause bugs in the game, which is why Marti uses 70 instead of 80.
In LF2, all characters are written in the data to have a standard amount of injury time.
Injury lasts for 7tu, while being dizzied lasts for 28tu.
LF2 movement is calculated before hitboxes.
Do you see where I'm getting at?
Most characters' normal punch(A) also have a total duration of 7-8tu (startup + active + recovery).
In other words, you have a chance to slip away(but enemy can chase you too), defend between punches, or use instant leaps(Davis/Deep D^J) to escape being dizzied(go straight into falling).
This is actually a very important aspect of the mindgame in PvP, but is also part of why Davis can Dragon Punch his way out.
In the extreme case of Dennis whose total duration is 9tu, you can even trade hits using attacks with 2tu startup.
Then there's the dizzy itself. It lasts for 28tu, and you are allowed to recover 28 points of the fall meter during this.
LF2 has plenty of attacks that have fall 20 or 25, both of which is less than 28... which means you can extend the dizzy indefinitely.
This is what is responsible for the vast majority of infinites in LF2.
The only ways to solve this dizzy infinite problem are:
a) Make attacks that do extend stun have a followup that has enough fall. (eg: Dennis/Davis's DvA Shrafe always end with fall70)
b) Shorten the dizzy to 19tu or less.
c) Add an extra bdy/itr to cover the last 9tu of the dizzy animation.
Even Option C doesn't necessary solve the problem if your method involves two simultaneous hits.
Remember the magic number fall 80 which I said is full of bugs? Remember Henry/Rudolf's multishot D>A?
Ever noticed how sometimes, you don't get sent into falling, but instead get bounced into the air in injury frames?
That's the injury bounce bug - it happens when you reach this magic number 80.
The game gets confused over whether you put you into falling frames, or into injury frames.
So it does both - it applies falling trajectory so you get launched into the air, but puts you into injury frames and the corresponding fall values.
LF2 has a "fall" meter, which determines which frame you go to when getting hit.
It works based on the number of fall meter accumulated.
The fall meter drops by 1 point for every 1tu that has passed in the game when not in hitlag.
Notably, LF2 works by thresholds/breakpoints of 20/40/60/80 respectively.
For example, suppose you are standing with 0 fall meter, and you get hit by an attack that is fall 7 or 20.
In both cases, you go to injury1(frame 220), and then your fall meter is set to exactly 20.
Notably, if your fall exceeds 20 while you are in midair, you will automatically go into falling state.
Also, getting fall 61 and higher rolls your fall points back to 0.
80 is a special number that can cause bugs in the game, which is why Marti uses 70 instead of 80.
In LF2, all characters are written in the data to have a standard amount of injury time.
Injury lasts for 7tu, while being dizzied lasts for 28tu.
LF2 movement is calculated before hitboxes.
Do you see where I'm getting at?
Most characters' normal punch(A) also have a total duration of 7-8tu (startup + active + recovery).
In other words, you have a chance to slip away(but enemy can chase you too), defend between punches, or use instant leaps(Davis/Deep D^J) to escape being dizzied(go straight into falling).
This is actually a very important aspect of the mindgame in PvP, but is also part of why Davis can Dragon Punch his way out.
In the extreme case of Dennis whose total duration is 9tu, you can even trade hits using attacks with 2tu startup.
Then there's the dizzy itself. It lasts for 28tu, and you are allowed to recover 28 points of the fall meter during this.
LF2 has plenty of attacks that have fall 20 or 25, both of which is less than 28... which means you can extend the dizzy indefinitely.
This is what is responsible for the vast majority of infinites in LF2.
The only ways to solve this dizzy infinite problem are:
a) Make attacks that do extend stun have a followup that has enough fall. (eg: Dennis/Davis's DvA Shrafe always end with fall70)
b) Shorten the dizzy to 19tu or less.
c) Add an extra bdy/itr to cover the last 9tu of the dizzy animation.
Even Option C doesn't necessary solve the problem if your method involves two simultaneous hits.
Remember the magic number fall 80 which I said is full of bugs? Remember Henry/Rudolf's multishot D>A?
Ever noticed how sometimes, you don't get sent into falling, but instead get bounced into the air in injury frames?
That's the injury bounce bug - it happens when you reach this magic number 80.
The game gets confused over whether you put you into falling frames, or into injury frames.
So it does both - it applies falling trajectory so you get launched into the air, but puts you into injury frames and the corresponding fall values.
Otherwise, your combos won't work, or become infinites.
#8 - States: Juggling, Fire and Ice: (Click to View)
LF2 makes use of states to determine certain properties of the object.
The oversight of not utilizing State 12's properties in other states/frames is the key focus of this section.
State 12 has the special property of making you automatically drop weapons, as well as only being hittable by attack with fall greater than 40.
This is important, so that only strong attacks can juggle airborne opponents.
In part #7, I mentioned something about falling trajectory.
If you don't get sent into falling frames, the "dvy" value indicated in the itr will be unused.
Now, ever noticed that all fire attacks in LF2 have fall70?
That is because using anything less than fall61 will result in the enemy going into burning frames, but without getting launched into midair.
They get stuck burning forever, because the game didn't hardcode in a failsafe for this situation.
Consequently, all properly coded fire attacks are capable for hitting state12, which means you can juggle falling victims.
It also means that the victim's fall value is always reset back to 0 after getting hit by properly coded fire attacks.
Normally, this won't be a problem, but the burning frames use state 18 and do not have special hardcoding for state 12 considerations.
That means you can use low-fall attacks to hit burning opponents, which essentially resets a combo. Holy sh*t.
It should be noted that burning frames DO have special hardcoding to make them "bounce" when they hit the floor, but that's it.
This is why the Groundfire Punch combo exists.
This is why Firen DvJ + Firzen/Bat beams, and Firzen+Sorcerer, fire + Rudolf are so insanely dangerous.
A similar problem exists for frozen frames, although ice attack don't often use fall70.
The very first frame of being frozen actually uses a generic state 15 instead of the actual frozen state 13.
This creates a similar problem where you can combo a victim who was just frozen, but not fully encased in ice.
This is also why victims who just got frozen but land on the ground early can escape.
The oversight of not utilizing State 12's properties in other states/frames is the key focus of this section.
State 12 has the special property of making you automatically drop weapons, as well as only being hittable by attack with fall greater than 40.
This is important, so that only strong attacks can juggle airborne opponents.
In part #7, I mentioned something about falling trajectory.
If you don't get sent into falling frames, the "dvy" value indicated in the itr will be unused.
Now, ever noticed that all fire attacks in LF2 have fall70?
That is because using anything less than fall61 will result in the enemy going into burning frames, but without getting launched into midair.
They get stuck burning forever, because the game didn't hardcode in a failsafe for this situation.
Consequently, all properly coded fire attacks are capable for hitting state12, which means you can juggle falling victims.
It also means that the victim's fall value is always reset back to 0 after getting hit by properly coded fire attacks.
Normally, this won't be a problem, but the burning frames use state 18 and do not have special hardcoding for state 12 considerations.
That means you can use low-fall attacks to hit burning opponents, which essentially resets a combo. Holy sh*t.
It should be noted that burning frames DO have special hardcoding to make them "bounce" when they hit the floor, but that's it.
This is why the Groundfire Punch combo exists.
This is why Firen DvJ + Firzen/Bat beams, and Firzen+Sorcerer, fire + Rudolf are so insanely dangerous.
A similar problem exists for frozen frames, although ice attack don't often use fall70.
The very first frame of being frozen actually uses a generic state 15 instead of the actual frozen state 13.
This creates a similar problem where you can combo a victim who was just frozen, but not fully encased in ice.
This is also why victims who just got frozen but land on the ground early can escape.
Take extra care when designing any moves that use fire/ice, especially Fire, and watch out for States.
#9 - Hitlag and Rest: (Click to View)
When you hit or get hit in LF2, the game will actually pause your animation briefly.
The attacker will be frozen for 3tu, while the victim shakes for 3tu.
If the victim is blocking/armored, he shakes for 5tu (attacker is still 3tu).
So that means the actual injury/dizzy duration is more like 10/31tu rather than 7/28tu in practice, but I omitted hitlag in calculation for simplicity, because you do not recover fall meter during hitlag.
Hitlag is a trick that many games use to make attacks feel stronger graphically, usually applied for 0.1s(which is 3tu in 30fps like in LF2).
Since LF2 isn't actually a single player or 1v1 game, this pause is applied locally to the attacker and victim, rather than globally(whole game).
This actually has a number of consequences, and has a number of oversights.
One of the oversights is that hitlag doesn't pause any gains in momentum.
That means if you get hitlag in a frame that has -dvy movement, you are going to accumulate a lot of speed, and rocket into the air.
This is why Marti was very careful to never puts -dvy and itr in the same frame in LF2.
It only really happens to Davis, because he can cancel his DvA during an itr effect 4 into an instant -dvy in Dragon Punch. The timing of your cancel does affect how much higher you can fly up, but there are only 3 special heights since hitlag is only 3.
Separately, there's the "rest" system (arest and vrest).
Arest means the attacker cannot hit anyone else for X tu (this is why Louis is full of problems btw).
Vrest means the victim cannot be hit by its current attacker again for X tu.
The rest value also has a hard upper limit of around 14 if it gets blocked compared to the maximum value of 127.
That means if you are trying to balance a move with high rest, you should test against blocking/armor.
This rest value does NOT take into account hitlag, and is applied ONLY to the object that is hitting it, not its owner/relatives.
Do also note that projectiles(type 3) don't suffer hitlag. The animation continues like 0, though its MOVEMENT does freeze for 1tu.
That means you should avoid using a vrest lower than 4 if you're going for melee attacks.
That also means if you are using a bunch of projectiles, it doesn't really matter how much rest you are using.
However, if you are attacking the victim yourself, are using vrest, and combine it with hitlag...
When you hit person A with vrest7, you and person A get 3 hitlag. That's fine.
Now imagine person B walks in during the 2nd tu of the hitlag, so it resets your hitlag to 3 again.
The attack, which should last 3tu, gets extended to 5tu. Do you see where I'm going with this?
Now imagine person C walks in during the 2nd tu of the new hitlag.
The attack is now extended to 7tu, and the vrest timer for person A has expired.
You are going to hit person A again, and then person B, and then person C, in an infinite loop, and never leave your current attack frame.
Congratulations, you have the infamous infinite Shrafe glitch.
The attacker will be frozen for 3tu, while the victim shakes for 3tu.
If the victim is blocking/armored, he shakes for 5tu (attacker is still 3tu).
So that means the actual injury/dizzy duration is more like 10/31tu rather than 7/28tu in practice, but I omitted hitlag in calculation for simplicity, because you do not recover fall meter during hitlag.
Hitlag is a trick that many games use to make attacks feel stronger graphically, usually applied for 0.1s(which is 3tu in 30fps like in LF2).
Since LF2 isn't actually a single player or 1v1 game, this pause is applied locally to the attacker and victim, rather than globally(whole game).
This actually has a number of consequences, and has a number of oversights.
One of the oversights is that hitlag doesn't pause any gains in momentum.
That means if you get hitlag in a frame that has -dvy movement, you are going to accumulate a lot of speed, and rocket into the air.
This is why Marti was very careful to never puts -dvy and itr in the same frame in LF2.
It only really happens to Davis, because he can cancel his DvA during an itr effect 4 into an instant -dvy in Dragon Punch. The timing of your cancel does affect how much higher you can fly up, but there are only 3 special heights since hitlag is only 3.
Separately, there's the "rest" system (arest and vrest).
Arest means the attacker cannot hit anyone else for X tu (this is why Louis is full of problems btw).
Vrest means the victim cannot be hit by its current attacker again for X tu.
The rest value also has a hard upper limit of around 14 if it gets blocked compared to the maximum value of 127.
That means if you are trying to balance a move with high rest, you should test against blocking/armor.
This rest value does NOT take into account hitlag, and is applied ONLY to the object that is hitting it, not its owner/relatives.
Do also note that projectiles(type 3) don't suffer hitlag. The animation continues like 0, though its MOVEMENT does freeze for 1tu.
That means you should avoid using a vrest lower than 4 if you're going for melee attacks.
That also means if you are using a bunch of projectiles, it doesn't really matter how much rest you are using.
However, if you are attacking the victim yourself, are using vrest, and combine it with hitlag...
When you hit person A with vrest7, you and person A get 3 hitlag. That's fine.
Now imagine person B walks in during the 2nd tu of the hitlag, so it resets your hitlag to 3 again.
The attack, which should last 3tu, gets extended to 5tu. Do you see where I'm going with this?
Now imagine person C walks in during the 2nd tu of the new hitlag.
The attack is now extended to 7tu, and the vrest timer for person A has expired.
You are going to hit person A again, and then person B, and then person C, in an infinite loop, and never leave your current attack frame.
Congratulations, you have the infamous infinite Shrafe glitch.
Otherwise, your combos/multi-hit attacks will also fail or turn into a potential infinite.
#10 - Weapons:
Was gonna write something here but I kinda addressed it in previous sections.
tl;dr - Weapons don't do much in original LF2, and largely just serve as obstacles or things you can throw in PvP, or as decorations in an otherwise large but empty background.
#11 - Time/Project/Life Management: (Click to View)
This is honestly something we need to learn in life too.
I've been trying to work on my LF2 Rebalance mod for a long time now, but I've always been hindered by several factors:
* I didn't know how to manage my free time and maintain discipline, and ended up squandering them in YouTube videos. It really doesn't help that I have yet to find my calling in life.
* I spent a lot of time thinking and planning the perfect mod rather than creating, and scrapping whatever that I did create because I later became unsatisfied upon further review, and my method of creation makes it inflexible.
* I was so obsessed with having the most hours of free time to do one specific task each day, that I ended up neglecting my own body's need for rest. I had the hours I wanted, but none of them are productive, because I don't know how to LET GO and take breaks.
* Willpower and waiting for motivation is not sufficient, and they are a resource that drains over time. It is more effective to plan a strict schedule the day before, with the tasks split into simple chunks that can be easily tracked, and change your own environment so that you don't need to exert willpower in the first place. People don't really work in bursts, but in daily increments.
This is something I still need to work with, given how much time this post itself took in light of other things.
So how does this apply for aspiring LF2 modders?
There have been a number of pretty promising projects that ended up in development hell or abandoned, mine included.
Is it due to lack of interest, or due to real life complications making it necessary to drop LF2 modding entirely, even as a hobby? Can all parties put in the necessary time to work together? Can you return to knowing what you are doing with your own mod when you do finally find it in you to mod again? Will you ever be satisfied with what you have?
Whichever the case, LF2 modding is ultimately a time-consuming hobby, and quite frankly it doesn't really teach anything that would be useful in the outside world.
If you can find it in you to continue modding however, I would suggest to stick to a schedule, and put in a bare minimum even on the worst of days. Split a big task into manageable chunks, and keep track of those chunks. This gives you a big picture to see at the end of the day, allows you to keep a daily momentum no matter how small, and know exactly what needs to be done.
Most importantly, take breaks. Figure out how long you can work on something before your attention begins to wander. And let go of a task once the time limit you have set for yourself is up; don't let it clog up your mind and block you from doing other things in life.
If you are starting out with LF2 modding, I would suggest studying the original LF2.
Start by learning how to play original LF2, with its combos and techniques and weird glitches.
Learn how to read the game's data by first getting used to the tags/terms in the data.
Refer back to LFE's vast resource of DC guides if you don't understand what each tag means.
Then link what you know about LF2 from gameplay experience to the data.
If you want to further understand, just modify a few small things in original LF2 data and run the game to test out what was changed. Don't try to make a whole new character off the bat.
Eventually, you'll have a very strong understanding of LF2's data, and can begin to pursue Advanced DC stuff that even original LF2 never used.
I've been trying to work on my LF2 Rebalance mod for a long time now, but I've always been hindered by several factors:
* I didn't know how to manage my free time and maintain discipline, and ended up squandering them in YouTube videos. It really doesn't help that I have yet to find my calling in life.
* I spent a lot of time thinking and planning the perfect mod rather than creating, and scrapping whatever that I did create because I later became unsatisfied upon further review, and my method of creation makes it inflexible.
* I was so obsessed with having the most hours of free time to do one specific task each day, that I ended up neglecting my own body's need for rest. I had the hours I wanted, but none of them are productive, because I don't know how to LET GO and take breaks.
* Willpower and waiting for motivation is not sufficient, and they are a resource that drains over time. It is more effective to plan a strict schedule the day before, with the tasks split into simple chunks that can be easily tracked, and change your own environment so that you don't need to exert willpower in the first place. People don't really work in bursts, but in daily increments.
This is something I still need to work with, given how much time this post itself took in light of other things.
So how does this apply for aspiring LF2 modders?
There have been a number of pretty promising projects that ended up in development hell or abandoned, mine included.
Is it due to lack of interest, or due to real life complications making it necessary to drop LF2 modding entirely, even as a hobby? Can all parties put in the necessary time to work together? Can you return to knowing what you are doing with your own mod when you do finally find it in you to mod again? Will you ever be satisfied with what you have?
Whichever the case, LF2 modding is ultimately a time-consuming hobby, and quite frankly it doesn't really teach anything that would be useful in the outside world.
If you can find it in you to continue modding however, I would suggest to stick to a schedule, and put in a bare minimum even on the worst of days. Split a big task into manageable chunks, and keep track of those chunks. This gives you a big picture to see at the end of the day, allows you to keep a daily momentum no matter how small, and know exactly what needs to be done.
Most importantly, take breaks. Figure out how long you can work on something before your attention begins to wander. And let go of a task once the time limit you have set for yourself is up; don't let it clog up your mind and block you from doing other things in life.
If you are starting out with LF2 modding, I would suggest studying the original LF2.
Start by learning how to play original LF2, with its combos and techniques and weird glitches.
Learn how to read the game's data by first getting used to the tags/terms in the data.
Refer back to LFE's vast resource of DC guides if you don't understand what each tag means.
Then link what you know about LF2 from gameplay experience to the data.
If you want to further understand, just modify a few small things in original LF2 data and run the game to test out what was changed. Don't try to make a whole new character off the bat.
Eventually, you'll have a very strong understanding of LF2's data, and can begin to pursue Advanced DC stuff that even original LF2 never used.
This has been a very long wall of text/ramble.
LF2 has been around since 1999; a full 21 years, and its playerbase has grown up from children to working adults with their own kids who play Apex and watch Hololive.
The community has a vast collection of resources, some of which sadly lost in time, but much of it has remained and here we are, standing on the shoulders of giants before us.
Modding has a bit more options and is easier thanks to our past contributors.
What a legacy, but we can't hold on to the past forever, can we?
But I hope that being part of this LF2 community has helped everyone learn something that would prove useful in their lives moving forward, even if they are no longer going to be a part of it and leave a legacy behind.
Thank you for reading, and I hope you learned something from it as well.
![[Image: uMSShyX.png]](http://i.imgur.com/uMSShyX.png)
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza