Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > Advanced MUD Concepts
Click here to Register

Reply
 
Thread Tools
Old 12-23-2003, 01:48 PM   #1
Azeroth
Member
 
Join Date: Feb 2003
Posts: 69
Azeroth is on a distinguished road
Send a message via ICQ to Azeroth
My team and I have been throwing ideas back and forth on our forum about this topic. I have always wanted a "true" ranged combat system. Where a player with a ranged weapon could attack from a distance like it should be (or even in a sniper capacity). But alas, I have always played and know best the codebases that are room based (which is most of them).

So the question is, how do you make a good ranged combat system (and you can throw ranged magic in this as well) that can really work? How could you attack a mobile or player 2 or 3 rooms away and have it be realistic? Taking into consideration cover? And how would you deal with the targetted player? How would they be able to react to the attacker? Would they know where the attack came from?

I know there are archery systems out there but I haven't seen any of them behave in the manner that seems to work the way it should. We are working on a Dawn codebase so bear that in mind. But really, this question covers a great many codebases. Any suggestions/ideas?

Az
Azeroth is offline   Reply With Quote
Old 12-23-2003, 03:20 PM   #2
tresspassor
Member
 
Join Date: Jun 2002
Location: Minneapolis
Posts: 45
tresspassor is on a distinguished road
The first thing I would recommend is ignore the fact that you want to make a ranged combat system for a mud.

Instead, first get a chessboard and start working out the gameplay on that.

Once you have a pretty basic system working, make up a few characters for the chessboard (archer, swordsman, crossbowman, magician etc), these people should have the basic abilities that you would like to have for your combat system.

Try playing it out a few times with some people, this should give you a much better outlook on the problems you will encounter when reflecting it to a mud (hey, I can just shoot and walk back three squares so the swordsman will never catch me).

Also, do some research with the "Minatures" Games out there, see how they handle ranged combat (movement, range, attack).

The process of implementing ranged combat is really easy, it is just calling a function on a player who is in a different room. In order to determine if that player is in range you need some sort of coordinate system. You can either build a true coordinate based mud, or have every room in your mud have an XY value, and have a lookup grid to see what rooms are within range.

The real problem isn't implementation, it is balancing realism with gameplay. That's where the chessboard will come in.

Here's a chessboard game example:

HP
Hit Points
Action Points
The number of points a player has to use any action. These actions include: Movement, Attack, and Special Abilities. A player cannot go into negative Action Points. Movement always cost 1 Action Point.
Attack
Attack Damage
Attack Difficulty
Based on 1D6, the first number is the range, the second number is the difficulty. With the example of a longbowman he needs to roll a 5 or higher if he is 4 squares away, but only needs to roll a 3 or higher if he is 3 squares away.
Attack Cost
The cost of an attack. Subtract this from your Action Points.
Abilities
The cost of these abilities that

Longbowman
HP: 6
Action Points: 3
Attack: 1D4 + 1
Attack Difficulty
4 | 5
3 | 3
2 | 5
1 | 6
Attack Cost: 3
Abilities:
Quick Shot (2 APs): This attack only cost 2 action points instead of 3, increase the attack difficulty by 1.

Swordsman
HP: 6
Action Points: 3
Attack: 1D8
Attack Difficulty
1 | 3
Attack Cost: 1
Abilities:
Cover (2 APs): All ranged attackes have an increased difficulty of 1.
Brutal Attack (3 APs): Attack does 1D8 + 2 damage

Magic User
HP: 6
Action Points: 3
Abilities:
Fireball (3 APs)
Attack: 1D6
Attack Difficulty
5 | 6
4 | 6
3 | 5
2 | 5
Lightning Bolt (3 APs)
Attack: 1D4
Attack Difficulty
4 | 6
3 | 3*
2 | 2*
1 | 1*
*If player fires a lightning bolt closer then 3 squares the Magic User will also suffer 1D4 of damage.

------------

Sort of a long winded example, but in either case. If you allready have a system in mind I think it would be a good (and fun) idea to make it into a chessboard just to see the problems you will have. Also, if you are dealing with a bunch of different developers it would be a good way to really see what the other person is talking about (send me the rules of the chessboard game so I can "see it")

*shrug*
tresspassor is offline   Reply With Quote
Old 12-23-2003, 11:15 PM   #3
Songsworn_Draconita
New Member
 
Join Date: Sep 2002
Posts: 19
Songsworn_Draconita is on a distinguished road
Question

Songsworn_Draconita is offline   Reply With Quote
Old 12-24-2003, 12:40 AM   #4
visko
Member
 
