Sorry for taking so long to respond to your posts, everyone. Thanks for your input.
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:
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.