Recommended Posts

First of all sorry this is another mmorpg thread, and sort of long. I'm not here to describe the game or ask for someone to build a dps system. I'm simply wondering if the damage system I have in mind is feasible from a programming viewpoint, more specifically if the system would have any hope ofworking quickly and efficiently with large numbers of players in a pvp system.

What I'm trying to do is break away from the "standard"weapon "dps" and "attack" power bonus granted on an ever increasing scale to higher level players, not to mention all the other stats that go along with it such as hit points/armor etc. The reason for this is that I'm trying tobuild a system where a level 3 for instance would have a fighting chance against a level 10 and not have to work against the normal compounding disadvantage vs higher levels.

Now what I have done so far is built a very simple and "standard" dps system as I described above. A solution in some games using that system is to simply "bolster" a lower level player's stat's so that they can compete with higher levels. However I find the control over that to be very limited as changes to the bolster are a global effect to a range of the character ability's. So if you find that one ability is not working as intended in a bolstered state, you either A. Change the bolster and possibly break itseffect on other ability's, or B. change the ability directly, and risk it being broken in specific circumstances unrelated to the bolster.

Hopefully I made that clear enough, I do believe I could make that type of system work if I had to, but instead I've been working on rough ideas for another system with more direct control. My immediate thoughts however are that it would be extremely inefficient and "slow" as a program.

Basically I'm looking at building a table for each ability which gives it a value or values, (and possibly max stat calculated value ranges)such as damage/healing for "each" level condition.

For instance you might have a sword ability called "Swordstrike". From the table its determined that "Swordstrike" before any stat calculations or random rolls will always do 25 damage to a level 1, 30 damage to a level 2, 35 to level 3 and so on. As mentioned above, that table might also include the max damage it could ever do regardless of final stat calculations. So In simplest terms,again disregarding any stat/random factors, a level 1 character hitting a level3 with "Swordstrike" will do 35 damage while a level 3 hitting level1 would do 25 damage.

Now let's assume you have maybe 10 classes and each has 15 damage/healing abilities, even at that point you're looking at a pretty large list of abilities and level vs level conditions, which then would need to be constantly accessed for every hit + all of the stat modifier calculations. Once you start looking at fights possibly ranging in size from 1vs1 to maybe 50vs50+, throw in AE's, all of this hitting multiple level ranges, I quickly became concerned about the efficiency of checking those values.

By my game design levels are split into tier's, so you're looking at level ranges of probably 1-15, 16-25, 26-35, etc that would befighting each other. This obviously minimizes the "range" of conditions, but they still need to be accessed, so that probably don’t really factor into my concerns.

In the end the way I intend this system to work is that a players gear is checked vs there level determining the final ability values. Stats are capped per level, and max stats on items are determined by item quality. So a level 3 in high quality gear for his/her level would be able to do fair damage to a level 10 in low or even higher quality gear. However regardless of gear, the higher level will have advantage in the way of level based resist increases, more advanced abilities such as debuff's, crowd control, or higher damage"positional" attacks, but the damage in either direction is still limited based on the table checks.

My programming experience is limited so maybe I'm concerned about nothing, but I'm hoping someone here can tell me if it’s a horrible direction to go in before I start devoting time to creating formulas or building any tables. I already know of some other issues I'm not positive I can work through calculation wise, but if it's going to be flawed at the core when it comes to speed ill start looking at alternate methods.

Thanks to anyone that cared to read through all that, and more thanks to anyone that can comment on the feasibility of the system.

0

Share this post

Link to post

Share on other sites

It's feasible, no need to worry about the speed. I wouldn't go with the table approach though. With your design goals in mind I'd go for damage based on a percentage of the target's base health and stats that increase that damage by some percentage instead of a flat value. If that wouldn't work out I'd probably replace the tables with formulas.

0

Share this post

Link to post

Share on other sites

There seem to be two processes going on, and at war with each other. The first is the "standard" combat system, and the second is a couple suggested limiters/modifiers to counteract that system. The goal is that combat between players ten levels apart will still be possible.

Another way to achieve the goal would be to change the level-up bonuses, so that the difference between combatants is reduced to the desired amount of similarity.

Share this post

Link to post

Share on other sites

Thank's guys, I had to work on some other unrelated things the last few days, but after playing around with numbers a bit more I think I can eventually do what i want with % modifiers.

Almost all of my work so far has just been in building the endgame, pvp, econ, resource, and craft systems, but I did need some kind of rough idea of the class stats since the crafting and resource systems tie into it so much.