I have decided that the Abiathar project format is a go-ahead. Managing dependencies in a binder file is confusing for new users and mildly inconvenient for advanced users. It is literally the only system in Abiathar that I don't like. So, I'm going to fix it, because that's how I roll.
I took some time today to sketch the IO methods for the Abiathar project file class. The file will contain a bunch of headers denoting types of resources, user-friendly names for managing things in UI forms, and of course the disk representation of the various resources. The goal of the format is to be forwards-compatible, allowing old versions of Abiathar to load and save newer-version projects without wrecking everything. All resources needed to render the levels will be saved in the project file for easy mobility. Paths to reload the resources from can be specified to update them if on a computer with the appropriate files.
Once this format is done, I'll have to totally redesign the Dependency Gatherer. I'll likely end up making it a more user-friendly wizard with some resource management options sprinkled throughout the Edit menu. It might be necessary to get some kind of migration wizard going to move the dependency binders over to project files, but it should be pretty easy to just create a new project file with the edited levels.
This will also make it massively easier for me to add things like palette remaps or custom infoplane icons. Change is exciting!
No comments:
Post a Comment