ID:153747
 
I was thinking of ways to make combat interesting in my MUD, when I stumbled across the idea of a battlefield. As it is a MUD, most of it is represented by rooms, but also some "wilderness" by a text map built up of turfs.

The idea would basically be to allow either side to initiate attack, thus teleporting both sides to a square grid to fight. Due to how the game works, those wishing to enter close combat would have to stand on the same turf(Mobs aren't dense), while those with spells and long-range attacks could stand further off to avoid damage or to use bows or rifles or whatever.

The positive sides to it are...
--------------------------------

Gives an aspect of size to battle. Archers can actually stand away from the battle and shoot, decreasing their risk of being jumped with just a bow in their hand. Spellcasters won't be standing directly in the line of fire when they cast their spells, unless they manage to taunt the monster enough with their spells to warrant it charging them.

It allows very interesting AI aspects. It makes it possible to create "Area effect" combat spells which have an actual physical range, and area of affect. It also makes it possible to create lesser, "closer" spell and melee attacks that only affect those standing by the monster. Perhaps it goes into a rampage, and all those standing in the room will take 3 hits from it, unblocked. That means if spellcasters are far enough away, they won't be hit by the rampage, while they might still be hit by its Fire Breath area effect spell.

The negative sides to it are...
-------------------------------

It would look odd to others. I will have to represent the players and mobs transported off to this virtual grid in the room they were in before. And how do I show who is fighting who? What if the spellcaster isn't engaged in combat, how do I determine who they are fighting, if there are multiple enemies in the battlefield. I could simply say "Name_01 is fighting.", but thats very vague. How would outsiders know who is fighting who, and that might be very important?

Targeting the correct mobile. Say you have a party of 6 players, fighting 2 goblins. The 3 players are in the room with 1 of the goblins, while the other goblin is fighting solo against a 4th player. How does the spellcaster know which goblin is the goblin in the room with the 3 people, and which is the goblin in the room with the 4th player? The MUD supports the use of 1.item , 2.item, etc., but how will they know if the goblin is 1.goblin, or 2.goblin? Firing a spell at the wrong mobile may be fatal. As I write this, it occurs to me that I can change their names to include a number, and their shortdesc, so it would appear as so:

A goblin[1] is here, fighting Alathon
A goblin[2] is here, fighting Alathon.
A goblin[3] is here, fighting Spuzzum.
Spuzzum is here, fighting A goblin[3].
Alathon is here, fighting A goblin[1].

And spellcasters would be able to use goblin3 to target the A goblin[3]. Now a question on this proposed numbering system:

Do you believe it would be better to assign all monsters a number, completely independant of their name? Like so:

A goblin[1].
A lion[2].
A mountain Gazelle[3].
A Digital Mouse[4].
An angry shoesalesman[5].
A goblin[6].

Or to assign mobs a number, if their name is the same? like so:

A goblin[1]
A lion[1]
A mountain Gazelle[1]
A Digital Mouse[1]
An angry shoesalesman[1]
A goblin[2]

The first option would allow players to target monsters using strictly a number(i.e. cast this_spell on 1 to cast it on the first A goblin), while the second means you have to use a full name, such as cast this_spell on goblin1.

And do mobs retain their number, if a mobile with a number smaller than theirs dies?

Please post your thoughts, and if Im not making sense, say so =)
Alathon wrote:
I was thinking of ways to make combat interesting in my MUD, when I stumbled across the idea of a battlefield. As it is a MUD, most of it is represented by rooms, but also some "wilderness" by a text map built up of turfs.

The idea would basically be to allow either side to initiate attack, thus teleporting both sides to a square grid to fight. Due to how the game works, those wishing to enter close combat would have to stand on the same turf(Mobs aren't dense), while those with spells and long-range attacks could stand further off to avoid damage or to use bows or rifles or whatever.

Talk about coincidences, eh? I created a nearly identical battle system for one of my CircleMUDs nearly a year ago. If you want my opinion, I'd say that such a battle system is much more fun to play in than the usual pure-text one.

As for displaying who is fighting who, I didn't really worry about sides (aside from the AI-controlled mobs). Allow the players to attack whomever they wish on the battlefield. Or, you could have it 'team'-based, and the colour of the mob/char can reflect upon who's side of the battle they are on.
In response to Malver (#1)
Malver wrote:
As for displaying who is fighting who, I didn't really worry about sides (aside from the AI-controlled mobs). Allow the players to attack whomever they wish on the battlefield. Or, you could have it 'team'-based, and the colour of the mob/char can reflect upon who's side of the battle they are on.

That's not what I meant. People who get warped off to this virtual battlefield still need to be present in the room/wilderness they were before, so that others can see they are fighting/join in. The question is how to display to the room/wilderness they were in before they got warped off that they are fighting, and who they are fighting, since you can't be sure if theres multiple enemies.
In response to Alathon (#2)
Alathon wrote:
That's not what I meant. People who get warped off to this virtual battlefield still need to be present in the room/wilderness they were before, so that others can see they are fighting/join in. The question is how to display to the room/wilderness they were in before they got warped off that they are fighting, and who they are fighting, since you can't be sure if theres multiple enemies.

Don't move them from that room/wilderness, then. That's what I did. I just displayed the battlefield instead of the room, and listed all of the current combatants. If multiple fights are going on inside one room, combine them into the same battlefield. It makes no sense to have two seperate battlegrounds inside one room.