An alpha version of Almonaster Build 700 is now live on the Falcon server. The server is open to everyone, so please feel free to log in, or create an account if you haven’t been there before, and join a game.
Some of you will be reading about Almonaster for the first time here. Go read the introduction page if so. Or, even better, go play a game or two. One of the great things about this kind of game is that you can always find the right level of game for your time constraints, from 3 minute blitzes to weekly updates.
For those of you who have been playing Stellar Crisis or Almonaster for a while, I wanted to spend a little time talking about what’s new in Build 700. The short answer is that the game now uses a real database on the back end, specifically SQL Server 2008 R2. This brings a number of advantages:
- Much better error handling via database transactions.
- Much better backup and recovery story.
- Much better diagnostics story.
From a user-visible perspective, this means that the server’s uptime will be a lot better, there will be no data corruption, there will be no rewinds unless a disk fails, and server bugs will be a lot easier to track down.
It also means that there is a path forward for the game server code, from its current deployment on a single machine to a cloud deployment, were the game to grow in usage and popularity. It’s not a large conceptual step from today’s database layout to a set of sharded databases used by a farm of middle-tier servers.
So in addition to improved availability and reliability, Build 700 also brings a path forward for the Almonaster codebase. It’s also been a lot of fun to work on over the last few months.
I should note that as the title indicates, the code is currently in Alpha state. What that means is that there will be bugs. While I can observe these on the server side, it does help if you report them. Aside from things “not working right”, there’s an easy way to tell if you’re hitting a server bug: you run into a screen like this:
Error 500: Internal Server Error
There was an internal server error processing request adc8c192-5fe4-4fdf-9c33-b9b9133dfa28.
If you see one of these, please contact me using the email link on the server’s login page.