Your Devs Ask You

Parabola
Posts: 35
Joined: Wed Jan 02, 2019 1:17 pm
Location: Body - GB; Soul - Union

Re: Your Devs Ask You

Postby Parabola » Sun Feb 03, 2019 2:37 pm

Sorry i wasn't very clear (or clear at all reading it back). I was thinking what the game would look like without levelled enemies rather than without character levels. So the power progression for the player is what we are used to but the world around behaves like the raid mechanics being discussed here all the time for every enemy you meet.

One thing that would be interesting is that you wouldn't outlevel zones in the same way. You would still start to overpower low threat zones as the enemies wouldn't have the range of powers to really worry you but you would never be able to completely ignore them.

I suppose to a certain extent i always found the enemy levelling a little arbitrary. Having the level of the enemies set by the level of the mission owner is odd if you think about it. How did the bad guys know to only send goons of that level to raid the office? How did they know to send goons one level higher to the next one in preparation for your levelling up in the first mission?

As i say i don't know if it would be a good idea just an interesting thought.

User avatar
Odee
Posts: 432
Joined: Fri Sep 21, 2018 1:15 pm
Location: Fredericksburg, Virginia

Re: Your Devs Ask You

Postby Odee » Sun Feb 03, 2019 4:59 pm

Sorry i wasn't very clear (or clear at all reading it back)...

...I suppose to a certain extent i always found the enemy levelling a little arbitrary. Having the level of the enemies set by the level of the mission owner is odd if you think about it. How did the bad guys know to only send goons of that level to raid the office? How did they know to send goons one level higher to the next one in preparation for your levelling up in the first mission?

As i say i don't know if it would be a good idea just an interesting thought.
It is an intriguing concept. However, focusing on how does the AI know to send X Level, seems a bit tunnel visioned. No offense intended.

I always looked at the Levels thing, from a military mindset. You don't send Green troops, up against Elite enemies. The converse of this might be having a level 50 Tank, following a low level around, against higher level mobs. That said, we're back to the OP of how Raids were handled by the AI, when players of different levels joined it?

Still, it is an intriguing question. ;)
Odee says,
Rah-rah Ree! Kick 'em in the Knee!
Rah-rah Rose! Punch 'em in the Nose!
Rah-rah Ralls! Kick 'em in the other Knee!

Pyrion
Posts: 198
Joined: Thu Jan 12, 2017 7:31 am

Re: Your Devs Ask You

Postby Pyrion » Sun Feb 03, 2019 6:32 pm

As a thought experiment I'm wondering what the game would look like if this approach was taken to all enemies in the game rather than just in a specific event. Instead of mobs having levels they would be stronger or weaker based on the powers they had access to in much the same way as characters are. You could even have mobs with variable 'conning', so a mob set to con yellow would fight at that strength relative to both a level 1 and a level 50 character. It would certainly make sidekicking and exemplaring simple as you wouldn't need those systems at all.

I'm not saying I'm convinced it's a good idea but it strikes me as interesting. What is the major benefit of having levels anyway?
This concept is called "horizontal advancement" instead of "vertical". The now canceled EQ next wanted to have such a system, where you just get more and more skills but those other skills are not really better than your old ones. You just get more diversity.

It's an interesting concept, but i prefer old fashioned levels. It's nice to feel your power rising...

Back to topic: For that same reason i would like to see higher level chars doing more damage to giant monsters than lower levels. But lower levels should be able to contribute.

User avatar
Odee
Posts: 432
Joined: Fri Sep 21, 2018 1:15 pm
Location: Fredericksburg, Virginia

Re: Your Devs Ask You

Postby Odee » Sun Feb 03, 2019 8:12 pm

