Coder Social home page Coder Social logo

Comments (8)

TheJJ avatar TheJJ commented on May 17, 2024

Very good suggestion. Unfortunately, we have no infrastructure in place loading this data pack at all, currently. It mainly depends on nyan being integrated and support for datapacks. Until that point, we can have any folder structure in this repo, and then rename files to the final layout.

from openage-data.

castilma avatar castilma commented on May 17, 2024

Do we have any limitations on the filename length? iirc, the original filenames had only 8 characters or so in the original game.
and how does our engine load the right files? where does it look for the filenames?

from openage-data.

TheJJ avatar TheJJ commented on May 17, 2024

No, we only have to watch out for the filesystem limits (ext4, btrfs, $applefilesystem, ...), the engine doesn't care about the lengths.

Currently it loads the files partially hardcoded and partially from the csv files in the assets/converted directory. In the future it will be described by nyan which files to load.

from openage-data.

castilma avatar castilma commented on May 17, 2024

Do you have any suggestion, how to name the files right now, so that the change, when nyan is ready to use, is as simple as possible?

from openage-data.

TheJJ avatar TheJJ commented on May 17, 2024

Basically all the media filenames in the assets directory can be renamed by the convert script already. You can use other data in the empires.dat tree to generate better filenames. The only problem is that in the empires.dat many graphics etc are reffered to by their id, and if we rename the graphics file, we'd need to rename all the references as well. We need this after we have nyan anyway, but we will have transform the data tree in a big manner then.

The generation of the data pack is done in the openage project, so we should move the discussion over there. However, if you have motivation you may start the data transformation already. It makes no sense using a new csv format or tree structure by now because we will switch to nyan sooner or later.
But in order to create the nyan data pack, we require total data transformation which we have to implement some day.

Total transformation means mapping the gamedata-struct hierarchy to nyan and purging any redundancy and mistakes. To get an idea how that will look:

# current csv-style entry of the archer unit
30,4,2.03,12345.png

# after transforming the filenames, the unit type, etc:
# new nyan-style entry
Archer(RangedUnit):
    hp = 30
    attack = 4
    rate_of_fire = 2.03
    speed = 0.96
    projectile_graphic = file("arrow.png")
    # and more

Yes, nyan is like 4 times more verbose and memory consuming, but it's actually human readable and we can create a xz/gzip/whatnot compressed pack for those who wanna save some memory. Then it'll be smaller than before.

from openage-data.

CapsAdmin avatar CapsAdmin commented on May 17, 2024

Does the pull request #9 look fine? I'm fine with 5032_castle.opus.

If asset ids are unique for each category and all the files start with an id we could just recursively find all files and capture the id with regex or something but skip the .todo extensions. For example (\d+)[_]?(.*)\.(.+) you'd capture id, friendly_name (optional) and extension

from openage-data.

CapsAdmin avatar CapsAdmin commented on May 17, 2024

any news on this?

from openage-data.

heinezen avatar heinezen commented on May 17, 2024

@CapsAdmin The new plan is to ditch the .todo files and instead structure the repository directories like the actual modpack that is loaded into the engine. As an alternative we'll make a (human-readable) list of sounds that are in the game, so everyone can see what's missing and what's already finished.

I guess we'll also separate sound source files (Audacity files or whatever is used) into another repository and only keep the final sound files here, like we did with openage-data-3dmodels.

from openage-data.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.