[WIP] Gameplay design and balancing - CR1 - Freeyorp

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.

Its current use is for the continued development of the server and game it has always served: TMW Classic.

User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

[WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Rotonen »

Freeyorp stepped up for this.

Collecting things we've touched in this field so far for him to easily pick up and run the show his way:

http://forums.themanaworld.org/viewtopic.php?t=8486
http://forums.themanaworld.org/viewtopic.php?t=8728
http://forums.themanaworld.org/viewtopic.php?t=8712
http://forums.themanaworld.org/viewtopic.php?t=8713

So, here we go, should be a fun ride to start building out the core playing experience.
This message used to be meaningful.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Bertram »

Hi,

As I said more privately; I'm glad someone is on this.

As the the four threads are quite long readings to be up to, and keep track of,
may I ask if you could start by summarizing what's left to be implemented, Freeyorp?

Best regards.
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Rotonen »

Before jumping to implementation, how about "what is left to be, designed and scrutinized"?
This message used to be meaningful.
User avatar
Freeyorp101
Archivist Prime
Archivist Prime
Posts: 765
Joined: 04 Nov 2008, 09:17
Location: New Zealand

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Freeyorp101 »

Hi,

For this, it is my intent to take advantage of our existing tmwAthena framework and add and replace systems as needed to test possible mechanics for TMW. There are a few reasons I'm still using our athena for testing purposes as opposed to modifying a vanilla manaserv directly (as will be needed to be done in the mid stages of CR1) but the three main reasons are:
1) I'm far more familiar with our Athena platform than I am with the upcoming manaserv platform, so it will be faster to work with what I know while trying to familiarize myself with manaserv
2) It should finally give the players something to test after a long period where the team was focusing on finishing the server and merging the clients instead of content
3) A manaserv target would be a moving target as it is being worked on; our athena is relatively static

I created a repository [here], though I haven't been keeping it that up to date (latest local revision doesn't compile, I'll hopefully remember to push once I fix that)

Gitorious refuses to show my commit in my browser for some reason, despite many files in athena being far bigger than that patch alone and still being displayed.
However, the comment I made summarizes the changes made there quite nicely, so I'll also print that here so people don't necessarily have to make a local clone to get an idea of the changes made so far:

Code: Select all

    New Heal system. New system that executes new optional item scripts on character death. Experimental new damage reduction system. Experimental new max_hp formula.
    
    Old heal system should still be available through #ifdef's for comparative purposes.
    
    New heal system queues healing effects, sorted by the amount healed per heal tick.
    Heal tick length is now constant across all effects. Compile time option as to
    whether the current effect can be immediately replaced by the highest rate heal if
    a better one becomes available, or whether the old one has to finish first.
    Heal effects have a new field, indicating whether they dispell on damage. This
    option is per-effect, so some effects may be dispelled while others persist.
    
    The magic system and NPC scripting functions have been adjusted accordingly.
    All scripts making calls to a heal-over-time function will require an update,
    though there is a (VERY experimental) system to distribute the effect when
    the divisor is one.
    
    A new item field that specifies an optional script to be executed upon
    character death has been added. There is an experimental system for a script to
    send a return code indicating that the execution of other death scripts should
    halt immediately. To this effect, another field, indicating script priority,
    has also been added.
    
    The new damage reduction system makes damage reduction far more focused on
    proportional damage reduction than direct damage reduction. This also
    removes a distinction between equipment based def and stat based def.
    The damage is split, so some part of damage will not be blocked by this reduction,
    but instead must rely on a small random reduction based on vit, and simply having
    a lot of hp.
    
    This split does not scale well; alternative methods of splitting this are being
    worked on.
    
    The max_hp formula is being revised significantly; giving orders of magnitude
    more hp as to better scale incoming attacks, and to compensate for effective
    natural regeneration nerfs.
    
    Due to the alterations of many of the systems here, the server data accompanying
    this will also need to be changed significantly.
    
    A new function for the magic system, op_damage, has been added to replace calls
    to itemheal with negative arguments to cause damage.
Yes, I completely forgot to stage my changes into separate commits. :oops:


