Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate nyan #734

Open
7 of 10 tasks
TheJJ opened this issue Feb 6, 2017 · 2 comments
Open
7 of 10 tasks

Integrate nyan #734

TheJJ opened this issue Feb 6, 2017 · 2 comments
Labels
area: api Related to some application programming interface (API) area: nyan Involves our data description language/database to-discuss Idea or suggestion that needs some discussion before implementation
Milestone

Comments

@TheJJ
Copy link
Member

TheJJ commented Feb 6, 2017

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.

  • Upgrade game logic
    • Dynamic attribute instanciation
    • Dynamic actions assignments
    • Dynamic ability activation
    • ...
  • Create the openage-engine nyan API
    • 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)
  • Convert the original game information (the dat file) to nyan
  • Create replacement files in the openage-data repo
@TheJJ TheJJ added area: nyan Involves our data description language/database to-discuss Idea or suggestion that needs some discussion before implementation labels Feb 6, 2017
@TheJJ TheJJ mentioned this issue Feb 6, 2017
11 tasks
@TheJJ TheJJ added the area: api Related to some application programming interface (API) label Feb 6, 2017
@detrumi
Copy link
Contributor

detrumi commented Feb 7, 2017

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

@TheJJ TheJJ mentioned this issue Feb 9, 2017
4 tasks
@TheJJ TheJJ added this to the Modding API milestone May 13, 2017
@TheJJ
Copy link
Member Author

TheJJ commented Oct 6, 2017

@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 Asset pack format #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.

@heinezen heinezen pinned this issue Feb 26, 2019
@TheJJ TheJJ unpinned this issue Feb 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: api Related to some application programming interface (API) area: nyan Involves our data description language/database to-discuss Idea or suggestion that needs some discussion before implementation
Projects
None yet
Development

No branches or pull requests

2 participants