Join Date: May 2002
Posts: 98
visko is on a distinguished road
Send a message via ICQ to visko Send a message via AIM to visko
Kind of a quick-and-dirty approach (and incidentally one that lends itself to room-based MUDs) is to have a range value on all objects (settable on objects of greater than range 0 or 1), and then the number corresponds to the number of rooms distant a player can hit something.

long_hit() can use the same value to call a recursive room-check function radiating out from the player every time he tries to hit something. If my shortbow doesn't have the range of that guys' arquebus, well, I guess I can't hit him.

One of the tricky questions is: does movement in terms of room-to-room movement have wait_states during combat? I've seen this problem circumvented on groundzero; because the map is tiny, all MOBs and players are automatically looking for targets to shoot; movement and a few extra commands are the only things the player has/needs constant control of. It's a solution, possibly not a viable one for a MUD in excess of a thousand or so MOBs.

You were talking about realism in terms of objects a player could take cover behind and the like; when I put guns into a MUD one of the other developers created a skill that allowed a player to take cover behind any furniture in the room; the condition of the furniture would decrease as it absorped the bullets, and eventually it would disintegrate and leave the player vulnerable again.

Anyway, some ideas. Ranged combat is pretty fun to explore, even in the boring "walk into a room and type 'k <victim>'"; it simply adds a new dimension of complexity, which I, for one, relish.

-Visko
visko is offline   Reply With Quote
Old 12-24-2003, 07:43 AM   #5
Yui Unifex
Senior Member
 
Join Date: Apr 2002
Location: Florida
Posts: 323
Yui Unifex is on a distinguished road
Send a message via ICQ to Yui Unifex Send a message via AIM to Yui Unifex
Question

In my mud, when someone initiates combat against another a 2d battlefield is displayed. Usually the combatants start off on opposite ends of the map, but if a thief-type character backstabbed the opponent to initiate the fight, this would be reflected appropriately on the field as well. Ranged combat works as you would expect: Unlike melee or close-range attacks, it can do damage from further than one location unit away.

If you want, you can manipulate the size of the generated battlefield so that large rooms really are "large". Just by simplistically storing length and width you are able to create long hallways, small rooms, and larger caverns.

You don't. I would highly recommend a system that generates a coordinate-based battlefield in a rooms-based mud over allowing certain weapons to traverse rooms which might not be described in a contiguous fashion. Since you wouldn't want bow-users to pick off everybody with no consequences, you need to let mobs retaliate in some fashion. But you also don't want them to leave their room to exact retaliation, because then a melee fighter could just equip a bow in order to pick off the mobs in a room one-by-one. And then, you can't just have the entire room up and move when they're being bombarded, because oftentimes mobs will be stationary, such as a king in his throne-room.
Yui Unifex is offline   Reply With Quote
Old 12-29-2003, 12:38 PM   #6
 
Posts: n/a
I have an Archery system on my mud.  It consists firstly of having a bow, arrows, and a quiver.  For this you need to make those 3 separate items, and for the quiver you need a new item wearing slot.  Then you have the commands:

draw (draws the arrow from the quiver ready to shoot)
shoot <player> <direction> (shoots the desired player in the desired direction)

The code is based off the Feudal Realm's code, but additions have been made and it's been modified.  You can shoot up to several rooms, and if the player your trying to shoot is not in the direction your shooting it will tell you a message like "your arrows bounce off" or "you missed".  The code itself runs pretty well, and the Archer class is very balanced.  So I think it is successful.

-Demiscus
  Reply With Quote
Old 12-29-2003, 10:23 PM   #7
Eagleon
Member
 
Join Date: Apr 2002
Location: Milwaukee, WI
Posts: 147
Eagleon is on a distinguished road
Send a message via ICQ to Eagleon Send a message via Yahoo to Eagleon
Eagleon is offline   Reply With Quote
Reply


Thread Tools


Ranged Combat, Ranged Magic - Similar Threads
Thread Thread Starter Forum Replies Last Post
More Subtle Magic NotL337 Advanced MUD Concepts 9 07-30-2006 01:59 AM
Ranged combat in MUDs Drealoth Advertising for Players 11 02-02-2006 02:57 AM
Innovative Magic Systems Eagleon Advertising for Players 5 11-25-2004 12:01 PM
candle magic Burr Advanced MUD Concepts 5 06-21-2002 09:50 PM
random magic Burr Advanced MUD Concepts 0 06-14-2002 02:09 PM

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 05:43 PM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2022