Do not upload images you did not create. Please read the Image Upload Rules before uploading.
Last week I continued refactoring the networking code, with some extra attention given to the initial handshake and login process. Here are some security related improvements I have made (please excuse the technical security jargon):
I made these changes to address a few of the most worrying scenarios - such as someone foolishly entering their antilia-game.com login and password on a privately run multiplayer server, giving the person running that server the keys to their account. With this change the user's plain-text password never reaches a multiplayer server. These changes are by no means fool-proof (keyloggers and dictionary attacks immediately come to mind), but try to address some obvious concerns.
Network Packet Conversion
Beyond the handshaking and security improvements I am also still progressing through the list of packets converting them to a more compact binary form. There are about 150 packet types, so it's going to take some time to work my way through all of them. This week I focused on the login and character management packets, and each week I'll select another subset of packets to refactor (movement, inventory, fishing, etc.).
Reducing Frame Stuttering
Another high-priority item which I turned my attention to this week is some frame stuttering that happens when changing terrain pages. I've brought attention to this problem a few times recently at our monthly developers meetings.
I'm in an "gathering data" phase of this task, and have implemented a new system to log resource load times and identify where the hang-ups are. This log has provided insight into which resource types (meshes, textures, shaders, etc.) load slowly and deeper insight into each as to what portion of the loading process (disc access, decompression, parsing, uploading to GPU) are causing the frame stutters. I plan to move more of these loading steps into background threads this upcoming week.
The heavy programming tasks this week left me more exhausted in the evenings compared to weeks past, so I found myself looking for world building tasks that were less demanding of raw creativity. I spent some of that time re-working areas like the Bamboo Pools area after the World Scale Change so that the scene objects fit together better.
While testing I had the idea that I'd really like to see more Taipii walking about on the roads. There is an active group of Taipii fishing near the docks, and a few more that grill food or run around moving items between crates - but most of Tasii Garden and the newer Wei Garden are still a ghost town. Working on the Taipii Guilds last week had me thinking about what NPCs I could add next, which led me to thinking about members of the Taipii Defenders Guild walking about on patrol.
To make these new NPCs recognizable as such I decided that I'd like them to carry a weapon. I don't have the weapons crafting or combat systems back in the game, so for now I decided to add in some placeholders. Later on these temporary "decorative" weapons might be broken up into crafting parts or serve as inspiration.
A variety of decorative temporary weapons added to Antilia.
So far I've added 18 bows (including the Miiraun bow carried by an NPC in the Antilia MMO), 40 swords, 17 axes, and some arrows. I have a variety of hammers and maces, polearms, shields, daggers, and staves currently in the works.
I've also been adding these weapons to the "drop list" of higher tier treasure chests. When NPC shops are added I'll likely move most of these into shops instead, but for now it provides a way to find the weapons to trade among characters. Most of the weapons currently do nothing (they are just decorative items to equip) except for the axes, which can be used to fell trees.
Some of the temporary axes, which can be used to fell trees.
Sorry there weren't more screenshots to share, it was a "programming heavy" week. Thanks for reading!