- Joined
- Mar 22, 2020
- Messages
- 277
- Reaction score
- 276
- First Language
- English
- Primarily Uses
- RMMV
Hey all 
I was hoping for some feedback on my general scaling concept that I'm trying to work out. Whether it be endorsement, criticism, warnings of unforeseen consequences, or further brainstorming, all feedback is welcome!!
So I guess, context on the system I have in mind first (optional to read or skip):
Now for the meat of the post...
So, that leaves the question of how to handle enemy difficulty and scaling. Obviously, I can't set an enemy to scale to the player's level, or "player's level + n", or whatever, if there are no traditional levels.
I've brainstormed three general alternative scaling schemes:
SOOO. What are you guys' thoughts?
I think I generally like the first scaling scheme best, if I had to pick one (and I think the second has the most serious potential drawbacks), but I do think it would be smart to do a bit of all three, depending on the circumstances.
But... what am I not considering? What major, glaring flaws have just flown right over my head? What corner have I backed myself into? Where am I being too stubborn, or more complicated (or convoluted) than necessary? I'd love some outside brains on these concepts and some brutally honest opinions
Thanks to everyone who might engage!!
I was hoping for some feedback on my general scaling concept that I'm trying to work out. Whether it be endorsement, criticism, warnings of unforeseen consequences, or further brainstorming, all feedback is welcome!!
So I guess, context on the system I have in mind first (optional to read or skip):
I'm about 98% set on not having a traditional leveling system in my game (as in gaining general "experience" to advance from level 1 to 2, and so on). It's going to be very story-heavy and mechanic-heavy (if that makes sense?), meaning the fun is supposed to come from the actual doing of things (e.g. hopefully more interesting mechanics than just flipping through menus, or mindless button mashing), immersing in basically roleplaying as a student of magic and "experiencing" progression through the curriculum/program in a natural way.
To me, "natural" in this case means you get better at the things you practice and take courses in, and those particular skills get stronger. It wouldn't really make sense if you could not once step foot in the Battlemagic classroom or train in the arena, but could suddenly deal more damage with attack spells (or withstand incoming ones better) just because you "leveled up" by making a bunch of potions in Alchemy class. Meaning, there's really no place for an overall "level" system that unrealistically affects everything.
I do have a basic, discrete rank system of progressing from novice -> apprentice -> adept, or whatever. These will be milestones that can be reached by meeting certain goals/criteria, and will act as "gates" to the availability of things like better spells, bigger quests/main storyline continuation, unlocking equipment/abilities/lessons/traders/locations/etc. There will be something akin to levels, in that players can track their progress of learning in any particular school of magic (which has to do with story and quest completion as much as skill mastery), as well as their mastery of each specific spell/skill within it - but no single, master number that presides over everything.
So basically, rest assured - I definitely plan for there to be some form of progression, and actually lots of it. Just not in the form of traditional, generic character levels as most RPGs have.
To me, "natural" in this case means you get better at the things you practice and take courses in, and those particular skills get stronger. It wouldn't really make sense if you could not once step foot in the Battlemagic classroom or train in the arena, but could suddenly deal more damage with attack spells (or withstand incoming ones better) just because you "leveled up" by making a bunch of potions in Alchemy class. Meaning, there's really no place for an overall "level" system that unrealistically affects everything.
I do have a basic, discrete rank system of progressing from novice -> apprentice -> adept, or whatever. These will be milestones that can be reached by meeting certain goals/criteria, and will act as "gates" to the availability of things like better spells, bigger quests/main storyline continuation, unlocking equipment/abilities/lessons/traders/locations/etc. There will be something akin to levels, in that players can track their progress of learning in any particular school of magic (which has to do with story and quest completion as much as skill mastery), as well as their mastery of each specific spell/skill within it - but no single, master number that presides over everything.
So basically, rest assured - I definitely plan for there to be some form of progression, and actually lots of it. Just not in the form of traditional, generic character levels as most RPGs have.
Now for the meat of the post...
So, that leaves the question of how to handle enemy difficulty and scaling. Obviously, I can't set an enemy to scale to the player's level, or "player's level + n", or whatever, if there are no traditional levels.
I've brainstormed three general alternative scaling schemes:
- Fine-Tuning
- Adjust enemies' stats (HP, attack, defense, etc.) by a percentage of certain player stats, based on exactly how difficult I want the enemy to be and in what way. Each stat could still have a minimum value or cap for gating/improvement purposes.
- ex. If it should take so many of the player's hits to kill an enemy, then I'd adjust its HP based on the player's attack stat (and possibly vice versa).
ex. If an enemy should be a heavy-hitter but easier to kill, then its attack should be a percentage higher than the player's defense, but its defense should be a percentage lower than the player's attack (and perhaps its HP a low enough percentage of the player's HP or attack to render it lower than other enemies at the same point in time).
ex. If an enemy should be a powerful magic-user, then its magic attack stat could increase proportionally with the player's magic defense, to make sure its spell attacks are always strong; but its physical attack could scale normally (or exponentially more slowly) with the player's HP, and/or even be capped - so having higher physical defense is still advantageous if the enemy's magic is "silenced" and forced to attack you physically.
ex. If an encounter should reward players for using armor-penetrating attacks, or spell attacks that ignore armor completely, then I'd give the enemy a tier of armor based on the player's attack stat, and keep its HP scaled to the player's HP (or something else), rather than their attack like in the first example - so being physically stronger won't make it easier to hit without using those strategies, but it will make the enemy go down faster if/when you do use them.
- Pros:
- Loosely mimics the effect of traditional level scaling, but more fine-tuned and tailored to specific enemy archetypes or lore/story/gating needs.
More control over the player's experience with specific enemies, including optimal/suboptimal stat profiles, skills, strategies, equipment, etc. per encounter (see first "con" below).
Opportunity to design more dynamic encounters that play out differently based on the player's build/strategy/etc. by choosing certain stats to lag behind others or scale based on unconventional factors (see second "con" below).
These deliberately crafted enemy experiences shouldn't become ruined/imbalanced with over-leveling, nonlinear progression, or min-maxing, because every stat that's crucial to the experience will scale with whatever stat is logically required to maintain the intended difficulty, in whatever pattern it needs to.
- Cons:
- Lots more work for me.
Could eliminate potential variation in unique player experiences with a particular enemy if I fail to specifically account for and reward different builds/playstyles (like in the last two examples above), or otherwise pigeonhole the player into one necessary strategy or optimal build.
Could nullify a sense of improvement if the difficulty/experience is always the same (but could be mitigated by gating with minimum stat values for later-game enemies, and/or capping stats for earlier enemies).
- Adjust enemies' stats (HP, attack, defense, etc.) by a percentage of certain player stats, based on exactly how difficult I want the enemy to be and in what way. Each stat could still have a minimum value or cap for gating/improvement purposes.
Direct Scaling
- Directly set each enemy stat as a percentage of its analogous player stat, with minimal fiddling. As the player's stats go up, enemies' stats go up - either analogously, or basing them all on one representative player stat that's likely to continually increase with any progression, such as HP (or general class progression, making it more influenced by story advancement and general completion). No tailored exceptions; everything increases with its counterpart, and does so linearly by a flat percentage or percent range (it mustn't always be a 1:1 parallel). Each stat could still have a minimum value or cap for gating/improvement purposes.
- ex. If an enemy should be a "tank", then its HP might be 2x the player's at any given time (this would naturally reward having higher attack and defense, but punish increasing your max HP).
ex. If an enemy should be a "glass cannon", then both attack and defense could increase based on cutoffs of the player's HP or main class progression, but attack doubles at each cutoff point while defense only increases by 15% (this would naturally lead to an increasing gap between its attack and defense as the player progresses, which could be bad or interesting depending how it works out).
- Pros:
- More directly mimics the effect of traditional level scaling, and still has some room for variations on enemy build by using simple scaling factors (like the tank example above).
No worries of freezing out certain builds/playstyles by not considering them, or forcing the player into one optimal build/playstyle via tunnel-visioned enemy design.
Much less work for me - just set up a few basic relationships between enemy and player stats, then plug in some scaling factors, varying the numbers as needed to fit vague enemy build types, and it's ready to go.
- Cons:
- Less control and minimal opportunity for unique enemy builds/experiences - despite minor variations due to scaling factors, enemies would still loosely mirror the player's build at all times. It could also get out of control and have extreme consequences if the player min-maxes, as the enemies effectively will too.
Potentially nullify the uniqueness of even the player's build, and punish increasing your own stats, if it will always just increase that stat for every enemy by a predicable amount. This would seem to also render min-maxing a bit pointless if the enemies' stat profiles just follow.
I could mitigate the first two "cons" by going the "base everything on one representative player stat or general main class progression" route - but then why not just implement traditional levels after all? At which point that would require either overhauling the whole system, or shoehorning in an extra system the rest of the game wasn't built to implement or benefit from.
Could nullify a sense of improvement if the difficulty/experience is always the same (but could be mitigated by gating with minimum stat values for later-game enemies, and/or capping stats for earlier enemies).
- Directly set each enemy stat as a percentage of its analogous player stat, with minimal fiddling. As the player's stats go up, enemies' stats go up - either analogously, or basing them all on one representative player stat that's likely to continually increase with any progression, such as HP (or general class progression, making it more influenced by story advancement and general completion). No tailored exceptions; everything increases with its counterpart, and does so linearly by a flat percentage or percent range (it mustn't always be a 1:1 parallel). Each stat could still have a minimum value or cap for gating/improvement purposes.
No Scaling
- Exactly how it sounds. Just set each enemy stat to a number (or range) and let the player meet, and eventually overcome, it with the advancement of their stats and skills. Anything could be hard or impossible to defeat early on, but everything will eventually become squishy enough to the player that it'll drop dead from a sideways glare.
- Pros:
- Guaranteed sense of improvement as all difficult enemies become easier with skill advancement.
Can still implement fine-tuned control of enemy experience, by simply balancing their stat profile as I please.
Super easy for me to do.
- Cons:
- Inevitably leads to the classic unrealistic scenarios where huge, deadly enemies that once ripped the player to shreds now die from but a single poke.
Any tailored stat profile will be rendered moot when the player advances their own skills far enough beyond its hard-coded values.
Min-maxing could completely imbalance the experience in unexpected ways.
Nonlinear progression and/or its resulting over-leveling could mean the player never experiences an encounter as intended, even once.
SOOO. What are you guys' thoughts?
I think I generally like the first scaling scheme best, if I had to pick one (and I think the second has the most serious potential drawbacks), but I do think it would be smart to do a bit of all three, depending on the circumstances.
- Major bosses might always follow the first scheme, as it lends itself to designing some super complex (and therefore potentially interesting) dynamics, and it would be worth the time to sit and consider how the enemy-player stat relationships would interact with many potential builds/playstyles. That's also exactly the type of battle I would want to always have a consistent experience. They're part of the story, so a controlled experience is warranted. They're also generally one-and-done, so the player will never return to it expecting it to be easier later.
In contrast, my game's equivalent of a rat or mud crab might follow the third scheme, with no scaling at all. These would be enemies meant to be mildly challenging at the very beginning, but would be ridiculous to still pose any sort of threat to a seasoned hero.
Meanwhile, something like common vampires or manticores might be somewhere in-between - not special enough to justify the workload or complexity of a fully-tailored boss scaling dynamic, but interesting enough to commit to more of an archetype/build than just "everything always scales with the player", and yet too thematically fearsome to become obsolete too soon due to a total lack of scaling. However, being only common creatures, they should be able to be improved past with enough work. So I might do a bit of fine-tuning for flavor, but nothing too crazy, and perhaps take advantage of minimum stats to gate them for lower-skilled players, as well as some stat capping (or at least exponentially slowing down) to allow the player to eventually achieve tangible superiority over them.
But... what am I not considering? What major, glaring flaws have just flown right over my head? What corner have I backed myself into? Where am I being too stubborn, or more complicated (or convoluted) than necessary? I'd love some outside brains on these concepts and some brutally honest opinions
Thanks to everyone who might engage!!
Last edited: