That's an interesting question. It gets at the strategy (yes, *strategy*
) for the overall architecture of LT as a game.
There's probably a line that will have to be walked of convenience vs. performance. Disk I/O is historically one of the slowest things a piece of software can do, so it's best reserved for actions that are not taken frequently.
Conversely, if something needs to be done frequently, you want to organize your code so that it minimizes trips to the disk for the information required to accomplish that action.
So what things might be exposed as files may depend on whether they need to be encoded in some LT-specific format that's good for performance but not directly readable by humans.
What are those things? That's the question.