[At CitizenCon, a lot of people in the audience stood up on their chairs in T-pose.] How does that make you feel when you see that? Is this something you can laugh at? Is this something that drives you crazy?
TL;DRThey take the joke well, explaining that standing on chairs and T-poses come from several different bugs, mostly streaming-related, and deliberately aren't hidden, since they flag problems that need proper fixing.
I know, I know. I think it's the joke that we need to take, but also I know that the community is always very supportive of us. And I think, as we explained, standing on the chair is kind of a fun one, because it's similar to the no reaction in some situations: there are bugs that people perceive as one bug, but often those are caused by a lot of different issues, where you might fix one and then it works, and then there is another issue that comes in, right? That can be setup issues. It could be a change on server meshing that we just made, and now the value of the chair that you should be sitting in doesn't get restored correctly. And this is where you see it. The majority of the time that we see it right now is due to the streaming in and out: when they restore, they don't connect correctly, for different reasons, to the last known usables that they were attached to. And this could be maybe because they stream out on the way to attaching to the usable. So it didn't get that value stored, and we need to reproduce that and then make sure that one doesn't happen again, and so on. I even had at a certain moment some code that was actually meant to patch all these situations so you would not see it. But my take is, at this point in time for the project, it's more important that we figure out and find all those bugs and all those edge cases, compared to just necessarily always showing the good experience. And obviously, yes, we want to give you the good experience, but we want it to be the real experience, right? Because if we hide a bug right now, it might bite us back later on in a really hard way because we didn't fix it properly at this time.
The T-pose becomes this big flag: hey, there's something here that is wrong that you need to address. You could turn it off.
Actually, it's also funny that I think people also connect a lot standing on the chair with the T-poses, but they're not necessarily connected. With the T-poses, we still have some situations where you see them moving from far away T-posing, because there are some issues that we have. For example, right now we were looking with some of the guys in the tech team, Andrea as well, at some situation where the lightweight update was called at the wrong moment. We're investigating that. And I think this is where we see the T-pose: it means something is not updating on the character animation side, for different reasons. It might be they get stuck in some state on the Mannequin side that doesn't update, or there's some wrong animation setup, or the actor code isn't updating, or the AI is playing the wrong animation. So you might see the T-poses in this situation, but they're not necessarily connected with the standing. So you see somebody standing and they're just idling, and so on.
And you wouldn't want to change it. Chat is sitting here saying, well, you could just change the default to be sitting, but that would hide the problem. That's what I'm saying. Standing on chairs, the T-pose, is the big flag that tells you there's something that needs to be fixed. So if you hide it by changing the default to be something that is less conspicuous, then these bugs just persist.
And I think there is one thing that is also important, because internally in our builds, this is not that simple to reproduce. It's really hard for our QA guys to actually make guys stand on the chair internally. This is why it's so important for us to also have it live as a final effect, because if we don't find it there, it's really hard to reproduce internally as well. I think some of this is the combination of low FPS with the streaming in; it's really stressing out the servers and the code, so that we can figure out when things are still broken in some situations.