More useful dragons / XP balancing

I find especially through the mid-late game that dragons have little usefulness. Usually I plop them next to my goal to act as a last line of defense. What would increase their usefulness would be switching their Boost 2 and Boost 3. Give them a ranged attack sooner and then upgrade their melee from there. They could make a great all-purpose unit to fill holes in a line.

In a similar vein, I find that I lay down fewer units to get them upgraded (Swipe is key to winning most levels.) Then towards the end I throw my remaining units in to grab the xp from the level. This feels wasteful… I would prefer that either they gain xp based on the percentage of the level that they participate in, or to just remove the half xp penalty altogether. You’re not really rewarding people for using units by encouraging them to plop a few berserkers down at the last second. :slight_smile:

-zenchronus

Dragons definitely could use some tweaking, their expense in particular seems to be a limiting factor for them and we have some ideas there. The skill swap idea is the first I’ve heard of it, but definitely something we could consider. We’re talking amongst ourselves about the XP thing, it’s pretty tricky as almost any scheme encourages some weird behavior so it’s all about picking the one with the least strange side effects.

Full xp for all characters summoned at end of battle
This is what we’ve got now. This encourages you to summon as many characters as possible, but in effect it makes you beat the battle, then summon everyone you can afford. This does reward you for having spare PSI at the end of battle, which is by no means a bad thing, but it is weird to summon in guys right before the last monster dies and the screen fades away, and it’s also not a really fun thing to do, and we don’t like encouraging people to do weird things that aren’t fun.

The other big downside to this is that characters who fought for the whole battle and died, or had to be recalled, get half xp whereas some newb who got plonked down for 2 seconds at battle end gets full xp. This is a little weird and feels unnatural.

Full xp for everyone every time.

This is the simplest by far, but the biggest downside is that then all your characters will tend towards being at the same level, which is generally less interesting.

Full xp for all characters who were ever summoned in battle.
This fixes some of the above problems but introduces new ones. For one, now the dominant strategy is to summon your whole party and then recall the ones you don’t really use. Of course, that comes with a hefty bit of PSI cost as recalling is inefficient, so that’s not a bad trade-off. Also, this strategy would still leave open the “summon everyone you can afford” at battle end strategy. It also implicitly rewards “juggling” strategies which we don’t outright discourage, but we do want to make sure juggling has a pretty high entropy cost.

It also keeps your characters who died right at the end from losing out on their XP share. We haven’t decided whether to go to an alternate scheme yet, but if we do this is my favorite so far.

Any and all schemes based on "participation."
This means any scheme where characters get a different XP gain based on how much they “contribute” or “participate” in battle. Almost universally, any such scheme is unnecessarily complex, really hard for the player to understand, is nearly impossible to balance across the various classes and specializations since they all have different roles, and create lots of loopholes and glitches. These schemes generally force you to decide whether you’re going to try to focus on WINNING, or focus on a sub-standard strategy that games the system for maximum XP. That seems like a stupid choice - we want those motivations to be joined as closely as possible.

Got any other ideas?

I would say the best way to eliminate the problem would be to reward full xp to all units regardless of participation. In reality the number of units you place has much less to do with the strategy than the map itself. If you’re defending two chokepoints you’re going to end up using half of your units and plop the rest down at the last minute. And realistically if you’re playing well then by the end of the battle summoning 10 units will cost the same as an upgrade for a powerful unit.
On a map with four entrances you’re going to need to use all of your units. So it’s not so much about encouraging players to use all their units since they’re going to be forced to on the bigger maps. Having their levels up higher to avoid replaying already beaten levels keeps the fun factor higher.

Cool, we’ll definitely consider that. Honestly, this entire field of things is kind of Anthony’s domain, he’s pretty much in charge of all the balance decisions and stuff :slight_smile:

All in all it’s not really a huge gameplay issue, I just hate it when I forget to throw those last couple of guys down and realize it as the level fades. Or worse I realize it when I see their greyed out boxes in the xp screen. :slight_smile:

-zenchronus

I find dragons to be appropriately priced… don’t forget when you boost, you don’t just add a skill, you increase all the other skills. In the case of dragons, they become massive killing machines at max boost. That *should *be very expensive.

