Quote Originally Posted by BrachyXIV View Post
I don't think that would be connected with a temporary popping chat bubble though, this answer seems to imply the permanent interface linked to character models. I'm no expert so I'm talking out of my butt. But I've seen that Chat Bubbles are possible in the game due to outside sources so it doesn't make sense for the developers themselves to be able to do it.
The NPCs that have speech bubbles don't congregate in large groups and spam a bajillion chat messages per minute per person, though. This might sound like an absurd scenario, but sometimes players do absurd things, and any system that would handle speech bubbles would need to be prepared to handle this scenario, probably by limiting chat bubbles to the nearest X people, or to the most recent Y chat messages. Both of those options have costs though.

If you limit it to the nearest X people, you have to figure out who the nearest X people are. Say there are 47 people and you want to display chat bubbles over the nearest 10. There are 5,178,066,751 possible ways to select 10 people from a group of 47. If there are 71 people and you want to select the nearest 10, there are 461,738,052,776 possible combinations. You could probably optimize this by keeping a list of the nearest 10 people and their distances, and whenever someone new talks, you check to see if they're closer than any of the people on the list and bump the 10th person if they are, but then you have to store that list in memory, and the devs have historically been averse to making even small additions to the memory structure.

If you limit it to the most recent Y speech bubbles, then you could spend a lot of time processing speech bubbles that never even get seen because they're immediately overwritten by something more recent.

And then there's the memory that needs to be spent on the actual speech bubbles. Each speech bubble needs to know its 3D coordinates, its 2D projected coordinates, its message, and one of (its start time, its expiration time, its visible duration, or its remaining duration). And if the speech bubble is not directly a part of the character's display complex, the position needs to be updated whenever the character moves. The need for speechbubble-to-character tracking could be eliminated if the speech bubble were a part of the character display, but we know how the devs feel about increasing the number of things that can be displayed over characters.

There are a lot of things to consider. It's not as clear cut as it may sound.