Subject: Re: [boost] A Google Summer of Code Proposal(Boost C++)
From: Klaim - JoÃ«l Lamotte (mjklaim_at_[hidden])
Date: 2014-12-20 06:35:38
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
(otherwise they can already use a full game engine
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
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?)