I’ll also comment on this one, but keep in mind I’m not talking from standpoint of programmer, but as someone who want to get VCMI into playable state ASAP.
One and most important advantage our current serialization have: it’s actually working with almost no effort. Any change in that area would require massive engine rework that will probably throw us back to many months.
Another nice feature is that current serializer will let us easily implement passing whole gamestate over network on client reconnection or host migration.
Sorry, but the last thing we need is our own implementation of some new protocol. If we ever decide to rework whole serialization we’ll likely use something like protobuf.
Keep in mind that VCMI is developed by mortals and it’s not too hard to make inefficient code that will be slow on any hardware. In fact VCMI is slow enough already.
For instance things like AI require a lot of CPU time especially since AI also work over network and I personally don’t want this to change. So serialization must be efficient.