Integrate nyan
My master's thesis ~is~ was about implementing and designing nyan (#28).
~Assuming it is finished,~ It's finished and openage needs a huge overhaul to integrate it. The integration must be done step by step to constantly see progress and keep motivation up.
- [x] Upgrade game logic
- [x] Dynamic attribute instanciation
- [x] Dynamic actions assignments
- [x] Dynamic ability activation
- ...
- [x] Create the openage-engine nyan API
- [x] Add game content (units, assets, ) via nyan (configures the game logic)
- [ ] Add additional content via nyan (UI, QML, Shaders, ...)
- [ ] Integrate that with changes to the Python-API (so that mods may ship Python scripts)
- [x] Convert the original game information (the dat file) to nyan
- [ ] Create replacement files in the openage-data repo
How are we planning to add the assets to nyan? There are 2 options:
- Add asset ids/names to the nyan files, which makes it harder to add replacement files
- Change the asset structure so that it matches the nyan structure, which is problematic because of shared assets
Maybe a combination of both: have a sane asset structure with no redundancy, which is then used from the nyan files
@detrumi yes, creating a new structure is probably the best way.
To combine nyan with the engine I think the following is the best approach:
- Create the most basic
nyan-objects as part of the openage-repo, which the engine uses as basis - Implement #632
- Let the
convertsystem spit out a asset pack which uses the engine API from bullet 0 - Load that asset pack to feed the engine with data
The nyan-API can then grow incrementally, and the converter can make use of that to create "more advanced" asset packs.
This may be the only way to perform the transition without long wait times that stall development as it has happened the last year or so.