NPC targetting methods
Goto page Previous  1, 2
 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
Lindahl



Joined: 29 May 2005
Posts: 56

PostPosted: Mon Jun 06, 2005 1:11 am    Post subject: Reply with quote

In TCP, we have a targetting system, where you implicitly target whatever you targetted last with a command. I haven't really decided the specifics yet, but the plan is to have every command tied to the targetting system. For example, once you start talking to someone, your undirected conversion will be directed at this person. This is also intuitively applied to the combat system as well. For example, someone starts attacking you, you may target them and a simple 'attack' command would work without a target. There are some obvious problems with making this system intuitive so as to be useful and to avoid ambiguity as to what the player wants to target or not - these details are left undefined at this point. But it's definately something I plan on tackling when I get to that stage of development.

We also plan on using almost-unique short descriptions like Traithe described for SoI - as well as having commands like 'defend [or guard] bob' to automatically target whoever is attacking Bob. Which will include dynamic states as well - the wounded orc example.
Back to top
View user's profile Send private message
Author Message
Grem



Joined: 15 May 2005
Posts: 36
Location: Maryland

PostPosted: Mon Jun 06, 2005 10:23 pm    Post subject: RE: Reply with quote

I think Kavir's solution is extremely interesting and probably worth pursuing. He stated that mobs of the same type be given an extra keyword that gives them a bit more 'personality'. Perhaps these keywords can be generated based on the race of the mob.

Lets say three rabbits are loaded into the room. Instead of showing:
Three rabbits are here.

We can provide:
A cute rabbit, an adorable rabbit, and a little rabbit are here.

Rabbits can have prefixes like 'cute', 'adorable', 'little', 'tiny', 'innocent', etc. This can be a problem, however, if you only have 5 prefixes for a mob race, but 5 of the same mob are loaded at once. Perhaps the MUD respawn system can be limited in such a way that similar mobs (ones with same vnums), can only be loaded up to the amount of prefixes that are available for that specific mob's race. Of course, the first mob that's loaded does not require a prefix, so special one-time load mobs will not receive the prefix.

It would be unfortunate, though, if mob's did contain adjectives, they would have to be parsed properly. For example, if rabbits were already called 'little rabbits', and if a prefix was 'little', it would be called 'a little little rabbit' - which poses a problem. The solution? Mobs that spawn more than one at a time should not contain adjectives describing themself - or should not be described with adjectives that are predefined as prefixes (along with ensuring the MUD system properly appends the prefix to the mob short description). The MUD will also need to track which mobs have the given prefix, so as to not duplicate it!

How else can we seperate mobs by giving them different descriptions?

- Mobs that are wounded. (as stated in several posts)
- Mobs with differing weapons (Orc with knife, orc with sword)

The problem is, two orcs in the room could be wounded, but maybe you want to attack a specific one because he's wearing different armor. Or maybe there are two orcs in the same room that are both wielding the same weapon, but wearing different hats.

The system can 'stack' mobs, like Eiz said, that are -exact- duplicates (down to each piece of equipment worn). And differing mobs can be described based on how they are different. This system could likely become extremely cumbersome though, so Kavir's mob prefix system may work better.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Author Message
Zygfryd



Joined: 01 Jun 2005
Posts: 6
Location: Poznan, Poland

PostPosted: Mon Jun 06, 2005 10:45 pm    Post subject: Reply with quote

Tyche has a point, using a mechanism such as MXP you could wrap occurences of a mob's short description/ name inside a command link (I don't remember the proper term) that performed a default action referencing the mob by its unique object ID, or even make a drop-down menu.

A fresh idea off the top of my head though would be to describe unique features by the means of numbers. Instead of merging them into descriptions use a homogenous system where a set of numbers is generated for each mob's adjectives, visible inventory, etc differentiating it from other mobs. A quantized down version of its health would fit in just right too. During description rendering these features would be mapped onto words. The advantage is, that instead of rendering a dozen adjectives you could pick only the ones that actually make a difference. The algorithm for such a reduction could be quite complicated though. Given the set of allowable values is small, a trie might be OK provided you're not short on RAM, but it still leaves place for a lot of redundancy in the descriptions.
Back to top
View user's profile Send private message
Author Message
Tyche



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

PostPosted: Mon Jun 06, 2005 11:01 pm    Post subject: Reply with quote

Zygfryd wrote:
Tyche has a point, using a mechanism such as MXP you could wrap occurences of a mob's short description/ name inside a command link (I don't remember the proper term) that performed a default action referencing the mob by its unique object ID, or even make a drop-down menu.


Sure there's pueblo too.

