Movement speed vs weapon reach
Goto page 1, 2  Next
 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu May 12, 2005 11:30 am    Post subject: Movement speed vs weapon reach Reply with quote

I've run into a a design flaw while developing my coordinate-based system, and would be interested to hear suggestions.

As it stands, every 10x10 feet has its own terrain type, which I'll refer to as a 'plot'. The ASCII map displays 5 of these plots in all directions - effectively 11x11 plots with the corners cut off - allowing vision of around 50 feet. The problem is that 50 feet is far too short for any sort of practical use, particularly when some weapons have a range in the hundreds of feet (a longbow can reach 900).

My original plan was to change each plot to represent 300x300 feet, which (conveniently enough) would allow people to see at least 1500 feet in any direction, which is roughly around quarter of a mile. Of course that would make movement incredibly slow, so that would have to be increased by a comparible amount.

The trouble then is that you'd have people moving dozens of feet each second, rendering weapon reach almost completely obsolete (who cares if your shortsword only has 2 feet reach while your opponent's longsword has 3 feet, when you're charging towards him at 90 feet per second?). As weapon reach was intended to play an important role in combat, this would obviously not be ideal. Furthermore, certain aspects of combat just wouldn't be able to handle it properly; two knights jousting would almost always end up riding past each other before their lances had the chance to strike. This could be fixed, but would require quite a lot of an overhaul.

It seems I'm going to have to make a choice between the movement system and the combat system, but I'm still hoping to find some sort of compromise that allows long line-of-sight without rending weapon reach useless. Any thoughts?
Back to top
View user's profile Send private message Visit poster's website
Author Message
Falconer



Joined: 11 May 2005
Posts: 16
Location: Paris

PostPosted: Thu May 12, 2005 1:20 pm    Post subject: Reply with quote

If the only real bump in your development road concerns long-range weapons, I seriously doubt that you would need to change your combat/movement systems to accomodate this. Instead, why not simply add a <scan direction> command which will search in the indicated direction and either:
A. Provide a much broader map of the terrain that lies in the direction, or
B. Come up with a list of possible targets in the direction.

Implemented properly, the scan command could be used for a variety of tactical strategies and could even influence new skills or abilitites. Perhaps a werewolf bearing the hawk-totum could have improved scanning abilities, as could the type of terrain. Standing on a mountain top would allow for greater scan abilities than standing in the bottom of a valley.

Due to the specific advantages of archery and long-range weaponry, the scan command could help offset this balance as well. Instead of having a PC merely wait for a target to come, they'd have to take a more active approach in locating prey.
Back to top
View user's profile Send private message Send e-mail AIM Address
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Thu May 12, 2005 1:52 pm    Post subject: Reply with quote

Quote:
If the only real bump in your development road concerns long-range weapons, I seriously doubt
that you would need to change your combat/movement systems to accomodate this. Instead, why not simply add a <scan direction> command which will search in the indicated direction and either:
A. Provide a much broader map of the terrain that lies in the direction, or
B. Come up with a list of possible targets in the direction.


