Weekly Update - Bug Fixes, Request Batches, Merchant NPCs

My priority continues to be preparing Antilia for initial multiplayer testing, but along the way I took the time to add merchants you can sell excess items to.

Testing Preparations

Here are a couple of my high-priority bugs I was able to cross off this week:

  • IMPROVED: Disconnected from Server Message - If the server connection is lost, the game now takes you back to the main menu with a message. I spent quite a bit of time refactoring things so that you could rejoin the game - but I am still running into bugs after doing so.
  • ADDED: Network Request/Response Batching - I've added an new system for small, low-priority network packets (primarily status queries for trees, treasure chests, and exploration markers) to be sent in batches instead of a flood of tiny packets. The server uses the same system for batching up low-priority responses.

Below are the items still on my list. I plan to continue posting this list each week as I try to cross items off. My initial testing date is only a couple weeks away now, and I'm admittedly a little nervous as to how that will go. (But I really want to get into testing, so... I'll do my best and we'll see where things are November 1st.)

  • Add Multiplayer Server - An "Invite Code" system to add a new server connection.
  • Check Launcher Status - Ensure that everything is still in good working order.
  • Limit Terrain to the Isle of Kasau - There's no reason to distribute the full Antilia terrain right now.
  • Exit Game Interface Screens - Fix the glitch that prevents exiting interface screens without clicking on background first

NPC Merchants

I've mentioned it a few times lately that I really feel like Antilia needs some NPC shops to have something that approaches an initial game loop. Catching fish is fun for a while, but after fishing for a bit you end up with more fish than you can eat before they spoil.

But before I could make any progress on that I needed to sort something else out first - how much is a fish worth?

Inventory Item Market Values

Up until now the hovering information panel did not provide a value when you hover over items in the inventory. I've been considering a variety of different ways to approach economy and item prices, with some ideas being a bit more complex than others. I want to see something of a dynamic economy in Antilia, but there are good ways and bad ways to go about that. With only a few towns and merchants, there isn't enough buying and selling to try for a dynamic economy just yet, so instead I implemented some placeholder functions that can be filled in down the road.

Along with that I've added some functions that provide dynamic valuations of items based on their properties. For example food items gain value the more cooked nutrients they have and lose value as they spoil. Weapons are valued based on what damage types and amounts they do, and Miiraun crystals are valued based on their current and max energy.

Item values now appear in the item information pop-up, and are calculated dynamically as the item ages or condition changes. These abundant fruits aren't worth anything on their own, but can accumulate value in a stack.

There are still some items in the game that end up with a dynamic value of "0" - things like flowers and plant drops that don't have a use in-game yet. For now I can assign them a fixed value, or just wait until their purpose is added (alchemy ingredient properties, etc.)

Sell Items to Merchant

With most inventory items finally having a value, I added a screen where you can sell items to merchant NPCs. Unlike the MMO buying and selling will be split into separate interfaces now. To sell things you'll interact with the merchant, to buy things you'll browse through items sitting on tables and shelves and click on the items you wish to buy. I don't have that "buying" interface working yet, but you might recall a couple weeks ago I made improvements that allowed me to hover-over and inspect items that were on the cooking grill, displayed on a table, or even items being held by another character. Those were made with buying items in mind.

Yesterday I added and implemented the Sell To Merchant interface. You can click on a merchant, drag a few items or a whole tray into the "Sell Items" slot, get a valuation that is calculated on the server (and can thus consider economy and character Mercantile skills), and click the "Sell" button to exchange them for pearls.

The current Sell to Merchant screen.

After playing with it a bit I am second guessing the idea of putting currencies in the inventory - I don't like how difficult it is to see how many pearls you have, especially as that number grows larger. For now I'm happy that NPC shops are starting to make a return.

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