Weekly Update - Wei Garden, Interface Fixes, Networking

This week I (mostly) finished up Wei Garden, started some needed optimizations to the networking code, and fixed some user interface issues. I focused primarily on refactoring and UI fixes this week, so this update will be brief.

Wei Garden

In last week's update I included a teaser image of Wei Garden getting another pass, and this week I tried to finish up those changes. As I walk around the new town inspecting things I'm still finding objects here and there which could be positioned better or swapped out for something else, but that is true of Tasii Garden as well. Wei Garden now has some nice points of interest, and I am happy with the improvements. My primary purpose for this region right now is to add more houses to Kasau. By the time I allocate buildings for shops, guilds, and permanent NPCs there are surprisingly few that'll be up for grabs to players on a server. Of course the Antilia mainland should eventually solve this.

I've come to think of Wei and Tasii Gardens as two districts of one village, and residents of Kasau might refer to the pair as simply "The Gardens".

An overview of the Wei Garden region, featuring a "main street", Takadynn island, some ruins, a sports field, and a few larger plots for farms or manors.

I like the idea of this open field for various sports, even if it is only in the lore for now. I have some ideas for how this might be used for special multiplayer events, but that'll have to wait for now...

A pretty shot of the Takadynn surrounded by flowers on it's own little island.

There is a small dock near the town center, I'd love to get these boats moving between here and the docks near Taipii base camp sometime.

I've added a small cave behind the village near Mt. Gajoi that offers some minerals to mine.

Networking Optimizations

I spent most of my programming efforts this week on the networking code. In initial development I had used a tool called "VariantMaps" to make the prototyping of new network packets quicker (it is very similar to the JSON file format except binary). Something the C++ language isn't always great at is converting a set of data into a binary stream, then safely parsing that stream back out (while also ensuring the data that arrives is formatted as intended and within expected bounds).

So this week I started on the long and tedious task of very carefully converting all the current network packets to a more compact c++ implementation with proper error and bounds handling. I expect this process to continue for several weeks while I also work on other things.

Interface Fixes

Another process that will be ongoing for a while will be to work though all the pre-game user interfaces and ensure all of them are in good working order and rendering correctly. This past week I gave the "Connect to Server" and loading screens some attention. Later this week I plan to test and debug the "Create Character" process. At some point in the past few months the final step of uploading new characters to the server broke.

The Connect to Server Screen after some improvement.

The loading screen now randomly displays one of several recent development shots of Antilia. In the future I'd like to add some gameplay tips that appear on top of the image, and maybe get that progress bar to work a bit better...

That's all for this week - thanks for reading!