Sorry for taking so long to respond to your posts, everyone. Thanks for your input.

Quote Originally Posted by Jasdoif View Post
First question: what you considering "configuration", that an INI file isn't up to the task?
Maybe "configuration" isn't necessarily the right word, but it was what immediately came to mind. I guess it's less configuration and more specifications for attributes possessed by entities in my game. The reason why INI started to become clunky is that INI is good for simple sets of values that can be assigned to entities' attributes, but not good for more complex object definitions, which some of the entities in my game have. For example, some types of entities in my game have particle emitters attached to them, and I need to be able to specify not just the particle configuration defined elsewhere in the file, but also the position of the emitter relative to the entity, as well as the depth at which it should be rendered in the rendering layer the emitter is in. I could do this with an INI file (this is, in fact, what I have been doing), but having to get the value as a string, separate the string into parts, then parse the parts was becoming tiresome. It was also causing the INI file to get a bit ugly, and which value refers to which attribute could be rather unclear to anyone who isn't me.

As for these:
Quote Originally Posted by factotum View Post
XML has a pretty heavy overhead to just use as a configuration file--I'd be more inclined to use something a bit more lightweight like JSON.
Quote Originally Posted by IthilanorStPete View Post
Yes. It's on the heavy side, but it allows for more complex structures and explanatory comments, unlike JSON. It also doesn't have to deal with YAML's whitespace sensitivity or ambiguity.
I've pretty much decided that I will use JSON. XML is kind of clunky for different reasons, and JSON just looks nicer and easier to read than XML. If I need to specify what the values in the file mean (and it's not obvious from their names), I can document them in a separate file.