TriadCity Message of the Day
2007-08-21
Server version 0.77.0.0 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 0.7.6.10, 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 0.77.0.0 will be a big step toward that
goal.
Back to the current MOTD index.
|