Well ranged combat is part of it, but I also think it's a bit limiting for characters to only be able to see 50 feet in any particular direction (unless they're in a dungeon or something). A scan command would allow you to see further, but that's "active" - I like people to be able to "passively" see when other characters approach them as well (i.e., move into their line of sight). If I allow that option for the larger line of sight then it could get rather confusing, as the characters wouldn't show up on your map (although perhaps I could colour their name differently to indicate that they're outside of the normal map range?).

Quote:
Implemented properly, the scan command could be used for a variety of tactical strategies and could even influence new skills or abilitites. Perhaps a werewolf bearing the hawk-totum could have improved scanning abilities, as could the type of terrain. Standing on a mountain top would allow for greater scan abilities than standing in the bottom of a valley.


Hmmm, yes, I very much like that idea. Taking into account the terrain type you're standing on, the weather and the time of day, it should be pretty easy to have scans of varied sizes - I think I'd be tempted to keep them circular rather than direction-based, though. I'm also wondering whether it might be better to let people toggle between 'melee mode' and 'ranged mode' as far as their maps are concerned, or whether it'd be easier just to use a 'scan' command like you suggest...

Quote:
Due to the specific advantages of archery and long-range weaponry, the scan command could help offset this balance as well. Instead of having a PC merely wait for a target to come, they'd have to take a more active approach in locating prey.


That's one thing I'd rather avoid - I don't want people to have to keep typing 'scan' over and over on the off-chance that someone is galloping towards them just outside of the 50-foot range. However the 'move into sight' thing could certainly take into account factors such as terrain, movement speed, and so on - and perhaps some sort of "watch" mode might be worth considering. I think it'd be fun to have snipers crawling through the forest in order to ambush their enemies :)
Back to top
View user's profile Send private message Visit poster's website
Author Message
Iluvatar



Joined: 11 May 2005
Posts: 4
Location: MS USA

PostPosted: Thu May 12, 2005 2:07 pm    Post subject: Reply with quote

That <scan> can be a powerful function and has tons of good uses and bad functions that have to be compensated for. You can enable individual abilities like <hide> and <sneak> but then the scan would have to exclude those affected from being seen. I've been trying to no avail to get a <scan> ability for mobs to effectively use the ranged weaponry feature.

Yah, I know it causes an 'active' habit of typing scan but don't people usually glance around often to be cognizant of their surroundings? A tricky part might be to get a flavor of 'distance' as well as threat or reward incorporated into the message.
Back to top
View user's profile Send private message
Author Message
Alayla



Joined: 11 May 2005
Posts: 88
Location: Prague

PostPosted: Thu May 12, 2005 2:12 pm    Post subject: Reply with quote

Quote:
That's one thing I'd rather avoid - I don't want people to have to keep typing 'scan' over and over on the off-chance that someone is galloping towards them just outside of the 50-foot range.


Well, realistically speaking, you should be able to see a huge orc galloping towards you on his warbeast from further away than 50 feet. It really is something that will need more thought on a general level, not just related to ranged combat. And it also relates to the opposite side of the problem, where the more busy locations get very spammy, even with the 10 players we have now and with all spam filters on.

I suppose a reasonable approach would be making players (mobs, objects) visible in the description even if they're outside the map range - eventually based on sight perception - and introducing grouping when the number of players (mobs, objects of the same type) reaches a certain number. That, however, does not address the spam generated by people moving in and out of your line of sight...
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: Thu May 12, 2005 2:15 pm    Post subject: Reply with quote

Quote:
That <scan> can be a powerful function and has tons of good uses and bad functions that have to be compensated for. You can enable individual abilities like <hide> and <sneak> but then the scan would have to exclude those affected from being seen.


Well sure, but that's not a problem - you could base the chance of seeing someone on factors such as distance, stealth skill, perception skill, etc. It only really gets tricky if you want to start introducing memory, for example having a better chance of seeing someone hiding in the tree if you watched them climbing up it.

Quote:
I've been trying to no avail to get a <scan> ability for mobs to effectively use the ranged weaponry feature.


The main problem I have in this regard is that the mob AI is designed for melee, so the ranged mobs tend to try and close with their opponents. Other than that, I also have problems with mobs occasionally getting stuck around corners - other times they'll see you, come running towards you, lose sight of you as they try to take a shortcut, and then give up! The latter isn't really a problem as it gives the impression that they've run off, or are waiting to try and ambush you, but the former problem with pathfinding is starting to cause some headaches.

Quote:
Yah, I know it causes an 'active' habit of typing scan but don't people usually glance around often to be cognizant of their surroundings?


