This has probably been discuss before. But something that i feel that is missing from cocos2d-x is a package manager for extensions or even for core components of cocos2d-x.
And yeah i know that this may sound easier than what it really is. But at least i would like to start a discussion on the high level architecture of how this would work.
My sources of inspiration are:
- Cocoapods (xcode package manager)
- npm (package manager for node.js)
- bower (web front end package manager)
Obviously is going to be a lot of work to try and do everything that cocoapods does but we could probably leverage on what they have done or just take them as a source of inspiration.
Because cocos2d-x can be use with different IDEs I would say that to start of we would have to make a simple client that only downloads from git repos (doesn’t update the projects) the source code for the packages you have defined in some kind of config file.
But the first step would be to define:
- Folder structures standards for extensions.
- Schema for the config file where all your package information would be at.
- Client side language/architecture. (python, something multiplatform)
- Server side architecture. Shouldn’t be to complicated would only act as a router between client and git repos.
Well let me know if you have some suggestion or comments.
I’m currently working on a extension for cocos2d-x once I’m finish with that I will probably try to do a small POC for a “extension manager”.