From: Brett L. <wak...@ea...> - 2005-03-03 02:20:17
|
> >Players can always cheat and edit a save file, making it a little less >easy doesn't stop them doing (search for 'security through (or by) >obscurity' for more information). I agree. Cheating isn't really a concern of mine unless Rails ends up= being looked at for tournament play. If we get to that stage, I think we can revisit the cheating issue. Until= then, I don't really care if someone can modify the save file to their advantage. The only person they cheat is= themselves. Additionally, in another Java app, PCGen, just last night I was able to fix= a bug in a data set on my own simply because the data format is= human-readable. In the early stages of development, the more we can= facilitate bug discovery, the better. > >You need a human readable format because it makes testing much easier, and >bug hunting later much easier. It is also much, much easier to provide >backward compatibility. Look at the problems Peter Nowak is reporting >getting the new version of the Vassal/18xx to read his old saves. Java >serialisation is great for live system-system communications, it is very >fragile as a persistence mechanism because when you change the class >signature, you find that you cannot load old saves. If your upgrade adds a >new attribute, either your new XML reading code can cope with the absence >from an old save, or you can easily provide a migration script for old >saves. Let's not even get into byte-ordering issues different hardware >classes. > >Basically, 'It's too much like hard work to do human readable saves' is >lazy, and will land in a deep hole later, it's also just not true with XML >as good libraries are freely available to do the hard work. > >It also means that someone else can much more easily write a tool that >will work with your save files: e.g. someone might want to take a game >log, and produce an animation of the map development. If your log is in a >well-known, easy to read format, they'll just get on with it, and suddenly >your project has more features. Keep it friendly for other people to work >with you, and you'll get more friends working with you. > All good points. In my opinion, speed of development is an important issue,= but so is long-term managability. I think XML is widely accepted enough that we won't have too= much of a problem finding tools to work with it. ---Brett |