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 ➜ [ROM] Alternatives to AD&D style combat?

[ROM] Alternatives to AD&D style combat?

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


Posted by Rapture   USA  (13 posts)  Bio
Date Tue 31 Aug 2010 05:59 AM (UTC)
Message
I'm trying to decide on a new combat system for my ROM based mud. I never liked THAC0 when I played AD&D back in the day, but I feel a d20 system really isn't designed for level caps above 30-ish. Moreover, it limits my options in the future if I decide to add tiered classes/races. I'd really like to come up with a scalable combat system, but don't know where to start my research. Not many muds out there give out there concepts for combat systems and I'm really only familiar with C/C++. Looking through other codebases hasn't been very fruitful.

Here are some of the ideas I'm considering:

Stick with current "turn based" system for now.

Attributes:
Remove the stock cap at 25 each
Implement a d20 style algorithm for attribute bonuses:
bonus=attrib/2-5; //(i.e. Str of 20 = +3 bonus)

Redesign defense concept:
Maybe armor class becomes a modified damage reduction system. Attributes affect evasion/counter skills. Spells that affect either are primary attribute based (for concentration and saves by opponent). Things like that.

Magic:
Completely remove AC based magical saves and use attributes, class, level, experience with specific magic (on both sides of fight), and some luck.

Offense:
Class, level, and attributes would be a large part of offense. I never liked the d100 chance system on ROM and it is not scalable enough for my taste. If I can come up with a linear or elliptical that might be best.

Skills/Spells:
Offense/Defense capability would be largely affected by skill rating (if I remove percentile based knowledge). For example, a level 10 thief who has mastered daggers to 100% (or rating cap for their level) would have a major advantage over a level 15 fighter who is only 50% as knowledable. Of course, the fighter would have other things in their favor. Spellcasters would have a similar scenario.

I want to remove experience points from the game entirely and make levels based off of mastery of your class and race. I feel a fighter who has spent more time focusing on mastering swords, enhanced damage with swords, and extra attack skills with swords is more effective than someone who just mind numbingly types "kill monster, loot corpse, heal, rinse, repeat". I plan on achieving this by adding some synergy to skills and rewarding players who utilize their class to the full extent. Still working on this one in my head.

Mobiles:
I plan on making MOBs and players exactly the same, but providing a scripting/template system for builders to use to make MOBs more challenging in combat. Make it so builders can decide on the fighting style of the MOB they spent so much time creating in their heads. LUA sounds yummy, but I'm not sure. My experience is not at that level yet. Moreover, if an immortal wants to "switch" over to a MOB and become the weapon of destruction, they can play it just like a player would any class. It always bugged me that MOBs and PCs were so different. MobProgs did help, but I think more headway can be made. Granted, there will be some slight data structure hurdles.

I also think by doing this, it will give players a chance to "control" mobs for quests and events without the fear of damaging their character. Can you imagine the fun that could be had if some immortal ran a quest where a player could be transformed into a dragon to infiltrate some dragon horde and slay the leader?!?!

More to come as I think on this one.

Items:
This is a huge nightmare in my mind. I want to make it so the only thing a pfile would have is a unique ID of an item and any enchantments applied to an item. This would make for a much more manageable system of balancing equipment IMHO. Similar to blizzard's approach in their games. Only "gems" or "enchanting" can improve an item and only by a very small amount.

I actually like a lot of Blizzard's concepts for items and might emulate something similar. I also want to leave some room for that old D&D feel with things like extra-dimensional pockets, user created gear, and things like that. It will be a balancing act for sure. That's a bit beyond the scope of combat at the moment, but there you have it.

Combat Environment:
Shouldn't rain and mud make for some interesting challenges on and off the battlefield? Shouldn't sweltering heat wear down the most seasoned warrior? Shouldn't one be able to adapt to these things to give themselves an advantage? This one is probably going to be saved for last, but something I feel needs to be addressed.

Cover and concealment would be nice to have, but something that is probably beyond the scope of a text based game.

Finally Roleplaying and combat:
I few places I've played, there have been very strict rules on player killing and roleplay. None of them had anything for PC vs NPC. There isn't much that CAN be done here other than inventing a true AI (dream on, right?). I do want to incorporate something so that group RP that involves taking down an NPC (or player controlled NPC) can bring forth some adventure and challenge. Everyone likes a good puzzle eating away at the back of their mind while they try and track down some elusive object some MOB wants them to go get because they are too lazy to get off their butts themselves. Right? Why not implement that too?



This is alot of ideas to be done on a codebase such as this. It probably warrants a codebase from scratch, but I like a good challenge. :)

Comments, rotten tomatoes, thoughts?

-Rapture
Top

Posted by Serenity   (18 posts)  Bio
Date Reply #1 on Tue 31 Aug 2010 06:33 AM (UTC)
Message
A lot of good ideas. I've implemented a combat system that's more or less based on World of Warcraft (the Combat table).

