TriadCity Message of the Day

Server version will be coming online real soon now. This is a major structural revision to the server code base which in one way or another touches pretty much 100% of the existing code. Here's a little bit about what's been done, why, and what it means for players.

The focus of this major revision is to better-enable unit testing of the complete code base. To do this, we've tried as hard as possible to simplify or even eliminate mutual dependencies between code units and modules, allowing better testing of code in isolation.

This is a major undertaking. Pretty much everything's been touched. Some things have been pretty profoundly transformed.

This makes it a lot easier to write meaningful unit tests. When we completed version, there were just 163 unit tests in place. As this is written, there are 1694, representing about 10% of the total code base. Our goal is to reach 80% coverage, er, you know, one of these days.

This is a great thing. It lets us be more confident that things work as expected, and it lets us be more sure that when we add new features, or fix reported bugs, we don't accidentally break something in the process.

At the same time, we've also upgraded lots of code to take advantage of new Java featuers which have become available over the last couple of years. Many of these relate to the way Java manages multithreading. We're using a ton of spiffy new language constructs which are intended to make our code run faster and more reliably.

What kinds of changes will you see, in consequence?

Well: they're mostly subtle. If you're paying super-close attention, you'll find little changes in lots of places. For instance, merchant NPCs now sometimes pay somewhat slightly different prices for items which they buy from you: the old prices were sometimes subtly incorrect. There are a lot of little examples like this.

Here's a larger one that makes us happy. The game runs faster. Where server reboots used to require about 5 minutes, they now require less than one minute. Some level of speedup is true of much of the game engine. We like that.

This milestone excites us a lot. We want to begin moving the server engine and the game world out of our epoch-long "Beta" period, toward our mature vision of what TriadCity is intended to be. Server version will be a big step toward that goal.

Back to the current MOTD index.
Not yet a member? Get started today!