The XP issue… I definitely would NOT award max XP to all “towers” regardless of use. Then they will all be the same level, all the time, and you lose that differentiation and strategy. I like the idea of a ratio of XP… i.e., the longer on the map, the greater the percentage. It’s a bit bogus to slap some 5th and 6th rung guys on the map on the last ½ wave just to get the XP. (By the way, I never use a setting above 100% XP… why is that even in there?)

The XP multiplier is an accessibility setting, basically for people who don’t like grinding or don’t have the time to spend. I prefer to play at 100%, which is the intended setting for “regular” gamers, but there’s people out there who wouldn’t play the game if it took 20-30 hours, and cranking XP up to 3x just lets them finish the game faster.

1 Like

I think the full XP for attendees is flawed. It only encourages last minute unnecessary micromanagement at the end. It somehow always ends up like this.

  1. Sure win

  2. Enough PSI

  3. Place units all over the map

  4. Sure Win

  5. Not enough PSI

  6. Sell boosted units

  7. Place units all over the map.

I am not sure how to improve this, but the current system just doesn’t work, for anything.

1 Like

Maybe award unsummoned party members a percentage of XP based on remaining PSI?

Maybe just time how long they’re on the map and divide it by how long it takes to clear the map. At the very least, it feels wrong and tedious to summon a bunch of dead weights at the last second every map.

You could do a weighted average, too. Like: they earn one Minotaur Point (MP) per second for each boost level. Then at the end, you simply take a unit’s MP and divide by the largest MP total for any unit, and that’s their XP multiplier (some number between 0 and 1). Exp is not diluted by the number of units, necessarily, but it is diluted by non-uniformity of unit usage, so that if you put that multiplier in with current XP rewards, it would be a “less than or equal to” situation compared to now, rewarding players for particular summoning boosting patterns, ultimately. In principle, you could summon all 37 units early, and level them all up together each time, and have all defenders get full XP for the map.

One thing you could do to help level up stragglers is to add “mentoring”. Say a defender is allowed to mentor any lower-level defender. Then the lower-level unit gains MP as if they were boosted as much as their mentor, if they aren’t already. That way, your level 1 unboosted archer can catch up with that Ketta you boosted to 5 at the start of Wave 1.

There could even be some plot justification, like your “level” really being a reflection of the strength of your connection to the spirit world or whatever whatever.

I just now noticed that my proposed scheme would make it kind of impossible for dragons to earn XP ever. X-P

EDIT: I agree that the current system is almost equivalent to just giving everyone full XP regardless of everything, the only difference being that under the current system, you have to save up a few hundred Psi at the end and mass-summon everyone at the last second for no good reason.

I say we just do full XP for everyone, not because it’s the best solution but because it’s the better solution out of them all.

People would want to maximize their XP gains. So whatever scheme we come up with, they’ll make sure everyone gets leveled no matter what. It’ll just be more tedious for us to accomplish this.

I actually really like the “how long was the unit on the map” idea. I’m not sure if we can implement it or not, but it’s a cool concept that I think fixes some of these problems. In general, what we want the XP system to do is:

a) Provide a good, consistent level-up experience. Having lots of characters helps to make sure you get some level up almost every level.
b) Not completely synch up all level-ups. I want amount of XP to differ level by level, otherwise everyone’s just going to start leveling up at the same time.
c) Not lead to weird player behavior. Right now this is a problem - players summon lots of guys at the very end, and it’s just kinda odd.
d) Have some penalty for death/non-participation. Yes, I know there’s a psi loss penalty, but from a story/world perspective, it seems wrong to get full XP for doing nothing or getting your butt kicked.

So yeah - the current system is not ideal, but it’s pretty good. I’m not promising any changes on this, but it’s definitely something we think about and have tweaked throughout the process.

The “how long the unit was on the map” idea works pretty well. Let me explore the implications.

1) This removes most of the weird behavior.
Since getting max xp is no longer a totally binary thing, this just straight-up rewards you for putting characters on the map early, so there’s no real last-minute thing to do. This is a pretty strong feature IMHO.

2) This makes characters you use more get more xp
This is also pretty straightforward - it makes the things you use get stronger, which generally makes sense.

3) It appropriately rewards death/non-participation in a very direct way
By making this thing non-binary, you don’t have the problem of “bob spent 99% of his time in the game and got whacked, so now he gets nothing!” It also doesn’t super-punish people who have to recall defenders who already did a lot of stuff.