Quite possibly, but I don't like forcing a player to keep typing the same thing over and over. One compromise might be to that after you type 'scan', you're constantly aware of other people closing on you until you move. Thus you could climb to the top of the mountain, notch an arrow to your bow, type 'scan', and then just wait :)

Quote:
A tricky part might be to get a flavor of 'distance' as well as threat or reward incorporated into the message.


Well the map would give an idea of distance, and the messages themselves say how far away the person is. Trying to determine the thread is a bit more difficult, although if you see the message "Two hundred feet south of you, KaVir starts galloping towards you on his horse" the chances are you're probably going to want to run ;)
Back to top
View user's profile Send private message Visit poster's website
Author Message
Ashon



Joined: 11 May 2005
Posts: 86
Location: Seattle

PostPosted: Thu May 12, 2005 4:10 pm    Post subject: Reply with quote

KaVir wrote:


Quote:
Implemented properly, the scan command could be used for a variety of tactical strategies and could even influence new skills or abilitites. Perhaps a werewolf bearing the hawk-totum could have improved scanning abilities, as could the type of terrain. Standing on a mountain top would allow for greater scan abilities than standing in the bottom of a valley.


Hmmm, yes, I very much like that idea. Taking into account the terrain type you're standing on, the weather and the time of day, it should be pretty easy to have scans of varied sizes - I think I'd be tempted to keep them circular rather than direction-based, though. I'm also wondering whether it might be better to let people toggle between 'melee mode' and 'ranged mode' as far as their maps are concerned, or whether it'd be easier just to use a 'scan' command like you suggest...


I was gonna suggest, that depending on which weapon you currently have wielded that your plot be set to that size. The system assumes that since you are wielding a bow, you are looking more aggressively for long distance shots, but when you are wielding a sword, you are looking for up close and personal combat.

I assume, that your system has some sort of ROV algorithm for the character, so it shouldn't be too hard for you to send a message to the player when something that would catch their eye happens in their view. You could add a distraction modifier, somethin akin to tunnel vision that snipers. Change their distraction modifier depending upon their current activity, their current stance, you know all that fun stuff.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Author Message
Teelf



Joined: 12 May 2005
Posts: 21
Location: Seattle, WA

PostPosted: Fri May 13, 2005 1:46 am    Post subject: Reply with quote

I think the only elegant solution to this problem is what Alaya mentioned. Include people outside the grid with a text description only. You can enhance the reality by having different description detail levels, from "You see a something at the edge of your vision", to the full up close description.

You can use the distance to the object to help determine the detail level, but that isn't quite enough. As was mentioned, a huge orc on a warbeast is easier to see than a gnome at the same distance. If you have some consistent concept of size, you can solve this problem. Use the size divided by distance as the number to determine detail level. So if a huge orc has size 5 and a gnome has size 2 and both are fifty feet away you get 5/50= .1 for the orc and 2/50 = .04 for the gnome. You could say 0 to .02 can't be seen, .02 to .05 is lowest level, .05 to .1 is the next level and so on. Those can be aboslute if your size and distance numbers are consitent. And, of course, you can factor in the characters own attributes of eyesight, etc.

The more complex problem of finding out when something crosses into a characters vision is a collision detection/containment problem. Like so many good software engineering problems, you can either poll or do events. To poll, you take the characters vision circle and see what other characters it contains. Keep track of the objects that were inside the circle the last check, then see what new objects are in. Do this every X seconds. Or, event driven, everytime a character moves you can take the line segment of thier movement (new position - old position) and do intersection tests on the other characters vision circles.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Author Message
Cornelius



Joined: 13 May 2005
Posts: 42
Location: Florida

PostPosted: Fri May 13, 2005 1:54 am    Post subject: Reply with quote

KaVir wrote:

One compromise might be to that after you type 'scan', you're constantly aware of other people closing on you until you move. Thus you could climb to the top of the mountain, notch an arrow to your bow, type 'scan', and then just wait Smile


