forums wiki bugs items changes map login play now

Awareness

Don't be too quick to dismiss @Fool_Hardy's autoscan suggestion completely. I've been thinking about it for a few days now and it is an interesting concept that has a great deal of merit, but it is a bit more complex than originally described and requires some refinement. I'm opening this new thread to flesh out the idea.

What is the real goal of the idea? An auto-updating representation of positions for our text-based environment. It is like combining where and scan and then automating it on each movement step. @Fool_Hardy adds the additional layer of facing, limiting the field of view to the direction you've been heading. The core of the autoscan idea is not bad and has been widely implemented in MUDs in the form of an ascii map. **Awareness is not a minimap. It is a rendering of a character's vision in a text environment on a plot. **Please note the distinction.

Let's break it down and see which pieces we like.

1. The new awareness mechanic:

My thought would be to take the range of scan and visually represent it on a 2d map, perhaps like this:

@=player
- = 1 room

 N U
 | /
 | /
 | / 
 | /
 | /
W - - - - - @ - - - - - E
 / |
 / |
 / |
 / |
 / |
D S

For UI concerns, keeping in mind that (all?) clients these days can support child windows, it would cut down on spam significantly if the MUD directly and silently updated awareness into a window every x pulses as well as on step activation and facing activation (describe later under facing). It wouldn't be much overhead for the connection. Since not all clients support child windows, it could have an 'autoaware' setting that when turned off suppresses the map. Regardless of autoaware, awareness can be updated and displayed manually via new manual activation command "aware" in the main window. A child window is only needed if we want to see the entire map all the time. If we apply linear facing with relative orientation, the map will fit as a single horizontal line in the room description using the look command. I'll discuss these options in detail under "facing".

Next we add in exits, only what we can see linearly, ignoring doors, such as:

- - - - - @ - -

There are no exits north, south, down, or up. The path ends or turns 2 east. To the west, it continues to at least the 5th room. This cuts down on the map size a lot in most areas.

If I were to open a door to the south, it would update to:

- - - - - @ - -
 |

If we wanted to be fancy, we could color the rooms by terrain, making it "- - - - @ - -"  for forest rooms. I recommend that the map remain fixed in the child window with @ at the center.

2. Add other players to the awareness map:

& = other player

- - & - - @ - -

Notice how the player overrides the terrain marker. Now, this could get spammy and confusing with a lot of characters running around.  We can use filters and colors to help us.

Let's decide on what kind of players we want to be able to see and their identifications. I suggest the following:

  1. One or more characters within PK range (other) = #

  2. One or more characters in group or same cabal (ally) = &

  3. A specific target (priority) = %

The priority is a target manually (target command) or automatically assigned (previous character to be in combat with you) by the player. If it were to be automatically assigned, there should be an auto command to toggle this. There is a question of how many targets you should be able to mark, but for simplicity, it can be set to a single manual target and a single automatic target. Either way, the target is probably going to be the person you are fighting.

These symbols are different enough the different types won't be easily confused, and the coloration matches what might be expected for each category.

What happens if two or more players of different categories are in the same room? There are several possibilities, but here is my choice:

  1. and & = * (one or more in range PK characters and one or more grouped/same cabal characters)

  2. and % = ! (target and one or more in range PK characters)

  3. % and & = ! (target and one or more grouped/same cabal characters)

  4. and & and % =  ! (target, one or more in range PK characters, and one or more allies)

% takes priority, being the main target, so we use ! if the target is in the room at all. The colors of ! are based on the danger level (red multiple enemies, blue you have an ally, yellow means complex). "- # ! - - @ - &" is a complex situation, using the last forest example, with a groupmate two east, your target three west with one or more rank 50s, and one or more level 50s four west. 

3. Apply facing:

All we have to do is remove what we can't see based on our facing. If we were facing west in the previous example, we'd just see "- # ! - - @" and if we were facing east, we'd see "@ - &"@Fool_Hardy suggested adding linear facing based on step activation. When you move west, you look west and only west. This is great for automatically orienting while traveling.

Linear facing means you'll only see in one direction at a time (not 90 or 180 degrees). That means the map will always be only line, but it could be a diagonal or vertical line. To alleviate this, we could apply relative orientation by adding direction tag on the end of the output, locking the @ to one side, as in this example: "@ - & E" or "@ - - ! # - W". This could be made into a toggleable feature, depending on personal preference for absolute orientation (@ in center, west to left, east to right) or relative orientation (@ on left, movement direction to right). I would default to relative orientation for the sake of clients that can't support a child window to adequately represent absolute orientation.

Keep in mind that relative orientation can also be displayed as a full map with @ in the center, but you'd need direction markers. The map would rotate around your character as you turn, like in many video games. This would be very confusing in text using north/east/south/west, so you'd want to add an alternative control scheme that uses left, right, forward, and backwards instead.

