OpenRTS split up into components to make it reusable for other games

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 :frowning:

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 :smiley:

1 Like