Spankers and Spankees,
We’re still cranking away. Bonemouth has gotten most of the text written for the in-combat spanking text of the Episode 1 enemies, and I believe I’ve successfully implemented a simpler, one-round version of the new spanking mechanic (I still have to debug it). In terms of the Episode 1 content, just waiting on Emily (though apparently she’s super busy IRL right now, so bear with us).
I’ve also stolen some time to play Lords of Xulima, an old-school RPG in the style of the old Might and Magic games that came out recently. Good game. I’d highly recommend it if you’re into old-school RPG’s. It’s challenging, but I don’t find it super frustrating either, and it has a lot more convenience features than old RPG’s. I definitely think I’ll add it to my shortlist of potential Let’s Spank games after I’ve finished Etrian Odyssey.
Anyway, as I mentioned in my previous post, I’ve made a lot of changes to a lot of things in the game. Today, I’m going to go into detail about one of those things: the level-up mechanic.
I’ve been thinking about the level up mechanic lately, as well as people’s early experiences with it in Episode 1, and I’ve grown less and less satisfied with it. In particular, I don’t like the randomness of the whole thing. This leads to several problems. First, the more important randomness is, the less control the player has, the more frustrating it is. That doesn’t mean there shouldn’t be any randomness, but I think that it should be minimal, and there should be ways for the player to rig it (say through spells, or special abilities).
However, the player has very little control over the randomness surrounding stat changes. Yes, the player can improve the chances of increasing a stat by using it often in combat, however the chances of a character gaining a stat resets after each combat. Therefore, the player is encouraged to drag out combat as much as possible (say by spamming status spells, or purposefully using physical attacks on a warrior, and magic attacks on a spellcaster). This is stupid. In actual combat you want to defeat your enemy quickly and decisively. The longer they’re fighting, the more chances they have to defeat you. Any game mechanic that encourages this kind of inanity is a bad mechanic and needs to be fixed.
Second, it’s hard as balls to balance properly. This can be seen in the boss fight at the end of Episode 1. Either the boss goes down easy peasy, it’s a fun, closely-matched fight, or you get steamrolled, all depending on how graceful the RNG god was. Initially I handwaved that away by saying “Meh. The boss fight is optional.” However, getting steamrolled, especially if you want to win, is tremendously frustrating. Meanwhile, steamrolling is equally frustrating if you want to lose. So, the boss battles should be closely fought. First, there’s a lot more uncertainty that way, making it much more fun. Second, a closely fought battle shouldn’t require more than two or three attempts to win (unless you’re really really really unlucky). Third, it’s still easy for you to purposefully lose without breaking character. It’s one thing for a person to make a small mistake that costs the battle. It happens all the time. It’s another to have your party just sit around and wave at their opponent because that’s the only way to lose. With all the randomness, creating those kinds of closely fought battles is nigh impossible. However, if I make things more deterministic, then I have a much better shot.
Third, the randomness encourages grinding. I don’t want to encourage grinding. It should be an option of course. We all have different playstyles. But in my opinion, any time the game forces you to grind, the game has failed. I should never, ever, ever be forced to stop advancing, and fight the same fights over and over again. For any reason. This is a game. It’s supposed to be fun and challenging (and sexy). Not tedious. Never tedious.
However, I don’t want to use levels and experience either. I do still want to maintain the basic “stats improve based on my actions in combat” mechanic. For one thing, it feels more organic to me than leveling. In the real world, if you run long distance you develop a very strong cardiovascular system, strong legs, and thicker bones. However, your muscles don’t grow much. If you swing a baseball bat your shoulder and back muscles develop, but your cardiovascular system does not. So, I think that it makes sense that in a world where fight-or-flight triggers a surge of magic that grants you superhuman strength and speed, then a particular strategy of combat (one based on stabbing someone with a spear, or unleashing hellish fireballs, or grappling and throwing your opponent) would develop your body’s magic system in a way that make you better at those things.
So instead, I’ve implemented a change based on different types of “action points.” Each action in combat nets you some amount of some type of action point. When you achieve enough action points, you gain a stat point. For example:
Suppose you have 5 dexterity. Then, you need to accumulate 10 “dexterity action points” to increase dexterity by one. You get dexterity action points as follows:
1. Attacking with your weapon gives you two dexterity action points.
2. Grappling your opponent gives you one dexterity action point.
3. Throwing your opponent gives you one dexterity action point.
4. Getting attacked by a physical weapon gives you one dexterity action point.
Furthermore, these action points carry over across battles. So if in one battle you attack twice and get attacked once, then at the end you have 5 dexterity action points. In the second battle, suppose you attack three times and get hit in the face with a firebolt twice. Then at the end of the battle you’ve accumulated 11 dexterity action points and two talent action points. Since you have more than 10 dexterity action points, you gain a point in dexterity, and have 1 dexterity action point left over.
Now you have 6 dexterity. So you need 12 dexterity action points to gain a point of dexterity.
I like this for a few reasons. First, because action points carry over from battle to battle, fights that don’t give you stat gains are no longer a waste of time, health and mana, so there’s less incentive to drag out the battle needlessly. You can of course still do so, and there’s nothing stopping you. However, the only way to completely discourage that would be to put restrictions on how many stats you gain per fight. I’m loathe to do that, because that makes it harder to adapt to a new situation. I’d much rather have a system that can be abused, but still allows players to adapt to unforeseen problems, then one that is harder to abuse, but makes it easier for unexpected obstacles to completely screw the player.
Second, your stat points grow more slowly as you get stronger. This is important for both story and gameplay reasons.
1. Story: I may need to be able to explain how your character in the endgame can hold her own against people with much more experience. By having stats grow more slowly as they get higher, it provides some in-world justification for this. Now, the rate of growth in game will probably still be too fast for this to be a perfect justification, but I don’t need total gameplay-story integration. All I need is to keep the gameplay-story separation small enough to stay within people’s willing suspension of disbelief.
2. Gameplay: I want a player who balances their stat gains to gain roughly 3-5 stats per stat per episode. However, the dungeons are going to get longer as we get further. So by slowing stat growth, I can have larger and larger dungeons while maintaining the 3-5 points per episode. This should also (hopefully) keep one-stat specializations from growing out of control, ensuring a jack-of-all-trades route is no more challenging than specializing.
Third, I also plan on removing random encounters, and replacing them with scripted (in the programmer’s sense, not necessarily the story sense) battles, and enemy-spawning squares for people who want to grind (I’ll discuss my rationale behind this in a later post). By having a fixed number of battles, and a fixed gauge for improving stats, stat growth will be much more deterministic. This will make it a lot easier for me to gauge how strong to make the bosses for the kinds of evenly-matched battles that I want.
Of course this leaves two questions:
1. What about health and mana?
2. What about spells?
For the first one, suppose the player has 10 health. Then, in order to gain health, the player needs to lose at least 10 health. Then the player gains some base amount of health, plus a bonus. However, this is not all at once. For example, suppose in one round of one battle, the player loses 7 health. So, the player casts Heal on the next round to restore all 7 points, then loses another 2 health, then defeats their opponent. So at the end of this battle, the player has 8 health, but has lost 9 health. Now suppose in the second fight, the player had lost 8 health. Then, the player lost 17 health. Furthermore, suppose (for now) that the player gains a base health of 5 each time their health increases. So, the player gains 5 + 7 = 12 health. The 7 points are because she went 7 points over the minimum needed to gain health.
Now, what should the base health gain be? Obviously it can’t be a fixed number. 5 health is a huge jump in the beginning, but it will be insignificant at the end. So the number needs to scale. I think the base number should be 25% (rounded up to the nearest point) of the player’s current health. So, if the player has 50 health, the player gains 13 points plus overflow the next time their health goes up. If they have 10 health, they gain 3 points plus overflow. That’s enough to be significant, but not so much that a single gain in health will suddenly make your battles easy as pie.
Mana however is a little bit trickier, because the player has control over how much mana they use by casting cheaper or more expensive spells. So if I used the same system as health for mana, then players would be encouraged to only use the most expensive spells, which is stupid. If you’re in a real fight, and you know that you might have to face more fights soon after, you’ll want to try to conserve your energy as much as possible. This also means that the downside of the combat spells (their expense) wouldn’t actually be a downside. Sure they’re more expensive, but a combat spell specialist would have so much more mana than say a status spell specialist that they’d both be able to cast the same number of spells anyway. In fact, the combat specialist would come out ahead, because she could cast more status spells than the status specialist! So clearly we need a different system for mana.
I think the best solution for mana is to tie it to your gains in Talent. Everytime you gain a point in Talent, your mana increases by 150%. So, if you have 50 mana before you gain a point of Talent, then after you gain a point of talent you have 50 * 1.5 = 75 mana.
Now, for gaining spells. Every time you cast a spell you gain spellTier + 1 type points for the spells of that type. So if you cast Firebolt, you gain 0 + 1 = 1 combat points. Meanwhile, it takes (spellTier) * 10 type points to learn a spell of a particular tier and a particular type. The only exception to this are tier 0 spells. Those take 5 points to learn. So Icebolt takes 5 combat points to learn, while Lightning Bolt takes 1 * 10 = 10 combat points.
Learning a spell consumes points. So you can’t learn Lightning Bolt 5 casts after learning Icebolt. You learn it 10 points after learning Icebolt.
And that’s my new level up mechanic in a nutshell. In short, the idea is to create a deterministic system with a clear progression that still has the same feel as the random stat gain mechanic, without the frustrations and wild oscillations in difficulty associated with it.