Linear facing is good for linear movement, but it is quite bad when at a deadend, stationary, making a turn, or reaching rooms with three or more exits. For those situations, we have to apply some logic to determine linear facing. One solution is to have angular facing. If we assume a field of view of about 180 degrees, you could also see west and east when facing north.

Vision isn't a true 180 and we have to consider up and down. To account for these problems, we can set a limitation on different directions based on facing. You can see the normal max of 5 rooms in the direction you are facing plus eight rooms. When facing a cardinal direction (north, south, west, or east), three of those rooms would be to your left, another three to your right, one up, and one down. When facing up, you can see five rooms up and two rooms in each cardinal direction (total of eight extra rooms), but no rooms down. Being in combat would reduce your vision to one room in every direction, simulating the increased situational awareness, but concentration on the immediate.

For example, if you were walking west in a long narrow east-west hallway with angular facing towards a T intersection four rooms west with absolute orientation, it would look like this:

- - - - @

When you arrived four rooms to the west, you'd see down both directions of the intersection, but only three rooms because you are still facing west:

|
|
| 
@
|
|
|

Now let's say I didn't want to move, but I wanted to change my facing. Under either linear facing or angular facing, I should be able use facing activation without moving. I could "face south" for instance to update awareness and look down the hallway with one command:

@ - - -
|
|
|
|
|

Note how I can see back east a little bit (if using angular facing), but no longer north. It does seem odd that the direction I just came from is missing, so to fix this we can add memory terrain, for say five steps. This would only be feasible for a full map setting, not a reduced linear facing map. These memory steps would display terrain only, not players. In our example, the memory steps could be:

: = memory footsteps

|
|
| :
@ : : : :
|
|
|

Finally, I should be able to use lock facing. There are times when I might want to look in a certain direction and not have my facing adjusted on each step. I could run around locked facing up to have a shorter view in most directions or prepare to see down an intersection before I get there. I also might want to use reverse facing, i.g. look in the opposite direction of my movement step, so that I can watch somebody chase me or if I am following in a group and I want to watch everyone's back.

4. Integration into FL:

How does awareness fit in with scan and where? It compliments them, not replaces them. Where can see players anywhere in the area. Scan can see in every direction for the full range across areas. The player has to manually use those and filter out the spam (especially with scan). Awareness is more of a passive mechanic, so it is less powerful than where or scan. It is convenient and visual though, so it is still useful.

Awareness functions kind of like a mini ascii map, but it renders what the character can see, and is not functional as an area map. It would also double as the foundation for a full-featured in-game map system, if we ever wanted to go that route. Awareness would be particularly useful to new players, who aren't comfortable navigating or chasing completely by text. It would not be an effective early warning system to stop people from getting the jump on you because it doesn't update extremely quickly and if you were lucky enough to have the right facing and get an update with the opponent five rooms out, you'd still only get a couple seconds of warning, far less than what where would give you. Where will still be by far the best method of defending against surprise attacks. It would be useful for spotting nearby stationary targets before walking into the room. Different from where, but still situationally useful. That is good.

The place where the awareness mechanic would really shine, however, is in that it is a new core mechanic. That means a whole of skills, spells, racial abilities, perks, or anything else could take advantage of it. You could have abilities that short-range teleport you within visual range or OUT of visual range but in the area. The range could altered based on race, lighting or other conditions. Infravision might see players but not terrain in the dark or the reverse in lava areas. Hiding/camo might be much less effective when used within visual range or even be evaluated on a per target basis. Facing could manipulated by spells or skills. Out of room shooting could be tied to visual range. The scout ability could increase the range or update awareness in every direction. Details could be added or removed based on abilities, for example, by forcing linear facing in an angular facing environment or looking around corners or through doors. New mechanics for spying, following, tracking, and hiding are possible. Thievery and stalking in general could take great advantage of the awareness mechanic.

Currently, abilities like shadowform or treeform take advantage of where, but awareness is a lot more flexible in how abilities could be structured. Awareness could be very agnostic and have very little effect on PK or RP in its base form, but at the same time it is very, very scalable which provides whole new avenues of mechanics and design opportunities. It provides a new way to interact with rooms, objects, and characters.

Edited

I'll preface this with saying I didn't read your entire post so might get something wrong. 

Now I'm not against the idea but with the finite amount of coding time we have, I don't feel like a feature like this is good bang for your buck. 

Things like class revamps, new cabals and races will get more use from the community imo.

@Wade The coding aspect on this is pretty simple (in its base form), if that is your main concern. But, at any rate, we should let the staff prioritize the implementation of changes. The really hard, long part is getting a change fleshed out and balanced to the point where it can be coded in. Just because this idea exists doesn't mean it is suddenly top priority to be coded.

The staff does need a pool of ideas to draw from when they do decide to put stuff in, and as players, we can add to that pool. I strongly suggest you (not Wade specifically, but everyone) contribute to or create those revamps/class additions that you think need to be done, and even if the idea doesn't succeed, we will have a more developed base to work from in the future.

