• Guest, please be noted that suggestions may not receive an official reply until the project state allows us consider them. For the majority of suggestions, this means after an alpha launch.

Suggestion Phase Blocking

Aetheism

Noble
I think the ability to completely remove a player from your game experience would be a good application of phasing, and only improve a "blocking" feature.

Depending on how PvP is implemented later, this may not be viable.
 
Agreed. Would help me remove you.
iOcXS
 

MrStefan

Duke
Duke
What if he is in a party, and you join his party since you got invited by another party member... Would be weird if he will be hidden
 

Escad_

Moderator
Moderator
Wiki Team
Duke
Nah, this wouldn't really be a job for phasing. Better just hiding players per player, and that's easily a single method in paperspigot.
 

MrDienns

Lead Developer & Technology Manager
Manager
Developer
Nah, this wouldn't really be a job for phasing. Better just hiding players per player, and that's easily a single method in paperspigot.

Indeed, that's not how phasing works. Phasing is a mechanism that allows us to isolate entity interactions between two entities. For the most part (with players, monsters, item drops, etc) this works by creating phased containers. This means that all entities inside of this container can interact with each other. Any other entity outside of this container cannot be interacted to. The only other application we have for phasing (as of right now) is when there are singular entities in the world which the player must interact to, as a quest objective for example. This is only possible for these singular entities because they don't have any AI, they don't interact with any other entity themselves.

While you could use the same mechanism here, you'll run into issues. For example, let's imagine there's one monster and two players; those players have each other blocked so they can't see each other. Imagine that they're both going to fight that monster. It will look beyond confusing to pretty much see a ghost fighting.

I completely understand the idea, and I love to see a suggestion where blocking a player becomes more useful. However, that's simply not how phasing works. As explained many times, phasing is a lot more than just hiding an entity from another entity with a simple packet. There's tons of logic behind it, which affect the game.

Plus, there's no priority to do this for an initial release. If someone is being so annoying or toxic towards other players that he needs to be blocked, then that player simply needs to be moderated or have his alpha access revoked.
 

Aetheism

Noble
What if he is in a party, and you join his party since you got invited by another party member... Would be weird if he will be hidden
Normal blocking still has this issue, imagine chat not making any sense
Bypass it, just like discord does in calls.
If you're in a party with someone you don't want to be around you, you'll either leave or it won't be that big of a deal. Seeing/hearing them in the party would allow it to function, while still giving you control over your interaction with them
 

Aetheism

Noble
Indeed, that's not how phasing works. Phasing is a mechanism that allows us to isolate entity interactions between two entities. For the most part (with players, monsters, item drops, etc) this works by creating phased containers. This means that all entities inside of this container can interact with each other. Any other entity outside of this container cannot be interacted to. The only other application we have for phasing (as of right now) is when there are singular entities in the world which the player must interact to, as a quest objective for example. This is only possible for these singular entities because they don't have any AI, they don't interact with any other entity themselves.

While you could use the same mechanism here, you'll run into issues. For example, let's imagine there's one monster and two players; those players have each other blocked so they can't see each other. Imagine that they're both going to fight that monster. It will look beyond confusing to pretty much see a ghost fighting.

I completely understand the idea, and I love to see a suggestion where blocking a player becomes more useful. However, that's simply not how phasing works. As explained many times, phasing is a lot more than just hiding an entity from another entity with a simple packet. There's tons of logic behind it, which affect the game.

Plus, there's no priority to do this for an initial release. If someone is being so annoying or toxic towards other players that he needs to be blocked, then that player simply needs to be moderated or have his alpha access revoked.
Your own example is solved by your own explanation of phasing. In any situation where there's the imagined 'one monster', it would be silly to have one monster for two non-partied players in the first place.

The entirety of the debate surrounding this is highly situational, both of us could pose hypotheticals for as long as we wanted. From my own experience with blocked players, something like this would be incredibly useful, as seeing people I don't want to see has often led to bad situations. The majority of the issues with this seem to be surface level from what's been seen in this thread, and I believe it has the potential to be further explored in the future.
 

MrDienns

Lead Developer & Technology Manager
Manager
Developer
Your own example is solved by your own explanation of phasing.

I probably misphrased things. It is probably possible to implement this, just very tricky and needs a tremendous amount of specific testing.

Phasing is either possible in two ways.

1) Possibility one is that we make a container, which we can add entities to. We can add players, monsters, item drops, etc. All entities in this container will be able to interact with each other. Any entity outside of this container cannot interact with any of the entities inside of the container, and visa versa. This option already out of the question. Imagine we have 3 entities; player A, player B and monster C.

Imagine that player A wants to block player B. Imagine that they're both in the same location and they want to attack monster C. You cannot create a container here. There is simply the problem of both players want to attack monster C, while they cannot interact with each other, meaning that this cannot be solved with an isolation container.

2) The other possibility is to reject one-on-one interaction. This is more realistic and feasable, but it still brings in the problem of player A not being able to see player B, while both attacking monster C. Wouldn't it be weird, maybe even stresful, if monster C is being killed by practically a ghost? What about skills? We'd have to hide skills from that one player. What about AEO effects? We're talking about completely making a player vanish while continuing the game. This can result in a lot of confusing situations with what pretty much looks like ghosts. However, this shouldn't be enough of a reason to completely reject the idea, but you must realise that (as explained plenty of times) phasing a lot more complex than it sounds. This needs to be heavily thought through, and everything needs to be tested inside out; from monster drops, to skills, AEO effects, active effects, bosses, dungeons, guilds, you name it. It can even be abused in PVP.

We will not be doing this for initial launch, and I suspect we'll be able to prioritize this only when beta comes. It's very simple; if you misbehave, you'll be moderated. If you misbehave during alpha testing, you'll be "banned" (alpha access revoked) till an open beta. I'm still fine with implementing this (assuming we properly can) by the time we can prioritize it.
 
Last edited:

Escad_

Moderator
Moderator
Wiki Team
Duke
Dennis' own example shows how this wouldn't work, "ghost hitting" and all.
Well, I wasn't proposing a solution so much as saying there's an existing function that would at least be slightly better off using. If there's at least some indicator of a hidden player being where they are doing what they are, and/or some limitations on when blocked players might be fully hidden (if such a feature were added), I imagine the issue of ghost players wouldn't be so bad. Maybe an armorstand nametag saying "BLOCKED" or "HIDDEN" or something of that likes. If this hidden player gets within a certain amount of blocks, they can be hidden individually from the players who block them.
 
Top