4) The metagame effect is subtle rather than overt.
Yeah, this does encourage you to place characters you want rewarded super early(see point 1 below), but at the same time the metagame effect doesn’t lend itself to really glitchy, loophole-y gaming. You get rewarded for characters you use early on in the battle, and characters you don’t use get proportionately less. It’s not like, “characters get rewarded based on actions taken” which leads to weird situations where you intentionally try to get your guys hurt so your healers can do more actions and level up more, or you try to focus on getting as many hits in as possible with as many characters rather than actually trying to kill monsters and win the battle.

So those are things in its favor. There are a few downsides:

1) It punishes classes used primarily in late-battle strategies
If you always place rangers first and dragons last, then rangers go up and up and dragons go down and down. That might encourage you to mix things up and place dragons first, but it’s a thing that I see and I’m not sure how it would play out. This could be a plus if it implicitly encourages you to do some sort of “crop cycling” in your strategy, where you are discouraged from just using your favorite class at the same time in battle over and over again, but it’s still a strategy you’re doing because of metagame, so I’m kinda mixed on this one.

2) The system isn’t super clear to the player
Let’s say we normalize things so that the first character placed gets 100%, and then everyone else within a certain fudge space gets an amount proportional to how much time they spent on the map compared to the first guy, so 90%, 80%, etc, and we cap the bottom at 50%. It’s going to be hard to communicate visually who got less than 100%, and also why, since there’s not a binary nature to it. As flawed as the current system is, it’s pretty unambiguous that the guys on the map get full xp and everyone else gets somewhat less than that.

3) Might interfere with basic gameplay strategy via xp metagame
So, the current system isn’t great, but maximizing XP doesn’t interfere too much with just trying to win the battle, as it’s usually just a little awkward dance you do at the end, either summoning everyone you can afford, or unsummoning guys and then resummoning everyone at boost level 1 so you can cram 'em all in. If the first guy you place is also the one who gets the most XP, then you’re going to be thinking both in terms of winning AND xp maximization. I’m not against this in principle, but I’d like to avoid any cross-incentives if possible.

So, I guess the downsides were a bit wordier than the pluses, don’t take that to mean I give them greater weight - it’s an interesting idea and I like it pretty well.

After reading/thinking about all this, I think my main optimal criteria for any new system to replace the old one is:

  1. Very easy to communicate visually
  2. Doesn’t create an XP meta-game at cross-purposes with just trying to win the battle
  3. Does not reward all characters equally, so they don’t all wind up at the same level
  4. Doesn’t encourage awkward/weird/unfun behavior
  5. DOES always provide at least 50% xp to non-participants

Whatever we do, I’m inclined to provide an accessibility feature to adjust the system’s effect on non-participants, so you can slide it up to “full xp for everyone” if you like.

Accessibility options aside, though, for the default setup the two alternatives I’m pretty sure we can rule out are “full xp for everyone” and “insert complex participation formula.” For any participation system, the above one is as complex as I would let it get. Anything that goes into actions taken, etc, just becomes a can of worms.

One thing I think could work is modify this a bit to add a kind of “minimum time” aspect rather than normalize it based on start of the battle. So, if a character was on battle for X time, where X is like, 1/4 of the total battle time, or whatever, then you normalize based off of that, so everyone who spent at least 1/4 of the battle time on the map gets full XP, but people who spent less time than that get a sliding scale down to half.

If we made it binary, so if you spend less than X time you get 50%, and if you spend more you get 100%, that leads to gaming and neurosis, as you’re always afraid to unsummon a guy or whatever for fear you get screwed out of your 50%, but if its sliding it wouldn’t feel so bad maybe, it’s like, “meh, so he gets 1% less, whatever, I’ll keep playing.” And then, we can make the grey tint in the levelup screen alpha out in proportion to the penalty, so it’s darkest at a full 50% - someone who NEVER TOUCHED FOOT in the battle, a true bench-warmer, and then progressively less the more time they spent in battle.

So, this strategy wouldn’t encourage you to plonk down guys at the very end for one second because what’s the point? Now they get 50.1% instead of 50? Instead, it would encourage you to use unused psi earlier to get your guys in the game and get them their rewards.

