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
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