The first mud I ever played (Islands of Kesmai) allowed you to select your target by typing the letter that corresponded to the mob in the ascii map display, which did not scroll and was updated in place and everytime it changed. It had modal and menu dialogs as well. Of course it used that ultra high-tech fancy stuff from the 70's.. VT-52. But since today's super advanced power mud clients like zmud, gmud, and mushclient cannot in anyway shape or form be coerced out of 1960's teletype linemode I guess you be SOL unless you can convince your players through a kick-ass interface to adopt a different client that actually supports vtxxx.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Zygfryd



Joined: 01 Jun 2005
Posts: 6
Location: Poznan, Poland

PostPosted: Mon Jun 06, 2005 11:19 pm    Post subject: Reply with quote

Tyche wrote:
Of course it used that ultra high-tech fancy stuff from the 70's.. VT-52. But since today's super advanced power mud clients like zmud, gmud, and mushclient cannot in anyway shape or form be coerced out of 1960's teletype linemode I guess you be SOL unless you can convince your players through a kick-ass interface to adopt a different client that actually supports vtxxx.

Modern MUD clients are geared towards semantic analysis and user-defined presentation of the narration, whereas terminal emulation goes into the opposite direction - the MUD can structure the text stream in various unobvious ways and the client has a hard time processing it. MXP and MCP are there to provide a more flexible solution from the player's perspective. Of course, that's MHO, as I am a person that likes all kinds of highlighting, substituting and scripting.

PS. XUL-alike interfaces would be probably more welcome than the return of character terminals. I believe Trebuchet does something like that with MCP.
Back to top
View user's profile Send private message
Author Message
eiz



Joined: 11 May 2005
Posts: 152
Location: Florida

PostPosted: Tue Jun 07, 2005 12:38 am    Post subject: Reply with quote

Zygfryd wrote:

PS. XUL-alike interfaces would be probably more welcome than the return of character terminals. I believe Trebuchet does something like that with MCP.


As I posted in another thread, I'm skipping the XUL-alike and going straight for XUL. However, I don't think using the mouse to select objects and mobs is all that convenient in the first place. Moving your hands off the keyboard and selecting an object in a potentially scrolling window just doesn't sound very usable to me.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Tyche



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

PostPosted: Tue Jun 07, 2005 12:53 am    Post subject: Reply with quote

Zygfryd wrote:

Modern MUD clients are geared towards semantic analysis and user-defined presentation of the narration, whereas terminal emulation goes into the opposite direction - the MUD can structure the text stream in various unobvious ways and the client has a hard time processing it. MXP and MCP are there to provide a more flexible solution from the player's perspective. Of course, that's MHO, as I am a person that likes all kinds of highlighting, substituting and scripting.


All of that and more can co-exist in a client that does terminal emulation. However these clients do much more than presentation. They squat squarely on top of the keyboard controlling the entire input interface leaving no key but the return key for the muds use.

Why this in particular pisses me off is I make extensive use of character mode and keys in my mud server. Tab completion? Function keys? Arrow keys? Keypad? CTL-ALT-ESC sequences? Forget about it. So I use puTTY or telnet to log into my server.

You'd think someone could write a mud client capable of logging into a shell and running common shell utilities. So I wouldn't have to. No? Wink
Back to top
View user's profile Send private message Visit poster's website
Author Message
Tyche



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

PostPosted: Tue Jun 07, 2005 1:35 am    Post subject: Reply with quote

eiz wrote:

As I posted in another thread, I'm skipping the XUL-alike and going straight for XUL. However, I don't think using the mouse to select objects and mobs is all that convenient in the first place. Moving your hands off the keyboard and selecting an object in a potentially scrolling window just doesn't sound very usable to me.


Doesn't XUL require you to attach the keycode to a platform dependent accelerator key like CTL-ALT-META? So to use a function key the user would have to do CTL-Fn or ALT-Fn.
Back to top
View user's profile Send private message Visit poster's website
Author Message
eiz



Joined: 11 May 2005
Posts: 152
Location: Florida

PostPosted: Tue Jun 07, 2005 3:09 pm    Post subject: Reply with quote

Tyche wrote:

Doesn't XUL require you to attach the keycode to a platform dependent accelerator key like CTL-ALT-META? So to use a function key the user would have to do CTL-Fn or ALT-Fn.


Modifiers are completely optional. If you want to use a function key you bind a function key, with or without modifiers. And those modifiers are not platform dependent (some of them have names like alt and control, but they're mapped to appropriate keys in a platform specific way). If this didn't work, Firefox's keybindings wouldn't work right as the entire browser GUI is XUL/JS... Smile

In any case if you don't like their key binding facility it's trivial to trap the key events and implement your own command processor, which I may do anyway to get Emacs style keymaps.

Before you ask, no I do not have any plans to write a dumb terminal client where everything is run on the server end. I'm not even doing VTxxx except for basic compatibility with existing muds.
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 Previous  1, 2
Page 2 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