« News

Aug
18

Stability, Performance, Scalability

Another not-that-exciting-on-the-surface release. A few apparent bugfixes. Behind the scenes, however, we're making progress on several different projects. First of all:

Yesterday's Downtime - This was necessary for a couple of reasons. The biggest was migrating our core database server to a different machine, which should be able to provide a lot more capacity (I also updated our webserver, hence the small downtime there). This new database server goes hand-in-hand with another change currently going into testing on the "Test" server, totally altering how our back-end reads and writes to the database. With luck, this change will go into production next week, and although there might be some visible speed improvements in cases where a lot of data is read, the reasoning is mostly to make our back-end architecture a lot cleaner and more scalable.

Next, the ongoing project of making capship battles faster on the server, so we can have more capships and more.. stuff going on at once. Ray has uncovered several performance issues, and made some improvements which are now in production. There are still a few other things to be rewritten / improved, and then he and Andy will probably move forward with migrating us to Lua 5.1, hopefully this coming week. Once that's handled, we will probably begin experimenting with LuaJIT on the server (and perhaps on the client, although LuaJIT doesn't do PowerPC or AMD64 at present). A goodly amount of our server load in these busy "big battle" scenarios is used by Lua. Obviously, everything "heavy" is already written in C (like physics, or collision detection), but even "light" functionality, when multiplied times enough ships and turrets, can start to have a sizable impact. This is what Ray is already in the process of reworking, but LuaJIT will hopefully give us an additional speed boost on the server side. Even a modest improvement would be helpful when scaled over our entire game, so it's time well spent. Once these respective projects are completed, Ray will come back to doing more visible changes and moving forward with faction stuff and whatnot. The timing of this "server-battle-speedup" stuff was necessary to cooincide with various Hive redux work, which is described below, not to mention other cap-battle plans.

The great Kourier / Erlang project has been going really well. We seem to have finally cleaned up our memory leaks, and it will soon be time to make new ones! Har har. Seriously though, we've had it in production for a week without any performance or memory footprint problems, it seems to be behaving in the streamlined and clean way we always expected when we started down this road early this year. Michael is currently working on some watchdogging and global limits, to be sure that future (inevitable) Kourier bugs don't result in far too many bots. Next will probably be the redux of the Hive and recreation of all that content under Kourier. During this process I hope to rework a lot of the actual Hive-based gameplay, so examples like.. the Leviathan being properly defended, and Hive Bastions (Queens with Guardians) being more interesting and.. useful to assault. So if you have any ideas specific to the Hive, and interaction with the Hive, please dust them off and post them to the Suggestions forum. After the Hive, we'll start reviving improved versions of Pirates and other work we had to cut out while things were so unstable.

In other news, I have some more PCC missions to push into production, once I take a look at them. The last ones were very well received, kudos to Phaserlight (I need to also help him coordinate on fixing the few issues that did crop up, we're still working on giving the PCC all the features they need. Being able to view and copy missions they submitted which were accepted into production is one of them).

Anyway, sorry there haven't been a lot of Big, Exciting Changes lately. We are making good headway (actually, great headway, compared to the last year of having stuff explode on us), and when we do actually start making some Bigger changes, they'll be a lot more likely to.. work correctly on a large scale. Visible changes aren't too far down the pipeline, either, we should be wrapping up this "scalability / performance" work by the end of the month. In the meantime, I'll try to get a steady stream of new missions out there to provide some new content.

As always, thanks for your support, please post about any bugs or issues to the forums.