openage icon indicating copy to clipboard operation
openage copied to clipboard

Integrate nyan

Open TheJJ opened this issue 9 years ago • 2 comments

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

TheJJ avatar Feb 06 '17 23:02 TheJJ

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 avatar Feb 07 '17 11:02 detrumi

@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 convert system 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.

TheJJ avatar Oct 06 '17 10:10 TheJJ