Advertisement

Theoretical MMORPG combat feasibility

Started by November 18, 2010 06:12 PM
8 comments, last by Edtharan 14 years, 2 months ago
Hello Gamedev.net community,

I came up with an idea for a combat system in a MMORPG, but I'm not sure how realistic my idea is with today's technological limitations so I come to you for your thoughts.

1) PVP or Dungeon/Raiding areas with geography that changes with spells and stays changed for the remainder of the battle for all players in the zone.

Example of Implementation: A character who has power over the earth rips a boulder out of the ground (which leaves a crater) , lifts it over his head, and heaves it at an enemy.

2) Abilities that depend on a series of real time mouse input to execute/sustain.

Example of Implementation: A player binds another in magical iron chains. The ability has a standard active time of 2 seconds. The binding player sees a treasure chest show up on one side of his screen and must drag chains around the chest with his mouse pointer to keep the spell active longer than 2 seconds. The bound player has his own set of tasks to perform to break free faster than 2 seconds.

Thanks for reading, and I look forward to comments. Please know that I am no programmer, so a super technical explanation will go right over my head.
I don't see a problem with the first idea.

The second...

Actually sending the mouse data over the network seems silly for something that is basically UI glitz.

Unless your chain-yanking actually involves some kind of skill or decision making, the only thing the rest of the network needs to know is that you activated the spell.
Advertisement
Thanks for the reply :)

For the mouse data example, forget the chest. Let's say Player A casts a "shackle" spell on Player B. The spell is set to last 2 seconds. Upon a successful "shackle" two hanging chains and two locks appear on Player A's screen. If the player can successfully drag each chain to its appropriate lock within the duration of the spell (or amid other interruptions) it would add .x seconds to the duration of the spell and three chains and locks would appear and so on until the spell's finished or player A gets interrupted somehow.

This was just one example, but I hope I more clearly explained my idea.
1st idea - possible to create unsurpassable terrain (imagine removing lots of boulders making a huge hole or a gap), etc, etc which players could abuse.

2nd idea - easy to make client-side hacks to gain unfair advantage over other players (imagine program moving the mouse for you like 20 times faster than humanly possible).

