Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Dark Dreams of Furiae - a new module for NWN:EE! Buy now
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Dynamically Create Extra Instances of "full" areas

MermutMermut Member Posts: 44
Building on base of the dynamic flat system I put together, I'm working on a system to spin up additional 'instances' of areas that are 'too full'.
There are significantly more variables to consider/deal with in such a system and I'd like to know people's thoughts on them.
Here are a few to start:
1) Parties. Since NWN doesn't set a max on number of players in a party, should all party members be put into the same instance, even if the instance is already full (or over full)?
2) If there are multiple instances spawned that aren't full when a player 'clicks' to enter an area, should players be given the choice which instance they go into? Should they be automatically put in the lowest 'number' instance? The fullest one? The least full?

I'd like to make the system robust and flexible, but I also want to make it as free from bugs and potential exploits as well. I'd appreciate people's thoughts and ideas


  • MermutMermut Member Posts: 44
    I've been messing with the toolset and thinking about the 'cases' a bit more and I've got more thoughts. I'd appreciate feedback on players/admins/builders think is best/most useful

    When character clicks to zone into an area that is set up to spawn extra instances:

    for i = 1; i <= active instances; i++

    is instance population < spawn new? --> valid destination target
    no? is population < max?
    yes --> if character has party member in target --> valid destination target

    if no instances with space, make a new one and port character in

    List of valid target instances:
    1) port player into one with party automatically?
    2) give player list of instances to choose from?
    a) should list exclude zones with 'too low' a population?
    --> purpose would be to minimize number of active zones
    3) zone character into lowest number instance?
    4) zone character into highest population instance?
    5) zone character into lowest population instance (with pop above threshold?)

    Determining if the player should be given a choice which instance to go to (and which areas appear on the list) or, if not, which zone the character should be placed in isn't 'hard', but it is a design decision that fundamentally affects how the system will work.

    Since the whole point of the system is to be useful... what would people like/prefer?

  • MermutMermut Member Posts: 44
    edited June 2018
    More brainstorming:
    Potential difficulties

    --> Set a variable on instances... check the variable when scheduling an area for deletion
    If it doesn't exist, cancel deletion.

    CopyArea makes a copy of EVERYTHING in the area (minus PCs),
    --> This means for areas that can be instanced no players should ever use the 'base area'
    ----> if they did, copies would have 'extra' stuff in them from active players in the 'base area'

    Chaining area - find way to reference the transitions in the base area?

    Check to see if you're IN a 'base area'

    Check to see if current area is instanced or CAN be instanced
    --> affects set up of target area/instance
    Current area canNOT be instanced
    --> new instance transition is 'hard coded' to current transition
    Current area CAN be instanced (or is instanced)
    --> connecting transition in new instance needs to be set to look
    for base instance/new instances

    Post edited by Mermut on
Sign In or Register to comment.