

I’m very sad they are closing shop, but I understand it.
I find their last DLC awfully expensive, but I think I’ll buy them anyway, as I really loved all their games (bought desperados 3 day 1, same for shadow gambit, and no regrets).
Their games were crafted with love, and it shows. If you haven’t, go and try them on, it’s a fun genre.
I started playing because I had nostalgia for the commandos games, but they really refined the gameplay and made the different difficulty modes so everyone can have fun.
You should group your source files by domain, then by feature, e.g. ‘src/foo/model’ and ‘src/foo/exports’.
Is serialization/deserialization the only aim of these structures ? If not, that code should definitely be separated, so as to evolve separately from the structure itself.
If it is the only aim, the code should also be separated, so you can change your serialization type (e.g. from JSON to XML) without impacting the model.
Also you might need another export for compatibility with another software, and you don’t want your model file to grow with the 10 formats you support.