Manual combat lag sensitivity

 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
chaos



Joined: 24 Aug 2007
Posts: 35
Location: New Jersey

PostPosted: Sun Jul 06, 2008 9:56 pm    Post subject: Manual combat lag sensitivity Reply with quote

So in the whole automated vs. manual combat thing, I've always been worried about combat that's manually actuated and rewards player skill and reaction time winding up disproportionately rewarding a good network connection; it seems like lag in manual combat would be considerably worse than lag in automated combat. (Referring only to net lag here; server lag makes no difference.)

Would any proponents of manual combat (I'm aiming this at KaVir but am happy to hear from anyone) care to give me their perspectives on this? If there are solid ways of addressing the issue, that would make manual combat a good bit more appealing to me.
Back to top
View user's profile Send private message Visit poster's website
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Jul 07, 2008 9:14 am    Post subject: Reply with quote

I can't say I've found it to be an issue, to be honest. At least, not any more of an issue than on muds with automated combat.

You type in the attacks you want to perform and they get added to a queue. Once you've enough action points to perform the attack, it gets popped off the queue and executed.

As each attack usually takes 2-3 seconds to perform (assuming you've enough action points), and you're likely to have several queued up, even a delay of several seconds wouldn't necessarily result in fewer attacks - and if it did, you'd still continue earning action points, which would allow you to catch up afterwards (i.e., in the long run you'd still get the same number of attacks).

The only real problem is if you're disconnected and unable to reconnect, as once your queue has emptied you'll no longer attack at all (although you'll continue to defend yourself). Fortunately death isn't a big deal on my mud, so this isn't really a major concern for me. But for muds where this is a problem, you'd probably want to have the link-dead character utilise some sort of basic automated combat.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Kelvin



Joined: 08 Apr 2007
Posts: 10

PostPosted: Thu Jul 10, 2008 1:39 am    Post subject: Reply with quote

BattletechMUXs are completely manual in that attacking isn't queued and all steering and movements require direction. Lag used to be somewhat of an issue on dial-up, but with connections the way they are now, it's more or less a non-issue.

You do get the rare disconnect or lag spurt, but it's hardly a problem at this point.
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu Jul 10, 2008 12:14 pm    Post subject: Reply with quote

Kelvin wrote:
BattletechMUXs are completely manual in that attacking isn't queued and all steering and movements require direction.


I would argue that the lack of command queuing results in combat which is less manual. If commands can't be queued, then input speed would have a huge impact on the outcome of a fight. As a human can never input commands as fast as a computer, people who used scripts would have an advantage over those who typed their commands by hand. You'd effectively be discouraging manual combat in favour of automated combat.

With command queuing, manual combat is more viable because it isn't at a disadvantage.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Kelvin



Joined: 08 Apr 2007
Posts: 10

PostPosted: Thu Jul 10, 2008 2:06 pm    Post subject: Reply with quote

KaVir wrote:

I would argue that the lack of command queuing results in combat which is less manual. If commands can't be queued, then input speed would have a huge impact on the outcome of a fight. As a human can never input commands as fast as a computer, people who used scripts would have an advantage over those who typed their commands by hand. You'd effectively be discouraging manual combat in favour of automated combat.

With command queuing, manual combat is more viable because it isn't at a disadvantage.

As an outsider to our setup, I can see why you'd think that. If this were something room-based, then you'd definitely have a point. However, it's not. BattletechMUXs have been around for close to 15 years now, and there have been next to no scripting problems for a few reasons:

BTMux probably has one of the most (if not the most) un-questionably complex combat systems of any codebase in MU*'dom. This is not me being arrogant, go play one of these things and you'll see why. The base represents over a decade of continual development in what is a very complex game, even when played in its traditional boardgame format. You've got a 3D coordinate plane, a bunch of different unit types (each with their own rules), hex-based maps/terrain, and a large portion of FASA's Battletech rules implemented in a real-time format. The sheer complexity of engaging in combat would mean it'd take you an extraordinary amount of time and effort to script something for minimal (or no) gains.

Twitch reflexes do come into play sometimes in short range situations with extremely fast units (which lack firepower), but due to recycle times for certain actions, the benefits seen by even scripting firing after cycling are almost nil. With some of the bigger weapons taking as long as 30 seconds to recycle, an extra half-second response time doesn't get you much at all (assuming you're able to get your shot off without a hitch).

Furthermore, firing weapons generates heat, over-heating results in explosions and shutting down. To further complicate things, your heat dissipation capacity is reduced by environmental conditions, damage to your unit, being hit by certain weapons, and a number of other things. Perhaps you lose a heat sink right before your auto-fire script shoots, and find yourself cooked. Or your auto-fire script triggers, but your target has ran out of your Left Arm's firing arc and you can't turn fast enough to face them (they can continue to run circles around you, confusing your script). There are just too many variables to account for, and your ability to respond to them is limited by your unit's characteristics. Your theoretical script also can't really act on what you know about your wingmen to better support their efforts.

Pathfinding alone would take a very long time to even get servicable with a client-side script. Nobody has succeeded in this to date, it's just monstrous. You have to account for your position within a hex, your position on the map, and the often slow turning radius of the units you'd be scripting. You also have to worry about stacking (too many units in one hex), and crits that restrict your movement (hips, actuators, engines, gyros).

The absolute closest we've came to scripting is several attempts at a hardcoded AI for TPs and whatnot. Even with full un-restricted access to the game's internals, this is a very complex undertaking that is still only capable of basic actions, and still can't think tactically for itself. The AI typically have absolutely no chance (even with their "flawless" management of arcs, instant firing after recycle, and reasonable heat management) due to not being able to account for special situations that we as humans handle easily.

So really, the notion of this being less manual is laughable for those that have played one of these things before. You've made a generalization that definitely doesn't hold true across the board. You'd be correct if this was just a point and shoot type deal, but it's really not. This is one of those situations where the best way to make scripting a non-issue is to make it so there is no real benefit to doing so.
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu Jul 10, 2008 3:09 pm    Post subject: Reply with quote

My mud isn't room-based either, and my combat system is also highly complex (although whether it's more complex than BattletechMUX isn't something I can comment on, never having played said mud). But neither point actually changes the simple fact that if there is a benefit in automating something, people will automate it.

There are certain muds out there which have a manual combat system, but where players are required to write (or even purchase) scripts to handle almost the entire combat for them if they want to compete. This strikes me as counter-productive, as it pretty much undermines the concept of manual combat.

Thus I think a more valuable distinction isn't so much whether the combat system utilises manual combat, but rather, whether or not it is viable to play manually.

And that brings us back to chaos's original question. If lag puts you at a severe disadvantage, that suggests that reaction time plays an important role - which in turn suggests that scripts and/or triggers could be used to give the player a big advantage, reducing the value of manual activities. Thus in my opinion, in a well-designed manual combat system, a small amount of lag shouldn't have very much impact.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Kelvin



Joined: 08 Apr 2007
Posts: 10

PostPosted: Thu Jul 10, 2008 3:26 pm    Post subject: Reply with quote

KaVir wrote:

And that brings us back to chaos's original question. If lag puts you at a severe disadvantage, that suggests that reaction time plays an important role - which in turn suggests that scripts and/or triggers could be used to give the player a big advantage, reducing the value of manual activities. Thus in my opinion, in a well-designed manual combat system, a small amount of lag shouldn't have very much impact.

I agree with everything aside from reducing the value of manual activities, our setup thrives on such things. A well-designed manual combat system shouldn't degrade the value of manual interactions (that's the entire purpose of such a setup), but I do agree that it should be designed in a way that it's playable on dial-up.

For example, we make you set your heading via a command, then change your desired speed by a command. You need to be adjusting your heading somewhat regularly when fighting between buildings or nasty terrain, and we like this because it's actually pretty cool to see. However, you typically won't be any worse for wear if your heading change is delayed a second or two (worse case scenario -- bad dialup). So while the command to change headings is extremely valuable, most of the units move slow enough to where you have some time to see a wall coming before you run into it.

So I guess it then becomes an issue of pace. The time-sensitive things should be in such a way that you have some advanced notice of things YOU need to do. For example, I fire my Long Range Missile and I know it won't be available for about 30 seconds. I know that if I'm lagging, I need to get be ready to get that command out before then (which we just don't have to deal with on modern connections). I can also see a large tactical map to make sure I'm not in danger of running into anything for a while. The pace is as such that you have time to see something coming, and can still react to it without needing cat-like reflexes or 140 wpm l337 typing skills.
Back to top
View user's profile Send private message
Author Message
shasarak



Joined: 29 Jun 2005
Posts: 134
Location: Emily's Shop

PostPosted: Sun Jul 13, 2008 12:50 pm    Post subject: Reply with quote

Lag wouldn't be much of a problem in a turn-based system.
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Jul 14, 2008 12:57 pm    Post subject: Reply with quote

shasarak wrote:
Lag wouldn't be much of a problem in a turn-based system.


I agree that it wouldn't usually be much of an issue, but the impact of lag would obviously depend on the specific implementation.

For example I've added a turn-based war minigame in which each turn lasts 30 seconds, and each player can perform 3 actions per turn. Yet players will often fail to use their full 3 actions, because they can't make their decisions fast enough - so trying to play with a slow connection can prove really quite frustrating.

With the manual combat system I described in my first post, you accumulate action points continually, and can spend them as and when you wish. But with my turn-based system, should you fail to use your 3 actions by the end of the 30 second turn, you lose them.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign