I got feedback that my avatars don’t feel quite right.
So I learned some things about anatomy and face proportions.
The new faces have twice the voxel count than the previous ones.
It was a real struggle to simplify the resulting mesh. Initially, each avatar had more than 1 million vertices.
Chat Rework #
The chat UI now aligns with the rest of the interface.
The font is weightier and fits the rest of the UI.
I also replaced the backend technology for the in-game chat.
Previously I used MongooseIM.
Mongoose is an XMPP server, and it is hard to use.
I implemented the same functionality with less code with Kotlins Shared-Flows. I will share another article on how the chat system works internally.
The only drawback of using my implementation is that I lost the ability to store chat messages. The current implementation will redirect the chats to the destined clients.
Statistics Rework #
The statistics window rework feels more intuitive. I dropped the second window and moved the information into the tooltip. The tooltip shows the percentage that each ability contributed to the stat.