As a thought experiment I'm wondering what the game would look like if this approach was taken to all enemies in the game rather than just in a specific event. Instead of mobs having levels they would be stronger or weaker based on the powers they had access to in much the same way as characters are. You could even have mobs with variable 'conning', so a mob set to con yellow would fight at that strength relative to both a level 1 and a level 50 character. It would certainly make sidekicking and exemplaring simple as you wouldn't need those systems at all.

I'm not saying I'm convinced it's a good idea but it strikes me as interesting. What is the major benefit of having levels anyway?
This concept is called "horizontal advancement" instead of "vertical". The now canceled EQ next wanted to have such a system, where you just get more and more skills but those other skills are not really better than your old ones. You just get more diversity.

It's an interesting concept, but i prefer old fashioned levels. It's nice to feel your power rising...

Back to topic: For that same reason i would like to see higher level chars doing more damage to giant monsters than lower levels. But lower levels should be able to contribute.
Didn't the Asheron's Call originally have a system where you created the character, and the Class had a set number of skills you improved through use, including combat and craft skills that you could learn through tomes, books, and research? The only level difference would be going against mobs better trained than yourself, and not higher leveled as in today's MMOs.
Odee says,
Rah-rah Ree! Kick 'em in the Knee!
Rah-rah Rose! Punch 'em in the Nose!
Rah-rah Ralls! Kick 'em in the other Knee!

User avatar
JestersGhost
Posts: 841
Joined: Sun Dec 25, 2016 4:39 pm

Re: Your Devs Ask You

Postby JestersGhost » Wed Feb 13, 2019 6:21 am

The Secret World had a level-less system which worked very well. Certain skills were required to win against certain enemies (like -regen on a fast-healing creature) so you were gated by ability rather than raw power, which I always considered a very elegant design.


But anyway, I promised Consultant I'd chip in on this weeks ago, but it turned out I had a lot to write and numerous distractions...so rather belatedly, here begins a rather long (and multi-post for ease of reading) discussion on killing things slowly.


The first topic is something I have mentioned before, but for the sake of clarity will cover again. Time-to-Kill, or TtK.

This is quite simply how long it takes you to defeat an enemy. It's important because time is your fundamental currency in an RPG. You have a limited amount of time, and making the most efficient use of it is thus most players' goal. This is why XP debt is required - it "evens out" high xp gains from harder enemies by slowing xp gains down if you die. That's the "risk" in the risk-vs-reward balance. Any death penalty in any game can be reduced back to costing you "time" - everything is replaceable, but it will cost you time you could have been increasing in power.

Time-to-Kill, the time taken for one character to kill another, also affects how a game feels. I'm going to switch genres a second, and compare two FPS games - Brink and Modern Warfare 2. In Brink it was perfectly possible for a tough character to take an entire sub-machine gun clip and keep on going. The TtK was quite high. Modern Warfare 2 would kill you with a single bullet to the brain - pretty much instant TtK. Thus the games felt very different to play (obviously setting and the parkour mechanics also affect that, but this difference was why I dropped Brink almost immediately despite loving everything else about it).

TtK has to "feel" right with the players' expectations, within the context of the type of game and the setting. As another FPS example, for me The Division didn't feel right. It was just immersion breaking to fire an entire machine gun at an escaped prisoner face and have them still coming at me. In Destiny doing the same thing at an alien is fine, because, well, alien, with superior tech, different biology, etc.

All of that rambling introduction brings me finally to the big question: what is the Time-to-Kill that would feel right for Ship of Heroes, for each type of enemy? And, to connect this with the actual original topic of discussion, how does that change as you level up?

Let's just start with minions, for simplicity. How long should it take a level 1 player to defeat a level 1 minion? In City of Heroes, it was about 10 seconds (using this video as a reference). That's a nice round number, so let's stick with that (ignoring differences in powers and archetypes, obviously).

