aegidian wrote:1. disregard any files, OXPs, OXZs that aren't explicitly stated as dependencies.
This is the tricky bit, I think. Everything else should be fairly straightforward to add to the OXP verifier mode. (And all worth doing)
I think I know how to do it, though - and there are a few other nice features it could bring in - so it's certainly going on my list for 1.82 to at least improve the OXP verifier's features.
Another option - and this is something I've thought of just now, so it may be a terrible idea - for improving quality of OXZs without affecting ordinary users is to make the "OXP Developer" builds considerably harsher about what they'll accept than the deployment builds - we could easily make the OXP Developer builds do things like:
- refuse to load OXPs which don't have a manifest (or even refuse to load OXPs at all, since the OXZ format is inherently stricter)
- refuse to load JS files which don't have "use strict"
- exit on errors which would normally only get a log warning (e.g. missing files)
- log things which the normal build doesn't
It would mean that you wouldn't want to use them for day-to-day play, necessarily, since some of the older OXPs would just refuse to load in a developer build, but it would make it easier for OXP debugging. (Note: the nightlies are built in OXP Developer mode)
What do people think - good idea, or more likely to cause problems than solve them?
Smivs wrote:The whole Oolite 'thing' will be damaged and discredited if players find that something they got 'from the game expansions handler' doesn't work, or breaks things, or is just too far removed from the core game that it doesn't make sense.
I'm not sure that's really the case. At least, this doesn't seem to be a concern for the other open source games I have which have expansion managers. As a quick summary of those (none of which, from checking their forums, appear to be concerned about reputational problems from low-quality expansions, though most of them have had their expansion managers for several years and maybe had this discussion then too).
- Battle For Wesnoth: lots of expansions, expansion manager about feature-level with ours, no quality control of expansions, no quality indicator except the fairly useless download count
- Freespace Open: lots of expansions, expansion manager is very limited (and doesn't include a downloader), no quality control or indicator
- OpenTTD: lots of expansions, expansion manager has several nice features ours doesn't (yet...), no quality control or indicator
- Supertux: a few expansions, expansion manager just gives the name of the pack and that's it
- Supertuxkart: many expansions, expansion manager about feature-level with ours, though it looks shinier. Quality indicator provided by a 1-3 community star rating and a "featured" mark which is presumably at least a bit more official since they don't always match up
Now - we do have challenges they don't, in that an Oolite OXP has considerably more freedom to make changes
and to interact with other expansions - and it's certainly sometimes difficult to tell whether something which just happened was core or OXP if you have lots installed or aren't familiar with that aspect of core gameplay ... but I don't think we need to be much more concerned about bad OXZs than we were about bad OXPs, and many of the issues we're seeing at the moment will probably sort themselves out a bit in the next three months or so as people get more used to the format.
Smivs wrote:The whole point of OXZs is to give end users easy access to expansions within the game framework.
Well... not the whole point, though that was the main motivation. It was necessary to develop that format to get the in-game manager to work, but I think it's also a better format than OXP even without that (and it was a definite option for 1.80 that it would be released with OXZ support but not with the in-game manager, though as it happens the manager was easier to write than I expected it would be). I have some fairly experimental expansions I want to put together at some point, and they will be released in OXZ format. They just won't be on the OXZ manager list. I think it's worth distinguishing between the format and the delivery method a bit more.
Switeck wrote:Quit talking, start doing!
Yes. The documentation is about as good as I have time to make it - which means a mostly-accurate but short API reference, and a few pages here and there summarising major new features. If people aren't confident about adding examples, extra notes, etc. to the documentation, put it on the talk page first, and/or have a thread on the forum to discuss them - I'll try to make time to check things over.
(The Wiki as a whole is in need of updates in several places - installing, playing, OXP writing, pictures, etc. I don't have time to take on that project as well, but if the community takes it on then I'm certainly happy to answer questions or check pages here and there for technical accuracy)