Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUDs ➜ MUD Design Concepts ➜ Need input on an armor system

Need input on an armor system

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Dralnu   USA  (277 posts)  Bio
Date Tue 25 May 2010 06:00 AM (UTC)
Message
Long time since I posted here. Funny how life gets in the way of pass times and you find yourself doing something totally diffrent. Anyways, onward with the topic at hand!

Sorry for the long post. I tend to be verbose these days it seems.

I've recently rekindled my interest in MUD coding/design and have a few concepts I need input from others on, starting with a new armor system for a SmaugFUSS 1.9 system. I will outline my idea of the hit system somewhat as well so any obvious flaws can be noted.

My current plan is this: If a player succedes in an attack, then we go through the defensive skill list (dodge, parry, ect), then we get into armor. I plan on eliminating the current armor system entirely for 2 reasons:

1) I find it kludgy. You either hit or you don't makes little sense to me, since armor protects you from a hit, not totally removing it from the equation.
2) Limiting. I've seen MUDs that reached the max armor level and went well beyond (-300 being the effective limit while armor levels reaching into the lower -1000s). Something to try and future-proof this to avoid this issue would be preferable.

This said, I want to have armor reduce incoming damage by a specific factor based on the armor and weapon. An example would be Chain Mail. Chain Mail provides good protection against slashing weapons, but a little less against peircing (arrows, spears) depending on quality (butted ring, welded, riveted). Because it is flexible, however, it offers little to no protection against a blunt weapon (warhammer), and hence will reduce incoming damage from these weapons by nearly zero. Upon a critial hit, said armor would take damage to its durability and things would move on.

Onto a better example. Player A is wearing Plate Armor over Chain over Leather over Padded Armor. This provides alot of protection (mostly from the Plate armor and Padded, which in this case I will say offers some minor protection once damage is transmitted through), but weights alot. This weight will slow the player down considerably, meaning they will be hit more often but will take (significantly) less damage than someone else. It may also affect their ability to hit or make numerous attacks. Player B however has two weapons, a mace and a sword and wears no more than leather armor and a chain shirt. When Player B attacks Player A and hits with his sword, the plate armors high defense virtually eliminates all damage done, resulting in a useless hit. However if the mace strikes for X damage, exceeding the Plate Armor's defense, 1 point is taken from durability and the remaining damage transmits through (here the padded reduces damage because it is simply padding. Neither the Chain nor Leather offer any real defense in this case).

Now, as the Plate wears away during a fight Player B has an increased chance to critial against that layer of armor (transmite damage entirely through to the next layer).

Now from the other end, if Player A weilds a sword and a mace and strikes as Player B, the sword due to its lighter weight, strikes more often but deals little damage through to Player B, whereas the mace strikes less often (again, due to weight). Player B, in this case, is relying upon his defensive skills as his means of defense instead of heavy armor. Each blow deals more damage per hit, but the number of hits that will lands will be reduced.

My main question here is; Is there a major flaw in how I am thinking of handling armor? I'm planning on tossing armor into a Lua table (table in a table, to be precise), so seeing what is under what should be simple enough.
Top

Posted by KaVir   Germany  (117 posts)  Bio
Date Reply #1 on Tue 25 May 2010 10:53 AM (UTC)

Amended on Tue 25 May 2010 10:54 AM (UTC) by KaVir

Message
I handle armour in much the same way, except instead of giving an increasing chance of ignoring the layer completely the more damaged it gets, I just reduce the amount of damage it can soak from future blows.

One problem I had initially was that I used a flat soak value for armour. This scaled really poorly, with weak hitters unable to hurt heavily armoured opponents, and hard-hitters suffering only a minor reduction to their damage - so I changed to a percentage soak. However the percentage soak ensured that every blow did at least a tiny amount of damage, and I wanted occasional combat messages describing blows bouncing off armour, so in the end I introduced a secondary 'absorb' value which was a small number subtracted after the percentage soak reduction. I also provide 'armour bypass' bonuses to certain weapons and abilities, and this has required extremely careful balancing.

While designing my system, I realised that 'clothing' is really just another layer of armour. Okay, so a woollen tunic may not provide much protection against a blade, but if you're differentiating between physical damage types (such as the slashing, piercing and crushing you mentioned) you'll probably have other damage types too - and that woollen tunic may help quite a bit against a 'cone of cold' spell.

You gave an example of the body with four layers of protection. Don't forget that not all body parts will have that many layers - your hands or face for example. You'll need to factor this in somehow, particularly if players have a way of aiming, otherwise they'll never target the body. If you've got creatures with non-humanoid shapes (such as centaurs or dragons) you'll run into similar issues.
Top

Posted by Dralnu   USA  (277 posts)  Bio
Date Reply #2 on Tue 25 May 2010 03:58 PM (UTC)
Message
Yes, I am aware that some locations will be more limited than others (hands being a great example), however I hadn't thought of possible non-humanoid forms like you mentioned. Those will provide an interesting armoring issue, especially with creatures like Centaurs who have, in effect, 2 bodies (or would it be a torso and trunk?).
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #3 on Tue 25 May 2010 10:01 PM (UTC)
Message
Your ideas sound OK to me. My only warning is that the system might get too complex for the players.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Dralnu   USA  (277 posts)  Bio
Date Reply #4 on Wed 26 May 2010 12:25 AM (UTC)
Message
I don't see how or where this would be too complex, so if you can tell me about where you see a problem I would like to know.
Top

Posted by Nick Gammon   Australia  (23,133 posts)  Bio   Forum Administrator
Date Reply #5 on Wed 26 May 2010 02:40 AM (UTC)
Message
Your design is fine. I was just commenting that sometimes an overall system gets too complex. For example, in World of Warcraft, armor can give you things like:


  • Extra strength
  • Extra agility
  • Extra intelligence
  • Extra hit points
  • Haste rating
  • Block rating
  • Armor rating
  • Chance to crit
  • Resistances against (say) fire or cold
  • Chance to "proc" some extra occasional feature


You get to the stage where you aren't sure if item A is better than item B, because there are so many variables to consider.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Dralnu   USA  (277 posts)  Bio
Date Reply #6 on Wed 26 May 2010 02:59 AM (UTC)
Message
Those may be implemented sometime down the line, but with a somewhat limited scope (resist fire means susceptable to cold, with areas that are either fire or cold damage heavy). I will keep an eye on that in any case and try to keep items from being too similar.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


21,718 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.