Just don't take this offensively or anything, just trying to think of what could stop it from working. If such implementations would actually exist and wouldn't have the problems I mentioned above (and probably some other ones which I couldn't think of) I would love both of those features :) So for single player game they should work, but not for MMORPG.
Technologically, most things are usually possible. There are so many tools and gizmos and off-the-shelf kits and technologies and physics engines and so, so much bandwidth and computing power.

The thing about ideas is that really good ones can sound like junk when explained, and really bad ones can sound awesome until you try them.

So find ways to prototype ideas. If you're wanting to be a designer, prototyping is very useful.
Full terrain deformation (thing #1) is a really tough job technically. No off-the-shelf engine or component will do it for you.
Advertisement
Oh yeah.
I'd agree that terrain deformation makes the game breakable in ways your map designers will be unable to anticipate and counter. It's ripe for grief play and that kind of freedom is something that most gamers can't be trusted with. That's kind of why I like it. If there was a way to ensure that people wouldn't break stuff just to break it (I spent hours one day driving around in Crysis just shooting down trees for the hell of it) then the ability to totally hose yourself by fireballing an orc and burning a bridge, or causing an avalanche with your thunderstomp, would add incredible depth to a game, as would building ad hoc staircases out of rubble and dead zombies. It's a huge challenge, and you'd have to be pretty damn clever to make it fun without making it too exploitable.

As to the mini-games, the problems with that have already been stated. Server-side leads to lag, client side leads to botting. I remember reading somewhere that the Conan MMO had a mild twitch element to its combat, something about zones of attack and defense, and the script to guarantee 100% success in every trial was widespread inside of a week. Especially in the context of an MMO, where certain tasks will be performed thousands of times by each player, it becomes economical to dedicate some man hours to circumventing it. So some savvy coder will come up with a plug-in that gives you guaranteed max efficiency on your spell of binding, some other guy will have the other side scripted up, and every time you cast the spell it'll be reduced to a series of predictable progress bars that fill and restart while your magic powers flash around the room locking onto everything that can hold a charge, and then being severed just as quickly by the target's countermeasures. That actually sounds pretty cool.

Here's the compromise I suggest: Let both of these systems interact to make themselves work. For instance, if you cast the "Massive kinetic assault" spell on an enemy and get a critical hit, then the spell uses a nearby boulder to amplify the damage, ripping it from the ground and heaving it at the target. This leaves a crater, and semi-permanently deforms the terrain. You can't point at the rock and say, "Pick that up and chuck it," though. The event is semi-random, and you can't decide the specifics of what it does or how. That will virtually eliminate the grief play angle while preserving the effect of the battlescarred landscape and the altered terrain. As to the minigames, reduce them to a simpler format, say a paper/rock/scissors type thing, or a simple mana expenditure. I'm being shackled magically, I can spend some of my magic power to resist it. If I spend enough, I bust out. If not, it holds. The caster, meanwhile, can pump mana into the spell to boost it. At certain points in the spell's strength, though, it requires an anchor in the world, which is chosen in real-time by the system. SO instead of me lassoing a chest with my mouse, he just hits the "Take it to eleven" button and the spell arcs out and imbues a static object as part of itself. When the spell is ultimately broken, the objects that it has co-opted are affected in some way. Maybe when I bust out of the spell, the chest, a rock, and a stone pillar are blasted away from me, and the caster gets some feedback from the spell's termination. If it's a lightning spell and I overcharge it, it'll jump through all conductive materials nearby, gaining strength and possibly altering the objects. This makes the environment critical to magic, since the binding spell will be ineffective if we're both flying hundreds of feet above the ground, and a lightning spell will depend on the nearby materials for its success or failure.
Hey guys, thanks for the feedback!

Just to hear that this stuff is indeed possible puts a smile on my face :) Also, reading your responses helped me broaden my thinking when it comes to design in general (the real life application/people actively trying to break it part).

My answer to the question of implementing terrain deformation would be realism. Lifting part of the ground, even one 10 times the width of the character, would be very heavy so it would take a longer time to initiate and would take a lot of player resources (mana whatever) to pull off. But that's just my idea. Having a Half-Life 2 gravity gun approach to the physics of a MMORPG probably would have unintended consequences like Iron Chef Carnage said. Hell, I remember my first college roommate missed all his finals staying up the night before and making gliders with that gravity-gun in some mod. Not my cup of tea, but still interesting and intriguing.

The mouse input "mini-games" was something that I came up with to change the grind of battle and add involve players' skill in performing abilities. Clicking buttons and managing timing is fun and all, but in the end, it's sort of just button mashing until the millions of life points the enemy has goes down to zero. If hacking/using an addon would break that system, then I'll just have to think harder about it (which I don't mind doing at all).

I also really like the overcharging idea and the environment affecting the spells. The latter would especially add to the tactical side of a fight. Like if I specialize in lighting magic, I might want to lure an enemy into shallow water or keep them fighting on metal scaffolding so I can send electricity through the ground at them. And the race that would specialize in lighting magic would maybe be more accustomed to wearing metalic armor as part of the lore... The ideas are flowing :)
I came up with amagic system a while ago, that seems to fit what you are trying to do.

The idea was that spells could be "channelled". This is a spell that had a duration would last as long as the caster had manna. However, at any time the caster could end the spell so limit the amount of mana they were willing to spend on the spell.

Several things could change the rate of manna spent to sustain the channeling:

1) The number of spells channelled by the caster
The more spells the more each spell needed to sustain it. this mean that a geometrical increase in mana expendature would result from casting multimple spells. Sustaining two spells would cost more than just adding the costs of the two spells together.

2) Counter spells
Any opponent could cast a counter spell that increase the amount of manna needed to sustain a spell, however, this counter spell was a channeled spell too, so it would cost manna to sustain. It came down to who was willing to spend more manna to sustain their spells.

3) Environmental factors
Certain things in the environment would effect the amount of manna needed to sustain a spell. For instance, casting a fire wall spell in a hot region (say inside a volcano) would take less manna to sustain as there was a lot of the raw material around to begin with. However, casing an ice wall spell would requier a lot more mann to cast in that hot region because it was the environment was hot.

These combined in interesting ways as one could counter spell by using an environment changin spell (like fire wall against an ice wall). Also, counter spells, being channelled spells could also be counter spelled themselves.

I also allowed casters to channel manner into another caster (not 100% transfer and the better they were at the spell the more efficient the transfer). This way several mages could work together to keep a particular set of spells running, even against a determined opponent (there was even use for stealing man from allies, especially if thy were not casters for this same reaosn). The idea was to encourage cooperation between players.

This topic is closed to new replies.

Advertisement