I'm trying something of the same now using serialization as an experiment with a game server that I'm writing in C#. The game data for one game is split among 17 classes so the idea is that multiple games are held in a game cache in ram. If the server tries to update a game that isn't in the cache then it creates an empty game instance and loads it quickly using the serialized data. Unlike C or C++ where structs are contained in memory and you can dump the contents, it's much better to use serialization, convert the members to a stream of binary and write that. Greg Young has an interesting example. I'll let you know how I get on.

