I guess there are usefull components in any program and yes, in OpenRTS, we have some interesting piece of code :
- Generic Grid for tile based map
- Geometry library
- Builder Library based on XML dataset
- Steering behavior machine for motion of many non collidable entities
- FlowFields for pathfinding with large groups of entities
- ActorPool System to draw on View anything with few defintions
...and maybe others.
These pieces of code may be used in other projects and I would be very proud if they where ^^ They need to become more generic and OpenRTS has to be refactored to make a good use of it but nothing hard for most of them.
The way @Pesegato does it for the builder library is, I think, the best :
- find a component you may use
- create a generic framework with it
- use it in your own project
- adapt OpenRTS to it, as thanking
But I see some problems with that, because new born framework will be immature and will need to evolve with the new needs it adresses. Backward compatibility may become a challenge.
If the work is done : great ! If OpenRTS encounters compilation problems or bugs because of the dependecy's evolution : bad
Finally, I thinks it's useless to extract components from OpenRTS before anyone expresses the need for it. Let's focus on our ambitious goals