When I was working on ranged combat in room based architecture I had a command for snipers to 'snipe 2 north', etc where so long as they have a direct line of sight (through exits) and within their vision range they would then see and receive action based messages as if they were in that room preceeded by 'through your scope you see...'

If someone walked into the room: 'through your scope you see... kavir enters from the north', etc.

The justification I gave myself for doing this was that someone concentrating through a scope would be blind to what was going on in the room they were currently in. Similarly focusing on that black-clad horseman readying a gallop 500 yards away would 'blur' your immediate surroundings. This had the added effect that snipers had to choose their roosts carefully and hopefully keep a secondary spotter character at the ready to alert them of immediate threats.

Performing certain 'active' commands (moving, changing position, changing eq, etc.) or having active commands performed on you (attacking, slapping, etc) would snap you out of this focused state and bring your vision back to your immediate pov. Also, auditory commands are kept within the immediate pov even when sniping so you can still hold conversations with your spotter.

This, I think, combined with some sort of warning as mentioned before where characters out of the current map are still mentioned in local description- would serve your purpose well.

P.S. I also notified a player in the sniped room that it was being sniped (fair is fair) by sending messages like 'a glint of reflected light can be seen from the south' every once in a while to represent the scope's glare. Is this something you would be concerned about with ranged combat and how would you handle it in a medieval setting?
Back to top
View user's profile Send private message AIM Address
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Fri May 13, 2005 2:07 am    Post subject: Re: Movement speed vs weapon reach Reply with quote

KaVir wrote:

The trouble then is that you'd have people moving dozens of feet each second, rendering weapon reach almost completely obsolete (who cares if your shortsword only has 2 feet reach while your opponent's longsword has 3 feet, when you're charging towards him at 90 feet per second?).


Thought One:
There's a book game series called Ace of Ace's, at least that was the name of the first game. It was a WW-I tactical air combat game. Anyway this problem reminds me of the problems in that game. Each person sees a view from their plains windscreen in thier booklet and they pick a maneuver which results in a new page for the other person. The other pilot does the same. Then they both turn to that page which is the result of both their maneuvers and new wind screen view. The object of course is to get the other guy in their gunsights. The game is somewhat frustrating when compared with a live simulator game like say Red Baron, with players continually maneuvering past each other, out of range, sometimes in completely opposite directions. I think it's a turn granularity problem, because in a simulator a player can react to the opposing players moves. A player can react to a bank and remain on their opponents tail in real time, while in Ace of Aces it's a wild guess as to which direction the opposing player will move with no reaction possible. No solution with this, just an observation.

Thought Two:
Implement zones of control. Very common in break and fire miniatures and some tactical WW-II board games. A player who comes within another players weapon range enters a zone of control and their movement ceases, and combat/melee begins. This brings up all kinds of problems with combat states. Sticky Zones of Control when no combat is intended by either person is problematic to general movement. The assumption of sticky ZOC is that the person is an enemy and not a neutral or friendly. Anyway it's something to chew on.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Kjartan



Joined: 13 May 2005
Posts: 110

PostPosted: Fri May 13, 2005 3:53 am    Post subject: Reply with quote

KaVir wrote:
The main problem I have in this regard is that the mob AI is designed for melee, so the ranged mobs tend to try and close with their opponents. Other than that, I also have problems with mobs occasionally getting stuck around corners - other times they'll see you, come running towards you, lose sight of you as they try to take a shortcut, and then give up! The latter isn't really a problem as it gives the impression that they've run off, or are waiting to try and ambush you, but the former problem with pathfinding is starting to cause some headaches.


I have had some luck making the mob remember where he last saw you, and assume you're still there if he can't see you. Even if he can still see the point he last saw you, he'll have a much better chance of spotting you if he goes to where he last saw you.
Back to top
View user's profile Send private message Visit poster's website
Author Message
raz



Joined: 13 May 2005
Posts: 11

