Comments (8)
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.
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.
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.
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.
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.
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.
any news on this?
from openage-data.
@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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openage-data.