How long should it take a level 50 to defeat a level 50 minion? To answer that, consider how different lengths feel to play - if it takes a long time to defeat an enemy, there are two interpretations. One, you're weak, or two, they're strong. We're talking minions, so we can discount the second option. Should you be feeling stronger at level 50 than level 1? Definitely. So to give that feeling, TtK on level 50 minions should actually be quicker. There's an iconic scene from the Birds of Prey comic where Black Canary is working out her shopping list while fighting off a pack of mooks - that level of enemy is so mundane and routine for her now she's literally doing it on automatic. While players shouldn't be bored fighting enemies, they should be able to (at a high level) plough through foot troops easily. So let's say about 3 seconds TtK for an "average" level 50 minion.

At the other end of the spectrum, how long should a giant monster take at level 1? Remember, if it takes a long time to defeat an enemy then either you're weak (you're level 1, sure that's fine) or they're strong (it's a giant monster, so yes again). So we have two reasons for it to be a hard fight. As a counter-balance, the player still has to feel like they're contributing. Each attack has to have a noticeable effect on the health bar (bizarre things like how big the health bar is also affect that - bigger bars mean bigger changes in health for the same attack - but that's outside the scope of this discussion). How long would you feel comfortable fighting a GM for, as a level 1 player before you'd get bored? That's a genuine question - I can't answer that for everyone else, so feel free to chip in on that. It should probably be a community poll question actually.

So now a level 50 player comes along. They are stronger, and they should feel stronger, so they should be able to do more damage to the GM, right? For the same GM, absolutely. The question is - how much more? If the difference is too much, then the level 1 player, even if they felt fine about their performance before, will now reframe it in the light of the level 50's damage and feel useless. But obviously if the difference is too low, then the level 50 player doesn't feel powerful and epic like they should. That sweet spot is something that will just have be tested and played with - math can't solve everything and that's very much one of those questions that'll need a lot of real-world testing to determine.

Why did I bother with all of this if my answer was, "We'll have to test it and see?" Because where that answer lies determines how you scale damage in a mentor (or GM) situation. And that'll be my second post.
[ quantum sufficit / casual-tempest.net / My Combat Mechanics Thread ]

User avatar
gemini
Posts: 88
Joined: Mon Oct 22, 2018 9:36 am

Re: Your Devs Ask You

Postby gemini » Wed Feb 13, 2019 6:58 am

They may be seeing the same boss on paper, but the level 50 has far more resources to fight with, so he does more damage, and takes less damage relatively, compared to the level 1.
GladDog was spot on with his big wall of text from what I remember. Adding to this - side-kicking and exemplar seemed to work the same way as well.

I used to do a lot of lower level task forces with friends or to burn off debt, and one thing I remember is that, while it disabled the powers I hadn't picked up at the level I was scaled down to, I did seem to have all of my enhancements and slots active so my powers were much more effective - I always thought that was very cool - it gave that "The experienced hero is holding back, but is still highly skilled" vibe to to the gameplay

User avatar
JestersGhost
Posts: 841
Joined: Sun Dec 25, 2016 4:39 pm

Re: Your Devs Ask You

Postby JestersGhost » Wed Feb 13, 2019 7:09 am

The level 50 has three reasons to do more damage than the level 1. One, they have loads more augments in the powers, potentially doubling the damage output of each power. They have better powers - powers from the top of a powerset will likely have higher base damages. But three, they have more powers - without slotting anything into them they'd do more damage than the level 1 player simply by having a complete attack-chain.

All three of those combined mean that without any scaling a level 50 player does more damage naturally. How much more damage depends on the exact calculations and numbers in augments. Let's throw out some rough numbers for illustration however (N.B. there are massive assumptions in the following, the power examples I give are purely examples, and do not bear any resemblance to actual powers, living or dead).

Level 1, you could have four damaging powers - two primary, one secondary and one default basic, zero-cost, ranged attack everyone has. One primary is a quick, low-damage attack, the other is a longer-recharge higher damage attack. Your standard one-two combo:

10-damage, 3-second recharge
20-damage, 6-second recharge

So, click, half-second animation time, click, half-second animation time, and you've done 30 damage in a second (in a perfect world, there'd be lag, etc. in actual gameplay but for our purposes we'll ignore that).

You're secondary power is probably more utility based, with strong secondary effects, so will have a much longer recharge for it's damage:

15-damage, 9-second recharge

Finally the "holdout" power might be something like:

10-damage, 6-second recharge

Assuming a half-second animation time for both again, that's another 25 damage in the following second, for 55 total damage in two seconds.

Now, however, you have to wait for a second before your first primary power is recharged. After animation, we're looking at 65 damage in 3.5 seconds, and a 2.5 second wait before any more powers are back. At 6 seconds in, your second primary power is back, and your secondary power, and after those animate, your first primary power again. And so on. It'll basically even out to about 11 damage a second.

At level 50, we can do the same calculations with a full attack chain and higher level powers. I won't go into the same breakdown, but 50 damage a second would not be unreasonable. And that's just the difference from having a better attack chain.

A high level damage augment might add 20% damage. Even including other augments for accuracy and endurance, it's well within the realms of possibility to double your damage output with augmentation. So a level 50 player could easily do ten times the damage per second of a level 1. Which sounds a lot until you remember that teams can have up to ten players. So without any level scaling, a full team of level 1 players could do the same DPS as one level 50. Sure, they'd all die a lot quicker too (everything we've said about TtK applies to the damage players receive as well, but that's for a later post), but this why CoH had to rush the infamous "purple patch" to exponentially scale damage with level difference because the initial values weren't strong enough.

And here's the rub - with no level adjustments a level 50 does ten times the damage of a level 1. Which means versus a GM, with no artificial scaling, the level 1 will feel useless since their damage is being vastly outstripped. But outside of GM fights, a full team of level 1's can match the DPS of a level 50, which would let them solo content way above their intended level. So the damage differential is both too much and too little at the same time.

So, we need a method of scaling damage so that differences in level make a massive difference, but anything at the "same" level (whether actually or artificially due to mentoring/GM effect) receives the appropriate damage for that level (remember, minions at level 50 should have a much lower TtK, for example).

And so, the next post...
[ quantum sufficit / casual-tempest.net / My Combat Mechanics Thread ]

User avatar
JestersGhost
Posts: 841
Joined: Sun Dec 25, 2016 4:39 pm

Re: Your Devs Ask You

Postby JestersGhost » Wed Feb 13, 2019 8:21 am

Let's deal with the appropriate to the level issue first.

We have to ensure that a level 1 (or team thereof) can't handle content too far out of their level range. Assuming the scaling of damage is linear between level 1 and 50 (which, unmodified, it approximately would be), a level 10 does twice as much damage as a level 1, and a fifth of a level 50's. Which means, unmodified it would only take two level 1's to match the DPS of a level 10.

What should the scaling be? CoH had the damage scale drastically after +/- 3 levels, giving a 7 level spread of possibilities. That feels about right, and might even be too generous. As an example of the sort of scale that would work (though there are many), +/- 1 level, you do 2/3 as much damage (and have 2/3 the defenses). At +/- 2 levels, you have 1/2 as much damage and defenses. At +/- 3 levels, a quarter. At +/- 4 levels, an eighth. And so on. It needs to be pretty drastic to avoid the combination of effects a full team provides (especially considering how strong buffs are) being able to match it.

So when mentored/mentoring, that calculation works off their current functional level rather than their actual level. That's simple enough.
If an un-teamed level 1 and level 50 are fighting the same GM, however, how does it work? One possibility is to always scale players to the upper/lower level of the zone they're in - low-level areas have restrictions on the powers heroes can use to avoid collateral damage or something, whereas high-level zones are already ruined/more robust/have less civilians in them or something. Then the GM is spawned at the mid-range of that zone, and everything "Just Works":tm:

Assuming the level ranges aren't huge, like 1-20, like, say, Apotheosis City. The level scaling above would then mean level 1's having to fight a level 10 GM, and doing 1/128th the damage (and taking 128 times more). That's not really an option.

The code basically needs to treat the "functional" level (the level used in the scaling calculations) of anyone fighting a GM as the same fixed level. Not knowing how the code of SoH is structured I don't know how easy that is to implement.

Code: Select all

Enemy.getLevelDifference(player)
always returns 0 for GM's or something.

So, are we done? Nope! Remember, with no artificial scaling, a level 50 still out-damages a level 1 by a factor of ten due to having more and better powers and augments. We need to close that gap when mentored and fighting GM's somehow. Not completely, but maybe so it's only a factor of three or something? Interestingly, that's about the same difference we suggested in TtK between a level 1 minion and a level 50 minion. Does that give us an angle?

Sadly no, because a) giant monsters aren't minions, and arguably should feel stronger and more epic as you level, so take longer at higher levels and b) there's not really any connection between the two scalings mathematically.

What you could do, however, is "over-scale" the functional level when mentoring/mentored. In our sample scaling above, a two level difference would result in four times more damage, neatly closing the ten times damage to something a bit more reasonable. That is, a level 1 mentored to level 50 is actually mentored to level 52, and we use the level scaling above to do our job for us.

The amount of over-level or under-level would have to vary on the actual level change you're getting from mentoring/being mentored, as you wouldn't want a level 40 being mentored to level 50 getting a 4x damage boost. Which means the scaling computation formula would have to be continuous to handle fractional level differences (don't worry if you have no idea what I just said there).

For GM's, it just means our

Code: Select all

Enemy.getLevelDifference(player)
method returns the appropriate over-under scaling too.

Congratulations to everyone who made it through that mammoth journey - a lot of it was background, but hopefully it means you'll understand the reasons why certain things wouldn't work, why it's actually a really awkward question and why I'm making the suggestion that I am.

And as always, any questions, comments and corrections are welcome :)
[ quantum sufficit / casual-tempest.net / My Combat Mechanics Thread ]

pheeonix
Posts: 27
Joined: Fri Dec 21, 2018 4:46 pm

Re: Your Devs Ask You

Postby pheeonix » Wed Feb 13, 2019 4:56 pm

I honestly can't remember , but ...
you know when you fight in an open world event you will see like a little buff icon
I would think it would be easier to put a buff on everyone , essentially making everyone the same level .
If you are in open world during the event , you would see a buff icon appear next to your stats .
this buff would make everyone in that area the same level . That way you don't have to scale the enemies .

If I am recalling right , all the enemy groups on the street ran inside or phased of the map . So the only enemies to fight would be the event enemies that appear . you would only have to do this if it was the entire map . If you had it to a specific zone , then the only people who would receive the event buff , would be the people in that particular area .

There may also be a way for the scaling buff to only work on event enemy spawns . Where the buff only applies to certain enemies . How you would code that ? I have no idea . If you could do that , then street mobs wouldn't have to phase out or run inside . The only problem is that event mobs might attack street mobs , which I am not opposed to watching lol . Its kind of fun actually .

I would think the easiest way would be to make the enemies a standard level , and grant a event buff making everyone participating the same level . That way you aren't having the engine try to calculate enemy spawn levels . I would think that would cause lag

As far as scaling OP powers , I say nerf some of the stats for the event . An event is supposed to be something you do together because its fun . If you are going there to show off how big your dick is , then you are not getting the point of an event . It's not to show how OP you are , its about doing something fun with lots of people . It should be something that grants badges , accolades , and temp / permanent powers . Its supposed to be fun , so you want to do it over and over . Its not about showing up and showing how awesome you are so people think you are like this OP god or something . Just scale powers up and down and make it an even playing field , and have fun .


Return to “Ask the Devs”

Who is online

Users browsing this forum: No registered users and 3 guests