PostPosted: Fri May 13, 2005 3:56 am    Post subject: Re: Movement speed vs weapon reach Reply with quote

KaVir wrote:
As it stands, every 10x10 feet has its own terrain type, which I'll refer to as a 'plot'. The ASCII map displays 5 of these plots in all directions - effectively 11x11 plots with the corners cut off - allowing vision of around 50 feet. The problem is that 50 feet is far too short for any sort of practical use, particularly when some weapons have a range in the hundreds of feet (a longbow can reach 900).

My original plan was to change each plot to represent 300x300 feet, which (conveniently enough) would allow people to see at least 1500 feet in any direction, which is roughly around quarter of a mile. Of course that would make movement incredibly slow, so that would have to be increased by a comparible amount.


How would movement be slower than it already is? Wouldn't only be percieved as being slower (since you have the larger map)? Or does your system lag the person the time it would take to cross each "plot"?

Quote:
It seems I'm going to have to make a choice between the movement system and the combat system, but I'm still hoping to find some sort of compromise that allows long line-of-sight without rending weapon reach useless. Any thoughts?


I guess I don't fully understand what the actual problem is. (Not that I don't understand what you are saying, but that I don't understand why you would percieve it as such a problem.) Considering myself, I don't very actively look long distances. Mostly, I'm only concern about what is relatively near to me when I am outside -- even a shorter radius when I am inside. I only squint down the street every now and then to see if I recognize the person that is coming towards me (although I typically don't). Typically, what is going on in the far distance doesn't concern me that much.

The point I'm trying to make is that viewing at long distances should be done by user command rather than by default. You should continue to use your 50-ft system, but allow the user to stretch out his or her vision on command. If you continued using your "passive" viewing mode, I think such a system would work out nicely. Moreover, if you allowed your players to be able to customize how alert they become -- like they jump to attention when an orc comes into sight or something -- when they passively recognize something, you would have a movement/viewing system that would be a benefit to the combat system.

Sorry if this is incomprehensible. It's late where I am...
Back to top
View user's profile Send private message MSN Messenger
Author Message
Traithe



Joined: 13 May 2005
Posts: 50

PostPosted: Fri May 13, 2005 4:06 am    Post subject: Reply with quote

KaVir: I'm not sure if you've taken a look at our RPI Engine code or not, but we actually have a number of systems very, very close to some of the things mentioned here.

