Game development is technically a big mix of a lot of different domains. I don't believe it would be a good idea to try to provide one specific mix. Libraries like SFML shows that it is better to provide simple constructs to developers so that they have more freedom on designing the specifics of their game (otherwise they can already use a full game engine for free) However, there are some specific domain constructs that are useful to game programming and soft-real-time simulations in general. Here are some library suggestions: - Tweening library (there was a Boost.Tween library in progress but I suspect that it is abandoned) (relying on Geometry concepts?) - (Meta/Concept-based) Component System library (I belive that it is possible to build a component system which can adapt to any kind of game at low cost, a bit like MSM for state machines) Here I mean components as "an entity is a composition of component, each component type exposing domain-specific properties values for the entity". I can think of at least 3 ways to implement this which would have different tradeoffs but would all be useful and generic enough to be used in a lot of cases. I also have several implementations but nothing that can be easily made stand-alone library. Yet. - Spatial search/sorting structures/algorithms (I think there is something like that in Boost.Geometry) - Interractive simulation state solver (I remember someone asking for interest for something like this in the mailing list but no idea Here by interractive I mean that the solution will ask a user what one or several specific agents should decide to do. (this is useful for anything turn-by-turn) - Behavior Tree library; - Event Board library (centralized event dispatching, both thread-safe and not thread-safe; something like this: - Steering Behaviors library (relying on Geometry concepts?)