As a side note, this idea would get a lot more use than just about any other change proposed, simply because it is in effect all the time for all players. The code investment to use ratio is phenomenal.

On the other hand, since it is a core change, it definitely requires some careful analysis before implementation. That is what this thread is really for.

Edited

You have taken my frustration and painted the most beautiful solution I could have ever imagined. I honestly could not have put it this way. Well done Cel.

Edit: There is a lot of information that could be imparted if something lie this were implemented. We could place colored K,N,W,S symbols to illustrate standing armies or bastions in an area. A special symbol on MOBs chasing you would be extremely useful for new players.

Edited

+1 for new neutral "balance" cabal!!

 

THE BALANCE MUST BE KEPT! FOR THE SCALES SHOULD NEVER SWAY TO EITHER SIDE!

I think that with proposed changes you should first ask yourself two questions:

  1. Will this change alienate a portion of your current player base? If it will, then I don't think it's wise to spend time on it. Several players have already said in the last thread that this wasn't something they wanted to see.

  2. Will this draw new players or bring back old players who left? Who knows? I will say what brought me back was some major class changes and the RP point system. I think class updates, new races/classes, and more cabal dynamic would be sexier to attract players.

Just my thoughts. Attracting players should be the top priority else we are basically filling the cabals with the same 6 players different characters.

While I usually agree with your ideas Celerity, I'm out on this one.

On the contrary, you also have to remember that not doing something will also alienate a portion of the playerbase. We can refine class balance all day, and some people will still be bored of the 'new skin' on the old game revamps. Stagnation leads to losses as surely as changes do. I don't mean stagnation as a lack of changes or work by the staff, I mean stagnation as the same kind of changes. Class balancing appeals to a wide niche of our playerbase, but only because that is the niche that receives major attention. Other niches have left or never arrived because we don't have features that support them.

Don't get me wrong, because I think it is great to constantly refine the game. I also believe it needs to develop as well. We've made some good strides in development, for example the RP point system you brought up. Did that alienate players or draw them in? Probably both, but overall, the development has led to a healthier, richer game. It was an idea that I argued against, by the way, but I can see the positive effect it has had on the game through incentivizing RP.

Will the awareness mechanic annoy some players? Certainly. Will it be an interesting change for others? Also certainly. But it would undoubtedly be a notable advancement, a core feature worth advertising.

I hate it to word it this way, but class balance is very polarizing, making it much more likely to alienate players than adding a new feature. How many players have we lost to various class nerfs or feelings of overpowered classes? I can think of several immediately. I can also think of several players who have returned due to class rebalancing.

Can we think of any players who have left because of adding new features (RP point system, armies, weapon crafting, etc.)? Can we think of any players who have left because there hasn't been development in this area? What about players that never bothered with FL because we lacked features they were looking for (farming, economy, sailing, in depth pet system, mass melee, or any other feature we lack?). Notice how features like armies are key recruiting tools?

If you want to attract players, you need to expand the feature list. Is awareness the golden ticket in that area? Probably not, but it is a step to features that are (map systems, complex fighting systems). Improving the UI in an aging text game is probably the single best golden ticket that would attract many, many players who would otherwise scoff at a text game. Awareness is such a UI advancement.

If you do more of the same, you'll get more of the same.

Thanks for the reply, @Zavero, it was a good one. I do wonder how you actually feel about the idea itself, rather than the prioritization of the idea. I doubt that people were thinking of this implementation when they responded in the other thread.

Edited

It's a tricky one, if the opportunity cost of this change means other things like class revamps (class replayability is a huge retaining mechanism) or new cabals gets pushed back then I don't think many people will be for it. 

If there was no opportunity cost in this change, I'm sure people wouldn't mind.

@Celerity

I think the idea has merit to it to be honest. It would add some new flavor to FL and could be pretty interesting. With that being said, I still don't think it should be implemented based on the fact that I believe it would be a daunting task just to get the thing implemented as you suggested it. Such as altering skills and spells to have a synergy with the new mini-map.

Sure a map in a separate window could be helpful but I think it gives the "Elite" PKer even more of an advantage because they are just faster... faster at typing under pressure, faster at scanning the text, and they already know all the areas so they are faster at moving through them. Giving them a smaller map that they can read faster than a full 'scan all' would benefit them. It could be very helpful to new players as well, but I'm not sure it outweighs the advantages it gives to people like Trick, Chesta, and the rest of the cool kids.

Bear in mind, I grew up playing AR, moved over to FL, and even played CF for a short period of judgement lapse. So I've never had a mini-map like that and not sure how I feel about having another window to look at. So I may be biased. It's a huge change.

Edited

Ladies and gentleman, this isn't about should or should not her priority coding. It is about fleshing out ideas together to see if they resonate and may add to the game.

 

Personally, I think it is an excellent idea. Having some sonar would not only make the game more alive for me, it would also set the code foundation for FL monster chess matches!