1. The scan command: players are able to either scan in a single direction with a longer delay, or do a 'quickscan' with a shorter delay that scans in every available direction with a lower rate of success. The maximum distance a player can see in any direction is 3 rooms, with the chance to spot objects and N/PCs in those rooms; their scan skill is penalized based on that distance, in addition to some other factors, i.e. inclement weather, terrain types, the lighting in the area (if they don't have infravision), etc. Once they spot an N/PC in the distance, it is stored in their "has seen at a distance" list, which is reset every time they move. Once this happens they can either point them out, allowing everyone else in their room to add the N/PC to their distance list, or use a ranged weapon on them.

2. Ranged weapons: once the target has been acquired via scan, a player can 'aim <direction> <target>' with a ranged weapon. Note that if a given N/PC has NOT been spotted at a distance via SCAN, it cannot be targeted with ranged weapons until it has been. The range of the weapon varies on the type - crossbows have a one-room range, shortbows two, and longbows three. Once they aim, they can hold their aim for a delay period if they like to improve their chance to hit, or they can simply fire right away, via the FIRE command. If their target moves either in a straight line toward or away (within range) from the archer, the archer's aim is held; otherwise, the archer loses aim when the target moves - so ranged weapons only work in straight lines.

3. NPC routines: mobs use the SCAN routines noted above to acquire remote PC targets - once they've done this, if they have melee weapons they charge in and attack, but if they have a ranged weapon equipped they use that instead. There's also a TRACKING skill available to our PCs, which our mobs equipped with that skill can use to find and follow targets as well.

Anyway, hope that made sense and/or was useful. Everything's slightly hazy right now, as I'm being sucked into the life-draining voids known as the Uniform Commercial Code and the Restatement 2nd, Contracts. Confused
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: Fri May 13, 2005 8:38 am    Post subject: Reply with quote

Quote:
I was gonna suggest, that depending on which weapon you currently have wielded that your plot be set to that size.


I think there seems to be some confusion over what I mean by a 'plot' (not just from you), so let me try and explain what it is and why I did it that way.

Way back, I started out by creating a Thing base class. From this I derived Creature (for players and mobs), Object (for equipment) and Room (like rooms in most muds). I then derived various other classes, including Place. A Place is similar to a Room except that it doesn't have exits - instead, moving around inside it changes your 'x' and 'y' position, and a GetDistance() method is used to determine whether you're close enough for various activities (such as hearing someone talk, hitting them with a weapon, etc). I also derived Terrain, which could be placed in the world to cover certain locations, the idea being that this would let me build up a world where you could simply target terrain features to start approaching them.

It sounded good on paper, but in practice it just didn't work - the terrain was too blocky, and you needed loads of it to create an even half-passable world. So I derived a new class called World, which worked much like Place except it stores its own internal map. This internal map is represented by an array of tile IDs which correspond to a list of tile types, with any coordinates outside of this range by treated as ocean. Each tile is an array of 10x10 terrain types, much like the piece of a jigsaw - for example, one tile might be pure forest, another might be a plain with a river running through it from east to west, and so on.

So when I refer to a 'plot', what I'm talking about is one of those 100 terrain types on a tile. Right now a plot represents 10x10 feet, which means each tile is 100x100 feet. I could just as easily say that each plot represents 300x300 feet, which would make each tile 3000x3000 feet. But I cannot say that a plot represents 10x10 feet for Bubba the Barbarian and 300x300 feet for Boffo the Bowman, because suddenly Boffo's world would be a 30th of the size of Bubba's (which would very strange if you saw him swimming across a plain).

However what I could do is provide an alternative 'Archer' map which is on a different scale - instead of displaying two characters for each plot, it could display two characters for each entire tile. This would get messy if it replaced the normal map entirely, however, as it would become very difficult to judge fine terrain details - you might end up falling off a cliff, walking into a river, etc. This is why I think it would be better off delegated to a separate command.

Quote:
The system assumes that since you are wielding a bow, you are looking more aggressively for long distance shots, but when you are wielding a sword, you are looking for up close and personal combat.


My concern is still the terrain detail thing. Perhaps if it used the large-scale map for people who were standing still - but I still think that might get confusing, particularly with weapons designed for both melee and ranged combat. It might work as a configurable option though, and could even be something that automatically switches depending on the distance of whoever you're targetting (which would fit in with Cornelius' idea of concentrating on something to the exclusion of the detail around you).

Thanks to everyone else for the other suggestions, too - I'll have to have a mull over them and see what I can come up with.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Scandum



Joined: 13 May 2005
Posts: 28
Location: I'm in the TV

PostPosted: Fri May 13, 2005 10:38 am    Post subject: Reply with quote

Asuming characters are facing a direction you can narrow down the long range vision to 120 degrees, which would cut down on 2/3rd of the spam.

To deal with being sneaked up from behind you can add a hearing range as well, allowing you to hear something behind you.

Asuming detail becomes less clear at longer distances you can add binding of groups like Heroes of Might and Magic uses, a legion of orcs, a group of orcs, a couple of orcs, etc. You can also give less detail, unless the thing is in the character's memory.

Being textual instead of graphical you don't have the problems of terrain based line of sight as well.

The scan command could be used to increase alterness, this in case you need an even bigger vision range. "scan north", or "look north", comes to mind if you want a way for characters to quickly face a different direction as well.
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
Goto page 1, 2  Next
Page 1 of 2

 
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