[Feature] Areas

I am currently working on the Area feature.

Description

Areas are a way to structure and group rooms. An area has a name (e.g. “White Hearth inn”) and an owner. It may optionally have a map, a description, and a parent area (e.g. “Town of Sinder”).

Rooms may be set to belong to an area, optionally with coordinates telling where the room is located on the area map. The same goes for sub-areas.

The purpose for areas is to:

  • provide structure to sets of rooms
  • provide visual aid through maps
  • provide information on where characters are gathered

The information about room or area population will show in a few different GUI locations:

Room panel

The room panel will show current area (if available) + population under the room name:

area_room_panel

Clicking on the area “badge”, the Area page will open up:

Area page

The Area page opens up in the Room panel. It shows the area name, a list of area locations + population, optionally a map image, and a zoom bar which allows you to zoom out to view parent areas:

area_page_no_image

If a location is a sub-area, instead of a room, it will be indicated in the list (this is currently done using white text color instead of grey).

Clicking on a location will expand it to show its description (only for sub-areas and not for rooms). If a map and coordinates are available, it will slide the map to show the location.

Realm panel

The realm panel will show a “World” icon, which will open a World page when clicked.

The World page shows the total number of awake characters and a list of areas + population, selected by an admin. This list allows players to see where there are gatherings without them having to wake up any of their characters first.

Teleport destinations

Teleport destinations, showing under the Teleport Character page will also show the area where the destination is located, together with its current area population.

That is the rough draft of the area feature.
Comments, feedback, or ideas are welcome!

/Accipiter

1 Like

This looks pretty good so far - poked around a little bit at it . ^^

Glad to hear! :grin:

There are still quite a bit missing, but it works for starters.
I hope it is okay I mapped out one of your places. With the next update, I will have added the commands to transfer area ownership, by which I will give you the ownership of that area of yours :sweat_smile:

Yeah that’s fine. I was actually more curious if it was automated generation or not but I guess that answers that. If it was we were going to need some non listing and or private tags on rooms so they displayed differently on the area map. It would be good if rooms receive a flag that allows players to be listed in one of the medium level map displays for once you are in an area so you can see who’s in what room without necessarily having to go visit so long as that room is flagged correctly for that information to be displayed. That would allow people to have rooms that are essentially private so long as they’re not flagged as lobbies or public areas but also allow people to find people they’re looking for if they’re in public areas more easily.

I think what you are describing is what I had in mind. These are my plans for that public/private thing (let’s see if we are thinking the same thing :slight_smile: ).

These are my ideas:

  • Each location (room or subarea) has a private flag.
  • A location flagged private will not be listed in the Location list on the Area page
  • A location flagged private will not be counted to the total population of that area, or any parent area
  • Being inside a room/area flagged as private will still let you see all Locations belonging to that area
  • Unlike other MU*, the area feature will never display names of what characters are in other rooms, only show a count.
  • It is the owner of the area, not the subarea, that decides the private flag for a location. So @Raeth would make that decision for the forest’s subareas.

Example
Let’s say someone creates a home area, Fox Den, with a bunch of rooms (Living room, Kitchen, etc.). This area is then added a subarea location to The Forest, a public area. But Fox Den is flagged as a private location.

Being in the The Forest in a public room, you will not see Fox Den at all. Nor will its population be counted as part of The Forest as you don’t want to see hundreds being inside The Forest only to find out they are all in private areas.

Being inside Fox Den, you will see the populations of all the den’s rooms (Living room, Kitchen, etc.). You can still zoom out to see The Forest area and the population there. You can also see Fox Den in The Forest’s Locations list now , because you are inside it. Zooming out again to see the world area, the population of The Forest will still not include those inside Fox Den, even if you are inside it.

That sounds pretty solid to me! I like the idea, and I think it solves most of the needs that builders will have (myself included!)

That just leaves me needing entrances that can be locked/unlocked or need permissions granted to use. :stuck_out_tongue:

Glad to hear that it sounds reasonable.

Yepp! We need that one too :sweat_smile:
I am still not sure how I wish to implement locks, though. I am currently leaning towards letting ‘locking’ be something you can implement through LUA scripting of the exit.
But that would mean we would have to wait a while for that feature.

Haha! One thing at a time–you’re doing great! I think a good start would be to add a “locked” tag to exits which can be toggled on or off by a variety of means. The easiest would probably be a small lock icon on the end of the exit button which would display the locked flag, and a lock button to toggle it at the destination for the exit. Then next would be to add a list of characters onto the lock which would be permitted to toggle it from the ‘outside’ or wherever that exit leads to. (I.E. having a key.) After that, it would be trivial to tie the ‘key’ list or the ‘locked’ flag into the LUA scripting.