We should not just invent a new format, we should use an existing one that's designed for our intended purpose.
- A perfect example of why we shouldn't do that is the font files. That app isn't cross platform, and very few people have successfully used it.
Standards exist for a reason - we should use them.
That way we get editors for free, a standards document to work with and examples to test against.
- If we invent our own, we get none of those things. So you get bugs due to incorrect implementation at both ends, and bugs due to mistakes in the format.
So I would say MNG or OGG.
Given the previous information, MNG looks to be by far the best bet unless someone wants to re-write the movie player.
A materials system is a different kind of usage, so should be handled in another way.
- It also shouldn't be a container because there's a lot of data there that would be shared between materials.
For example, almost every ship in a mission would use the same shader with very different textures. You don't want to have to load and compile that many times from many containers 'just in case' one is different - the code should be able to detect "Ship classes 1..10 use Shader X, ship classes 11..20 use shader Y" and just load shaders X and Y.