It’s still not perfect, but I can already see this as being better than the current system.

You might be over-valuing the clarity of the XP system. I played through most maps on Expert/Perfect before coming to this forum, and I never understood, or cared about, the details of the XP system. I saw that my guys were leveling up somewhat unevenly, but fairly steadily, which was fine with me, so I didn’t bother examining the situation more closely.

If a given gamer is the sort who wants to understand all the fiddly details, that gamer probably knows enough to go check forums, or a wiki. As long as the basic ideas are clear (“all units gain XP after a successful battle”), the details don’t have to be in the game proper.

XP based on final boost level?

So unplaced units get 50%, scaled to 100% for boost 3, 140% for boost 5. It would need some re-balancing of the base XP amount for earlier levels where you won’t have access to higher boost levels though.

It encourages people to use excess psi to boost units at the end as much as possible, which seems natural.

The downside is the characters at lower levels will be the ones you most want XP for, and they won’t have higher level boost skills, so there’s less reason to boost them. But on the other hand, the higher level characters need more XP to the next level…

It does encourage a meta-game: do I boost these low-level characters for XP, even though I’d be better off boosting the high-level characters for more awesomeness. But then, that’s a tension I kinda like. How confident are you at winning the level? (Also not far removed from meta-gaming by using lower level units from the start to farm XP).

Alternative, simple option?

Each level has an overall XP pool that is split between all of your units. Active units at the end get twice as much as the inactive units, but it’s done in ratio from a set pool.

eg - total reward is 300XP. You have 5 active units and 5 inactive ones. The active ones get 40XP each, the inactive ones get 20XP each. If at the end of the level you just plonk them all down so you have 10 active units and 0 inactive units, then they all get 30XP each. If you sell everyone at the end then they all get 30XP each too.

Downside: each unit you add to your army reduces the XP other units get, meaning it’s not always optimal to buy new units. But again, I quite like that, as in the existing system I was trying to buy units as soon as possible so they would start leveling.

[50 + (TimeUnitSpendOnMap / TimeOfFirstUnitPlaced)/2] % xp sounds reasonable.

That said, maybe chop 10% off the top and let the player allocate it? (in addition) That way you can catch people up or work on one person up a bit faster without affecting your overall battle strategy much.

I would like to see the ability to donate or buy levels, or something similar. The problem for me on my first run-through is that I would reach a level where I needed 3 berserkers, or 4 healers, etc and would be short one. So I’d have to buy that level one unit then go back and grind the level up.I’d be willing to shave a level off of each of my other berserkers to donate the experience to the new guy. Call it training or something. This would probably be difficult to implement, and in the end the option to start units at a higher level would be better.

I would love to see the starting level of the units be something like (Average level of recruited units of same type)*(.6) or something like that. That way you spend less time grinding completed levels. The problem is that grinding a level where you’ve already gold starred gets you much less xp. I’m not sure how everyone else played, but I constantly tried to beat every level I could to unlock rewards. If I hit a wall and needed another unit, there wasn’t a level I could go back and beat for the first time on a higher difficulty to speed up the process. It was more redoing levels I’d already solved with the addition of a little level 1 guy hiding in the corner.

-zenchronus

p.s.-I do like the xp=percentage of time spent on map idea.I generally summon most, if not all of my units at the beginning of a battle. I didn’t hit one in the whole game where summoning those units at the beginning broke the level. There were a couple where I held off on the dragons for a couple of waves, but that was about it. That was largely due to me not wanting to forget to summon a unit at the end. :slight_smile:

I liked your last idea the most, larsiusprime.

But the time should be a little higher… a Unit should participate for at least 75% of the whole battle to get full exp, everyone who participated less would also get less exp…

In a formular that might be:

EXP_GAIN = EXP * {0.5 + 0.5 * min([time_spend_by_unit / minimal_time_spend_for_full_exp],1)}

until time_spend_by_unit equals or exceeds minimal_time_spend_for_full_exp the unit gets EXP somewhere between 50% and 100%… you might even go as far as giving units a bonus if they played longer… then you could just remove the min-function… if minimal_time_spend_for_full_exp = total_time_for_map * 0.5, then you would get 125% of the EXP for a unit that stayed from the beginning till the end… (0.5 + 0.5*1.5 = 0.5 + 0.75 = 1.25)