Tuesday, September 04, 2012

Mystery Machine 0.20

Almost two months ago I tagged the version of MysteryMachine which is to be the 0.2.0 release in the repository.
It has been available (and tagged) on bitbucket for some time but, due to Real life commitments (My partner and myself , moved into a new house at Easter ,and I have been renovating the Kitchen, amongst other things), but it is now long past the time I should have made an official (ish) announcement.

So MysteryMachine 0.2.0 is available from here (Zip) (tgz):-

It new features are:-
  1. Journalled main data store. For better data integrity
  2. Use Mercurial server rather than in-process mercurial for better compatibility.
The Journalled data store brings lots of improvements at the internal API level but not much that can be seen if you only use the GUI. Although It will make fixes a few awkward use cases easier (Yay). It will also handle the rollback and transactions so that the chances of corruption due to something 'going wrong'  is now very small. It was pretty small already due to the use of a very simple store model.
The big downside of the latest version is it will no longer work on windows XP. This is because to get the journal updates to work I need unix like files, it actually can't work with window file semantics, and AFAICT cant be made too. However this isn't an issue on Vista and later because they include a layer which does this an more as part of the operating system. So on Windows we use this layer (TxF), for data integrity within MysteryMachine, I've already blogged about my experience writing this .

The use of mercurial command server mode, and the fact that a number the projects which MysteryMachine depends on have fixed a few bugs since the last release also means the installation process should be much easier.

The next big thing I need to add to MysteryMachine is a query language so that statements like 'Summarise all the items this character starts with' can be expressed. This is needed for most sensible character sheet formats. I got away without it for Siege Mentality but it won't work with any of the more complicated games that I want to use MysteryMachine for, where the number of items etc, might vary between the players.

As a final note the trac site is currently non-functional, so either leave a comment here if you have an issue or use the bug tracker on bit bucket.