The game MegaGlest uses a MD3-like mesh format, which is keyframe-based vertex animation.
One of the challenges moving forward is to continue to support lower-end hardware. We know some users have trouble with high-poly models, and the current MegaGlest assets are thoughtfully spartan because of this. Not all players have hardware that supports shaders, even.
However, we aim to provide a much richer experience to people with today's high-end hardware. We also aim to add support for a bone-based format, probably IQM/IQE. We want much higher quality meshes, but we want to continue to support low-end hardware.
The plan that is hatching in my mind is to distribute high-end meshes and have the low-end targets auto-simplify them in order to meet some sliding scale of budget.
How do you simplify meshes? I can find lots of research-like papers, but nothing really mainstream nor concrete. And to my mind, some consideration of triangles per unit cube (in game space) is needed, and not just arbitrarily saying 'make this mesh have only n triangles', where the triangles may be unevenly distributed around the model.