- Added extra output options to the view roster dialogue in Roster Editor (show/hide points values, profile summary and rule summary).
- Allowed modifiers to change the points value of entries in Catalogue Editor.
- Added "min/max in roster" properties to entry groups, similar to those on entries.
- Added "type" property to entries that indicates if it is a unit, model or upgrade.
- Added exporting of rosters to other formats via XML stylesheets. It's under the file menu of Roster Editor.
- Correct controls are now displayed to make selections from entries that only have collective children.
- Fixed bug in Roster Editor where the duplicate button wouldn't work.
- Fixed bug where converting game system files to the new format prevented profiles from being entered or being displayed correctly in catalogue editor (any profiles entered in a catalogue are OK though).
- Fixed bug where some entry groups within entry groups would not be available to select from.
Thursday, 18 November 2010
BattleScribe 1.08b Released!
Another BattleScribe release today - they're coming thick and fast at the moment. There were a few annoying little bugs left in the last version so I decided to get them fixed sooner rather than later. There are also some nice new features added, including more improvements to the view roster dialogue box.
Sunday, 14 November 2010
Help Updated
The help pages on the website for Catalogue Editor and Roster Editor have been updated to bring them in line with the newer versions. There should be some more useful information on there than before as well. If there is anything else you'd like to see on there, or if there is something you're not sure about, head over to the forum and let me know.
Forum Down For Maintenance (Updated)
The BattleScribe forum is going to be down for the next hour or so. This is because I want to move the news blog onto a Wordpress install on my web host, rather than use this external Blogger site. Both the forum and the Wordpress blog will need to share my one available MySQL database, and as luck would have it, Wordpress thinks the name of the existing database is too long. Nothing's ever easy is it?
I need to take down the forum, rename the database to something shorter and then bring it back up again. Hopefully shouldn't be longer than an hour or so, as long as I don't screw anything up too bad.
Wish me luck, and thanks for your patience.
Update: Looks like I'm restricted to one database, and Wordpress and the forum can't share. Oh well this will have to wait for another time. Forum back up and running.
I need to take down the forum, rename the database to something shorter and then bring it back up again. Hopefully shouldn't be longer than an hour or so, as long as I don't screw anything up too bad.
Wish me luck, and thanks for your patience.
Update: Looks like I'm restricted to one database, and Wordpress and the forum can't share. Oh well this will have to wait for another time. Forum back up and running.
Friday, 12 November 2010
BattleScribe 1.07b Released!
So it turns out there were a few bugs in version 1.06b, so here is a quick release to get things fixed up again. There's also a bonus new feature.
- Stopped all controls from showing hiding themselves in Roster Editor. This also resolved a bug where entry groups were either not being displayed or were being hidden so they couldn't be further selected from in Roster Editor.
- Fixed a bug when editing a modifier in Catalogue Editor where some fields were not being saved properly.
- Bonus Feature: Copy and paste enabled between running copies of Catalogue Editor, so you can copy an entry or other item from one catalogue to another.
Monday, 8 November 2010
BattleScribe 1.06b Released!
After a bit of a delay (I was "blessed" by Father Nurgle...), BattleScribe 1.06b is finally here. There are some big changes in this release (for those of you who edit catalogues anyway). This should be the last major change to core functionality for BattleScribe, at least for the foreseeable future. After this it's going to be all new features, and I should be able to start getting through the UserVoice requests.
- Available options get shown/hidden in roster editor, depending on what you have selected so far. This is kind of experimental, so please let me know if you're a fan of this.
- "Dependencies" have been replaced with "Modifiers" in catalogue files. This should allow for much more accurate and flexible catalogue files in future.
- The format of the XML for game system, catalogue and roster files has been updated. Much less use of attributes and much more use of elements.
- Automatic processing of pre-1.06b files into the new format, so you do not have to re-download all your files.
- A few minor bug fixes and improvements.
Monday, 25 October 2010
Modifiers Progress and Screenshots
The new changes to turn dependencies into modifiers is making good progress. I'm almost done and I'm hoping to get it released in the next week or so, real life permitting. There are a few bug fixes to do, and I want to make sure that existing files convert correctly to the new format. It's important that dependencies get converted correctly to the new modifier system to ensure there isn't too much work to do on the data files to fix them afterwards.
Here's a few screenshots of the modifiers in Catalogue Editor to give you a better idea of where things are going. Hopefully you can see how much more flexible and powerful modifiers are than the existing dependencies.
Here's a few screenshots of the modifiers in Catalogue Editor to give you a better idea of where things are going. Hopefully you can see how much more flexible and powerful modifiers are than the existing dependencies.
![]() |
| Modifier and conditions in the tree |
![]() |
| Editing a modifier |
![]() |
| Editing a condition |
Sunday, 10 October 2010
Dependencies Suck
Over on UserVoice, there are several requests for changes and fixes around dependencies. The thing is dependencies have deeper problems, and I didn't want to spend time trying to patch up a broken system. Instead what's needed is a complete overhaul. However only recently have I come up with a way to get them to work.
Warning: It's a bit of a long post. If you've spent time creating catalogue files and battling with dependencies, you might want to read on to see what's changing. I've set up a forum post to discuss the changes or ask questions.
So What's Wrong With Dependencies?
Restrictions on selecting units can change depending on what has already been selected. It wasn't until soon before the release of BattleScribe that I decided it would need some kind of simple logic system to represent these changes. Dependencies were born - the idea being that being able to select something depends on what you have selected of some other unit. The problem was, they were hastily dreamed up and just sort of added on at the last minute.
Firstly, the dependencies' conditions can't be combined. This limits their flexibility to represent different situations - for example you can't say "apply dependency if you select Y and Z" or "apply dependency X if you select Y or Z". You can never quite seem to get them to do what you want.
Secondly the error checking mechanism for dependencies is separate from that of the normal restrictions on entries (min/max selections, points etc). This leads to conflicting errors where no matter what you do, either the entry or the dependency shows an error. Essentially dependencies impose their own separate set of rules on what you can select in your roster. They aren't integrated into the general error checking.
Finally, because it was rushed together, the dependency code is a mess - buggy and hard to maintain. It needs rewriting to make it easier to fix problems in future.
What's the Solution?
I've decided to change dependencies to something new: Modifiers. The idea is that a modifier makes changes to an entry if certain conditions are met. A modifier will can change any min/max restriction an entry or entry group. They can increment a value, decrement it or set it to a specific value. This change can be applied once, or multiple times depending on how many selections from another entry have been made. The normal error checking of entries then handles displaying a message.
A modifier can have one or more conditions that have to be met before the changes are made. They can also have one or more condition groups which join together a set of conditions (or more condition groups) with an "and" or an "or".
A condition is based on either the number or the points value of selections from an entry or entry group. This can either be within the parent selection or in the entire roster. A condition has a value to test this selection count or points total against. The tests are "equal to", "greater than", "less than", "at least", "at most". So for example you could have conditions that say things like:
This modifier would have an "and" condition group containing two conditions. The first condition would be "number of selections of inquisitor in the roster is equal to 0". The second would be "number of selections of inquisitor lord in the roster is equal to 0". Therefore, you would get an error if you selected the assassins, but you didn't have an inquisitor and you didn't have an inquisitor lord.
Finally
This all means some major changes to the file format for BattleScribe. There were other changes to be made here too, so I'm wrapping it all up into one big change. Don't worry though - I'm working on a way to convert old format files to the new format so they'll still work. This will even convert dependencies to modifiers as best it can. I think there will be quite a few issues with dependencies after this change however, so a swathe of bug fixing catalogues might need doing.
Warning: It's a bit of a long post. If you've spent time creating catalogue files and battling with dependencies, you might want to read on to see what's changing. I've set up a forum post to discuss the changes or ask questions.
So What's Wrong With Dependencies?
Restrictions on selecting units can change depending on what has already been selected. It wasn't until soon before the release of BattleScribe that I decided it would need some kind of simple logic system to represent these changes. Dependencies were born - the idea being that being able to select something depends on what you have selected of some other unit. The problem was, they were hastily dreamed up and just sort of added on at the last minute.
Firstly, the dependencies' conditions can't be combined. This limits their flexibility to represent different situations - for example you can't say "apply dependency if you select Y and Z" or "apply dependency X if you select Y or Z". You can never quite seem to get them to do what you want.
Secondly the error checking mechanism for dependencies is separate from that of the normal restrictions on entries (min/max selections, points etc). This leads to conflicting errors where no matter what you do, either the entry or the dependency shows an error. Essentially dependencies impose their own separate set of rules on what you can select in your roster. They aren't integrated into the general error checking.
Finally, because it was rushed together, the dependency code is a mess - buggy and hard to maintain. It needs rewriting to make it easier to fix problems in future.
What's the Solution?
I've decided to change dependencies to something new: Modifiers. The idea is that a modifier makes changes to an entry if certain conditions are met. A modifier will can change any min/max restriction an entry or entry group. They can increment a value, decrement it or set it to a specific value. This change can be applied once, or multiple times depending on how many selections from another entry have been made. The normal error checking of entries then handles displaying a message.
A modifier can have one or more conditions that have to be met before the changes are made. They can also have one or more condition groups which join together a set of conditions (or more condition groups) with an "and" or an "or".
A condition is based on either the number or the points value of selections from an entry or entry group. This can either be within the parent selection or in the entire roster. A condition has a value to test this selection count or points total against. The tests are "equal to", "greater than", "less than", "at least", "at most". So for example you could have conditions that say things like:
- if points total of selections of entry in entire roster is greater than 100
- if number of selections of entry in it's parent selection is at least 1
- if number of selections of entry in it's parent selection is equal to 0
This modifier would have an "and" condition group containing two conditions. The first condition would be "number of selections of inquisitor in the roster is equal to 0". The second would be "number of selections of inquisitor lord in the roster is equal to 0". Therefore, you would get an error if you selected the assassins, but you didn't have an inquisitor and you didn't have an inquisitor lord.
Finally
This all means some major changes to the file format for BattleScribe. There were other changes to be made here too, so I'm wrapping it all up into one big change. Don't worry though - I'm working on a way to convert old format files to the new format so they'll still work. This will even convert dependencies to modifiers as best it can. I think there will be quite a few issues with dependencies after this change however, so a swathe of bug fixing catalogues might need doing.
Thursday, 23 September 2010
BattleScribe 1.05b Released!
Just a bunch of bug fixes and little tweeks in this one. I have plans afoot for some bigger changes coming up which I'll write a post about in the near future. Included in this release:
- Improved layout of profiles when printing/viewing a roster to save on space
- Catalogue level rules are now shown in their own section when printing/viewing a roster
- The decimal point portion of all points values is now only displayed if there is actually something after the decimal point
- Fixed bug where you couldn't change the name and points limit of a roster after you created it
- Fixed bug where you couldn't remove catalogue level rules in Catalogue Editor
- Fixed problems around creating new categories in Game System Editor
- Fixed bug in dependency logic that incorrectly reported some errors for "Must include x if you have selected y" dependencies
Available to download at http://www.battlescribe.net.
Wednesday, 8 September 2010
BattleScribe 1.04b Released!
A small set of changes in this release, but one of the highest voted requests on UserVoice has finally been addressed: printing. This one turned out to be much easier than expected after I stumbled upon a quick solution. There have also been a few usability improvements and changes to better support more game systems.
- Printing directly from Roster Editor now supported.
- Points values throughout can now have decimal places/fractions to support armies where points aren't whole numbers. For example Skaven clanrats have some options that cost 0.5pts.
- Roster Editor now remembers which folder was last saved to/loaded from and displays this when you next save/load a roster.
- You can now manually enter an entry/entry group id when creating a dependency in Catalogue Editor, so a dependency can now depend on any entry/entry group in the catalogue.
- All BattleScribe programs now save their files as formatted XML to aid reading/manual editing and to allow SVN to merge changes line by line.
- Improvements to the View Roster dialogue.
- Uninstaller now correctly removes start menu shortcuts under Windows Vista and Windows 7. (Note: You may need to manually remove the old BattleScribe start menu shortcuts after you upgrade to 1.04b under Windows Vista or Windows 7)
Available to download at http://www.battlescribe.net.
Wednesday, 18 August 2010
Subscribe to:
Posts (Atom)


