It is time for us to enter 0.G Feature Freeze. As the old hands will remember, this is a period of the experimental-stable cycle where we start tagging certain PR’s with the label “0.G Feature Freeze”.
See the associated github issue for up to date information. I am reposting it below but won’t be keeping this thread up to date on the same schedule.
What gets frozen?
Most of the time, “feature freeze” PRs will be ones that deal with C++ code that is not specifically for bug/balance fixing. As a rule of thumb, if your change could possibly have ramifications that require further playtesting and bugfixing, it should probably be frozen.
With the increasing complexity of JSON code, it is no longer the case that all JSON PRs are exempt. Any JSON PR that uses extensive EoC-type scripting to achieve a complex solution should also be considered a “feature” as there will be a lot of potential work to find out if it’s running correctly, and bugfixes may again not be trivially easy. However, in general, if your material is all or mostly JSON, you’re probably safe.
There are a few cases where we may “grandfather in” a PR that is more feature than fix, usually because it’s necessary for balance to an ongoing issue (eg. fixes needed for Portal Storms would be a relevant example in the current cycle).
What do I do if my PR is frozen?
It’s up to you. You don’t have to close it, but you could convert it to Draft, finish it off, and wait until freeze is lifted.
If you feel your PR was frozen but shouldn’t be, feel free to comment or ask us in Discord. It’s not carved in stone.
What do we do with currently active PRs that were posted before the freeze?
In general I think currently open PRs that were out of draft before freeze should not be frozen, but for some potentially chaos-adding ones, we may choose to freeze them too on a case by case basis.
I would love to contribute during freeze!
Excellent. If you want stable to be done faster, now is the time to start helping with bugfixes - both making them and identifying them. There are several ways you can help, and you don’t need to be a coder for a lot of it!
- Browse the 0.G project tracker for release-blocking bugs, and fix anything you think you have the skills to fix.
- Browse the issues list for major bugs you think should be marked as blockers, and post links to them to the “suggest blockers” channel in the development discord. These should be bugs that have major gamebreaking ramifications, and/or bugs with a quick and easy fix. Severe balance issues also qualify. If you’re not sure, post it and we’ll review.
- Read through not-frozen PRs and, if you understand what’s going on, post a Review. Even non-contributors offering meaningful review can help those of us merging PRs. Heck, if you don’t code at all, you can still learn to download and compile someone’s branch of the game and playtest it for them. When we’re working through bugs, this is a hugely helpful task that woefully few people do. Even just proofreading a JSON content PR is a great help!
How long until the next Stable comes out?
Pfft, as if I know!
Feature freeze has historically been pretty variable. I’ve been trying out some tricks to try to keep it shorter this time, but who knows how good they’ll be?
I am considering, but not committed to, the idea of a tangible reward for “MVP bugfixers” who go out of their way to help close off release blocking bugs quickly. Looking at something like a custom drawn unique T-shirt, or even a small cash prize. Let me know if this is something you’d be interested in, and we can hash out details to see if it’s plausible. My major barrier right now would just be how to fairly determine who qualifies.
What kind of new features will 0.G Stable have? Rocket ship emoji
While a new stable is exciting as a development milestone, anyone playing experimental won’t see much difference. The stable is just a point where we say “experimental is in a good place, here’s a landmark that is less buggy than usual”. I’ll add a link to the changelog highlights here when they are ready. Anyone playing on 0.F is going to be either hugely impressed (if you like what I like), deeply confused (as are we all, perpetually), or in for a shock. Possibly all three!