--------------- UPDATED 1 August 2008 ---------------
Completely new version (Version 0.90). Now with am easy to use GUI (Graphic User Interface) as shown in the screenshot below. The file is 5Mb.
Dom3Bak is a Backup Utility that automatically takes a backup at the start of each turn that can easily be restored later. You can restore the game back to any turn.
This was built so players could try replaying a situation over again to learn the ropes. I agree with the general consensus that if the game is too easy to restore it will change its character, but there are times, for example when you are learning a new race or want to try something specific, that having a restore option would be helpful.
This is a Windows only application but the source files in the post below may run on other systems.
This is still to be considered Beta because I'm the only tester at this stage. It works on my system but that doesn't mean it will work on yours.
This is not a supported product etc so changes will only be made when time permits. Please feel free to use it as is.
Usual disclaimer stuff here about I won't take responsibility for problems etc.
---------------------------------------------------------------
Screenshot
---------------------------------------------------------------
Attachments
The attachment to this post is a Windows installer of around 5Mb. It is self contained so you don't need Python or the extra Python modules for it to work.
Just open the zip file and run the application. It will automatically install onto your computer and place a shortcut on your desktop.
It will install into C:\Program Files\dominions3\Dom3Bak.
My second post in this thread will also have an attachment which is just the source files. This is a zip file of about 10kb (heaps smaller). This is for those of you who have Python installed and want more manual control over its implementation, or for anyone who wants to fiddle about with the code.
This uses a couple of non-standard Python modules such as PyWin32 so you will need to get those as well if you just install the source files.
---------------------------------------------------------------
Using Dom3Bak
To start using Dom3Bak, just run from the desktop or use the Start menu.
The Dom3Bak window should open. Click 'Start' to start monitoring the savegame directory of Dominions.
Open Dominions and start playing turns. As each turn is played Dom3Bak will back them up for you.
Best to double check after you have saved a turn that the Dom3Bak is giving back meaningful information in its log window.
---------------------------------------------------------------
Restoring Backups
Make sure you are not currently playing the game in Dominions 3.
From Dom3Bak, just choose the game from the dropdown list. This will display the list of turns for that game.
Then select the turn you want to restore. If you have removed a game and want to completely restore it, choose the 'Game Setup' file first as this contains all the files. The turn backups only contain the turn files.
Then click on 'Restore' to restore the turn.
If you want to completely remove the game backup, use the 'Delete game and all turns' button. This will just remove the game you have selected in the game list.
It is really very easy to use now. Hope you enjoy it.
---------------------------------------------------------------
Acknowledgements
It was informative to see how code situations were handled by
both WraithLord and LolliPop so thank you.
---------------------------------------------------------------
---------------------ORIGINAL POST FOLLOWS------------------------
The other day I decided to try and learn Python programming language and usually when I start with something new I also like to have a specific project. Anyhow, to cut to the chase I decided that the target project would be to build a small backup utility for my single player Dominions games. I know that there is already a turn backup utility that has been built in Python a couple of years ago, but I think this one is a little different.
At the moment, all my script does is:
1. Watches the savedgames directory for any changes in a .trn file. This file changes when the new turn is generated.
2. Creates a zip file named using the current time code (I want to change this to the current turn at some point) and places the .2h, .trn and ftherlnd files inside. The zip file is saved in a new directory.
The configuration settings are just in a config text file so can easily be amended if the savegame folder is in a different location.
The utility just keeps on backing up each turn as it is played and you're not even aware of it until you look in the backup directory.
If you decide to replay a turn you need to close Dominions; open the zip file; extract the contents back into the savegame directory; restart Dominions and play the saved game.
At the moment it does what I want it to do but I was wondering if anyone else would be interested in it as well. I've still got a heap of work I want to do with it as a project but as a rough and ready script it may help some of you.
Down the track I want to make a user interface for it so that the backups can be restored more easily but I'm just taking baby steps with it as I learn the language.
If there is interest I'll clean it up and make it available.