Design decisions i've taken:
- Mobs/players have levels (this makes balancing a lot easier, because you can refer to level).
- there are around 100 levels.
- A (well-equiped) player should be to take on a mob that's around 5 levels higher (max)
- lower level mobs should become a lot easier.
- The last two rules cause the rules to be assymetric, so mobs/players are not the same in combat rules.
- The amount of 'power' a player can get from items/spells is 50%. So the difference between a poorly and very well equipped player is 100 vs 150. So items are very important.
- The amount of 'gain' from items of lvl x lessens as the player gains levels. So [lvl 10 gloves of dodging] could give +10% dodge at lvl 10, but only +5% at lvl 20. This makes sure the player needs a constant stream of new items.

I've written a combat simulator that just takes 2 mobs/players and runs combat 10000 times to see the outcome. This helps balance the complex number system.

Top

Posted by Nick Gammon   Australia  (23,166 posts)  Bio   Forum Administrator
Date Reply #2 on Tue 31 Aug 2010 06:34 AM (UTC)
Message
These are fantastic ideas, and I agree in general with looking at the way Blizzard have done things. Not so much to copy, but because it has stood the test of time, and a lot of smart players with their spreadsheets checking everything is fair.

It is mind-numbing to go onto their forums and see that people complain that they have worked out that a certain spell "procs" 1% less often than advertised, and things like that.

There are also interesting revisions they have done, for example to move from additive enhancements to multiplicative. In short, an additive enhancement can become ridiculous (eg. give more than 100% bonus) but a multiplicative enhancement is likely to be fairer.

Another interesting idea (and Blizzard haven't done this) is to make the difference between levels, in terms of HP and power, much less. In their current system, level 80 players are so powerful compared to (say) level 20, that a single high-level player can come in and hold an entire town to ransom by killing all the quest-givers, merchants, and players, until other equally high-level players arrive to drive him off.

In practice, a single person would not achieve that (in the real world). It is like saying that a guy from Texas could come to New York and kill everyone there. Certainly they could cause trouble, but soon the armed response from the guards would contain them.

I'm not sure about removing levels, because you also remove a goal for players to aim for. But perhaps they can have other goals?

I think you are right about making players/NPCs very similar internally. Then players can control an NPC (or vice-versa) without major code complications.

Lua (not LUA) is worth looking into, that lets you script behaviors without having to recode the C part every time a builder wants to make a minor change. Aardwolf have done this and are very pleased with the results.

I like a lot of your ideas. Perhaps the only caution I would issue is not to make it *too* complex, although complexity adds depth, so it is a balancing act.

- Nick Gammon

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

Posted by Rapture   USA  (13 posts)  Bio
Date Reply #3 on Tue 31 Aug 2010 12:43 PM (UTC)
Message
I don't want to remove levels per say, just how they are calculated. For example:

To get Snuffy who is a level 1 mage to level 2, he has a set of goals. These goals might be to get 1 combat spell, 1 cojuring spell, and his read spellbook skills up to 80%. For Snuffy to get to level 3, he'd have to increase 3 different schools of magic up to 80% and have his wand skill at 85%.

This gives the player a much more manageable concept of what he/she must do to become a "stronger" player. I agree that having levels allows for a far easier time of balancing and tweaking.

I agree with Nick that making top level and low level characters so contrasting. Yes, a level 80 character would have a huge offensive and defensive capability, but no man is an island. Moreover, one person can only deal with a few "adds" at a time before they are overwhelmed.

I do like Blizzards idea of multiplicative bonuses, but I think things like "Increases attack power by 5%" should be something that is applied to a character trait/feature and not to an item. Then again, diminishing returns based on level do balance that out.

I like the idea of having a combat simulator (at least from a development point of view), but sounds very difficult to get right. I will look into that for sure :).
Top

Posted by Serenity   (18 posts)  Bio
Date Reply #4 on Tue 31 Aug 2010 01:45 PM (UTC)

Amended on Tue 31 Aug 2010 02:01 PM (UTC) by Serenity

Message
The level gain is still problematic. Currently i've set a 6% (hp, dmg, etc) per level. This does mean that a lvl 100 is 320 times as strong as a lvl 1. Hmm..

However with a fixed gain (+1), rising from 1->2 is a doubling, but from 99->100 it is not so spectacular.
While this could be the desired situation, The exponential gain does keep players hungering for more levels.

The 2nd hardest decision was how much influence to give to equipment/spells. Base level should matter, but more equipment power does give more playtime, since the player also needs to acquire better equipment...

I used to play Kobra mud, where if you were bad, the Terminator came hunting for you. Only if you were a real baddy, could you kill these. Also level caps on areas could help, but i personally don't like that. I do like the idea of a 'protector' for a mob. So if you are like >10 lvls higher than the mob, it calls its 'big brother'...hehe.
That could also be fun to play and gives an areas replayability..

Any thoughts?
Top

