I've been looking at the PropertiesIO utilized in AbstractGame and I was wondering if perhaps it could be abstracted a little bit better.  For example, when I was writing Roll-A-Rama I was extending AbstractGame but had no desire to use a Properties file as I was using the Preferences features instead so I didn't have to worry about a file on the filesystem to save data to.  This worked fine except I basically just had to ignore PropertiesIO that had already been defined.  If we had a more abstract way of defining properties or preferences or just moved the properties system into BaseGame I think we'd be better off.

Any thoughts on this?

Sounds good. Probably we should even replace the properties.cfg with the Java default property storage?

What do you guys think about the default implementation using Preferences instead of Properties entirely?  Still, I don't think it's wise to force even that on people as they may want to store configuration settings in a database or something completely different.

I checked in my initial work on this to get some feedback (and because StandardGame needed it).  I'd like other developer's opinion on the idea of the GameSettings interface I checked in.  It needs comments and perhaps setters added, but I think that portrays my vision pretty well.  I created PreferencesGameSettings as the first implementation and it should be trivial to create a PropertiesGameSettings that mimics the PropertiesIO aspect of the other games if we were to go forward with the idea.