I notice that vanilla manaserv disables regeneration while in combat. While regeneration that high would be a problem in combat, isn't the root problem that natural regeneration is too high? I would like consumable healing items to be used more for such things. Having characters being naturally self-sustaining doesn't make for that interesting gameplay - in my opinion, it is quite the opposite, and led to the `monster conveyor belt' experience grinding that seems to be so common in our current tmwAthena server. :|

Merely significantly increasing the damage dealt doesn't seem right either, judging by the tmwAthena battle logs - specifically, certain areas of the graveyard. Characters with sufficient damage reduction are fine, but those without are utterly destroyed by it. Not that there can't be areas where this is the case, as it encourages specialization, but it can't be used as a general solution.

I've implemented a possible solution as described above, but it will still need testing before I can decide whether to use it for TMW or not.


---Freeyorp
(09:58:17) < tux9th> Freeyorp: your sig on the forums is kind of outdated
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Rotonen »

The scope of what is to be implemented for CR1 is basic one-handed (unarmed + daggers) melee combat and combat skill progression up to a given "level limit". I'm unsure what a level limit would mean in our context.

Also, is taking eA as a starting point really all that useful when we have this non-related gamesystem we've been talking about for years?
This message used to be meaningful.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Bertram »

Hi,

Ok, so we've got so far development and discussions about:
[tEa = tmwEathena]
Level cap (Available in ManaServ)
Weapon skill (Available in both)
Item-equipment (both)
Monsters drop (both)
Regeneration stopping while in combat (Manaserv only)

And here, we've got:
New heal system (tEa only)
Script system upon death (tEa only)
Proportional Damage reduction (tEa only)
(inventory ?) Split (tEa only)
Max HP calculation (tEa only)

An interesting thing is that I don't remember if we can scale the regeneration level, and stop it or rescale it on certain maps under Manaserv, and maybe Crush can lay a hand about this.

As I'm in favor of bringing a functional server with the best features possible with Manaserv, I'd be glad if you could point out missing features or design questions so we can have a look at them and add what's agreed and necessary in the new server.

Anyway, any attempts to bring a better gameplay experience is IMO very appreciated, whatever server you're using.

EDIT: I'm willing to create a manaserv-data and a mana-data repo with testing data, attempting to clone the CR1 content under Manaserv.

Best regards.
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Rotonen »

Bertram wrote:Hi,Level cap (Available in ManaServ)
Weapon skill (Available in both)
Level caps are available in both, not used in either yet.
There is no "weapon skill" in eA. There would be specials, but those are not tied to weapon types either.
Bertram wrote:And here, we've got:
New heal system (tEa only)
Script system upon death (tEa only)
Proportional Damage reduction (tEa only)
(inventory ?) Split (tEa only)
Max HP calculation (tEa only)

An interesting thing is that I don't remember if we can scale the regeneration level, and stop it or rescale it on certain maps under Manaserv, and maybe Crush can lay a hand about this.

As I'm in favor of bringing a functional server with the best features possible with Manaserv, I'd be glad if you could point out missing features or design questions so we can have a look at them and add what's agreed and necessary in the new server.

Anyway, any attempts to bring a better gameplay experience is IMO very appreciated, whatever server you're using.

EDIT: I'm willing to create a manaserv-data and a mana-data repo with testing data, attempting to clone the CR1 content under Manaserv.

Best regards.
Healing, magic and all sorts of specials are outside of CR1. Unless we want to discuss how potions take effect. This is a more minor detail which can be attended to later on once we can agree on the very basics of gameplay mechanics: how does combat work. Damage reduction would fall into this category.

I believe we'll be needing a manaserv-data repo when mapping starts and the tileset progression is still blocking that.
This message used to be meaningful.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Crush »

Bertram wrote:An interesting thing is that I don't remember if we can scale the regeneration level, and stop it or rescale it on certain maps under Manaserv, and maybe Crush can lay a hand about this.
The HP and HP regeneration system on Manaserv is currently pretty broken - not in the technical but in the gameplay sense.
Here is the concept document:
http://wiki.themanaworld.org/index.php/ ... Attributes

Hit points: (vitality + 10) * (level + 10)
Hit point regeneration: (vitality + 10)² hp per minute


This results in (in my opinion) too many HP on low levels and too fast regeneration. Feel free to make better suggestions for these formulas. The implementation of these formulas (and all other derived character attributes) can be found in src/game-server/character.cpp, Method Character::modifiedAttribute.

External influences on HP regeneration (like locations with increased or decreased healing rate) can be implemented as status effects which modify the hp regeneration sub-attribute.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Kage
Manasource
Manasource
Posts: 929
Joined: 02 May 2009, 18:12

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Kage »

Crush wrote: Hit points: (vitality + 10) * (level + 10)
Hit point regeneration: (vitality + 10)² hp per minute [/i]

This results in (in my opinion) too many HP on low levels and too fast regeneration. Feel free to make better suggestions for these formulas. The implementation of these formulas (and all other derived character attributes) can be found in src/game-server/character.cpp, Method Character::modifiedAttribute.
I agree. I really like the formula Freeyorp came up with for eA. maybe we can modify it to fit ManaServ.
<Kage_Jittai> ... are you saying I am elite :D
<thorbjorn> Yes. :P
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Crush »

Can you please post the formulas?
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Bertram »

Hi,

I made an small piece of file trying to have a view about how the different attributes could evolve,
and I thought it could be useful to get a convention about how to straighten the different formulas where relevant.
So, I'm submitting it here:
Mana-Stats.zip
(13.72 KiB) Downloaded 170 times
Best regards.
Last edited by Bertram on 31 Mar 2010, 11:49, edited 1 time in total.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Crush »

Bertram, what formulas did you use for the HP values on the second page? Are these the formulas by Freeyorp Kage mentioned earlier or are they those used by Manaserv?

When it's the latter the HP formula is wrong.

Your spreadsheet uses

Code: Select all

Level x 10 + Vitality x 10
but the server and the documentation have

Code: Select all

(Level + 10) x (Vitality + 10)
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Bertram »

Hi Crush,

I replaced the bad formulas in the post above which were indeed, at least meant-to-be, manaserv's one.

I haven't looked at Freeyorp formulas, and I would be also glad to get them whenever I've got the time.
Between two use cases for the movement system, I'll try to provide balancing content.

Anyway, as attributes and derived ones always depends on the enemies you encounter, IMHO, we should now think about how much in total hp percentage a character with average equipment should be dealing to another equivalent one, how much it should be protected from damage, how much when dealing critical damage, ... and maybe try to find formulas reflecting that.

As a very basic proposal, I say that an average character with average full-set equipement should:
- Deal 8-10% of normal damage to another equivalent one's total HP.
- Deal 15-18% of critical damage
- Deal 12-14% with a special.
- Its armour should protect him/her from about 60% of damage, meaning that a naked one would receive 22-24% of normal damage without equipment.
- Its weapon should increase its damage of 60%, meaning that without any special techniques and no weapon, a character would deal 3-4% of normal damage to another armoured one, for instance.
- A simple Heal spell should heal 20% of its life.
...

Feel free to correct with the necessary amount of flames or rpg knowledge. I'd be glad to. ;)

Best Regards.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Crush »

I generally agree with you (with the exceptions that specials should be much more powerful (multiples of normal damage) and critical hits are currently not part of the Manaserv concept at all).

This means that a normal PvP combat would be over after ten hits. When we assume an attack frequency of two hits per second (attack frequency is something we don't have concepts for yet, btw) this means an average PvP fight would take 5 seconds.

Assuming of course that the target doesn't act at all (healing, running away, etc). 5 seconds for taking out an unattending target seems fair IMO.


Now how long should it take to recover from such a PvP fight? I am not a fan of long regeneration downtimes because they bog down the gameplay, but having them would add a strategic element.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: [WIP] Gameplay design and balancing - CR1 - Freeyorp

Post by Bertram »

I generally agree with you
:arrow: Cool! :D
(with the exceptions that specials should be much more powerful (multiples of normal damage) and critical hits are currently not part of the Manaserv concept at all).
:arrow: I'd be to add critical hits as it can change things a bit from time to time based on the player point of view.
As for special. Maybe I won't go too far into specials for now (as they do have a level, too, right?)
This means that a normal PvP combat would be over after ten hits. When we assume an attack frequency of two hits per second (attack frequency is something we don't have concepts for yet, btw) this means an average PvP fight would take 5 seconds.
:arrow: The hit per second is a value we should also integrate and scale based on yet another formula IMHO. Beginning from 1 Hit/Sec at level 1 to 2, maybe, or 3 at average level 100?
Now how long should it take to recover from such a PvP fight? I am not a fan of long regeneration downtimes because they bog down the gameplay, but having them would add a strategic element.
:arrow: Indeed, as we talked earlier about regeneration scaling (or disabling) based on the current player's map,
I'd say:
- Less than 10 seconds or instant for a sanctuary (or maybe "save points" or the equivalent of rune stones in tmw-ea, maybe).
- 1 minute or so in villages.
- 3 minutes in outer maps and dungeons.
- Something like 10 minutes in places known as "dangerous".
- No regen in very dangerous places.

As a reference (read "RegenScale" map Property equal to 1.0 "technically" speaking), I'll take the outer maps one.
so in a "normal" outer map, IMHO, it should take 3 minutes to regen completely with yet another formula to be found.

Feel free to comment.

Best regards.
Post Reply