Posted by Rapture   USA  (13 posts)  Bio
Date Reply #5 on Tue 31 Aug 2010 05:14 PM (UTC)
Message
One trick I use to make player think they are far more powerful than they really are is to be a little deceptive with descriptive text during combat.

For example:

Level 1 Warrior vs Level 3 Monster:
Your slash barely scratches a monster. (in the code: -3 hp)
Your slash hurts a monster. (in the code: -5 hp)

Level 3 Warrior vs Level 3 Monster:
Your slash hurts a monster. (-5 hp)
Your slash devastates a monster. (-7 hp)
Your slash multilates a monster! (-10 hp)

To the player, they just see a more descriptive adjective and think "Ooooo, devastate, multilate! I rock!", but in the background, it really isn't that much more damage. This allows you to adjust balance alot easier by having smaller numbers for combat.

Now, the really deceptive thing is to use the same descriptive text based on level:

Level 20 Warrior vs Level 25 Monster:
Your slash barely scratches a monster. (-25 hp)
Your slash hurts a monster. (-30 hp)
Your slash OBLITERATES a monster!!! (-50 hp)

I do this by saying the descriptive text is based on the percentage of damage again the monster's max HP. For example, 3% damage = scratches, 5% == hurts, 10% == obliterates, etc, instead of a set number of damage. This allows for more flexability when we deal higher level players against lower level targets. It also seems a little more realistic when you consider a dragon receiving damage is barely a scratch, but when a moth recieves the same amount it would literaly destroy them.

In this way, it makes life easier on the developers by keeping numbers low and not having to deal with the "exponential increase" you often see at higher levels.

As far as equipment, I feel that coming up with a tier style system for the potential power of a player will help facilitate deciding on bonuses. Also, you need to account for what their "equivalent level" would be wearing said gear. This is all dependent upon each level increases a player so you don't end up with a level 10 warrior wearing the best gear beating a level 15 warrior wearing average gear. Let's say each level a warrior's offense increases by 2% and their defense increases by 4%:

(Compared to level 1)
Level 10 warrior: offense = 120%, defense = 142%
Level 15 warrior: offense = 132%, defense = 173%
Difference: offense +12%, defense +31%

So if we decide the best gear would provide an equivalent level of +5, then the stats on it should not exceed +12% offense and +31% defense. Obviously there will be other factors to account for like when warriors reach certain landmarks due to new skills and how that affects overall offense/defense. This still gives you a good foundation to start with and tweak as needed.

Moreover, by using a base 2% offense per level, every level, can make for some interesting results at higher levels. I instead would say levels 1-10 provide +4% offense per level (just to keep them interested). Levels 11-15 would be +3%, levels 16-20 would be 2.5%, and so on as per some type of performance curve. This would be easier by just saying a level 100 player has x% more offensive output than a level 1 and do a curve from that. This may not be suitable in practice though... similar to communism maybe...



This is a fun discussion, but I'm kinda getting away from my original intent of this thread. Can you provide some alternative combat system instead of THAC0 and d20/100?
Top

Posted by Rapture   USA  (13 posts)  Bio
Date Reply #6 on Wed 01 Sep 2010 06:17 AM (UTC)
Message
THAC0 is officially gone from my rendition of ROM! YAY!

Working out the kinks in current system, but it is basically hit chance vs dodge chance vs parry chance and armor is damage reduction. I'll post specifics tomorrow.

*Note to newbies, BACKUP ORIGINALS!* No, I didn't make this mistake this time...
Top

Posted by Serenity   (18 posts)  Bio
Date Reply #7 on Wed 01 Sep 2010 06:29 AM (UTC)
Message
OK back to the combat system.
The things i wanted in a combat system that were not in D&D:
- should scale to more then 20 levels, but works for between 50 and 100 levels.
- there should be lots of possibilies(read: numbers) for skills/items/spells to boost/hinder. This allows you to create mobs that 'feel' different instead of being a bag of hp's.
- mobs have 1.5 times more health then an average player
- players do 1.5 times more dmg then mobs

So each mob/player has the same stats. The main ones are:
- attack (base: 5/lvl)
- defense (base: 5/lvl)
- health (lvl1-10: 10+3*lvl, then +6% gain/lvl)

There are also stats for:
- dodge
- parry
- block
- parry
- armor
- crit
- dmg (speed, min-max)

When making an attack, the attacker-defender values are compared and an 'Attack Table' is calculated. For same stats mobs, the tables becomes:

30.0% miss
5.0% dodge
0.0% parry
0.0% glancing blow
0.0% block
5.0% critical hit
0.0% crushing hit <- only for mobs->players if mob.lvl > 5+ player.lvl
60.0% normal hit

critical hit: 2-3 X dmg
crushing hit: 2-3 X dmg
All the % that are 'left' are normal hits. These can become 0%

What i still haven't decided is how to handle armor effect on dmg.
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.


29,351 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.