Jump to content

0 A.D. Alpha 25 Feature Freeze Update


Recommended Posts

1161645774_nightscene.thumb_.jpg.febed1a

The date of 6th June 2021 at 23.59 CET has been confirmed for the 0 A.D. Alpha 25 Feature Freeze, a major precursor to the actual release of the new alpha version of the game.

What is the Feature Freeze?

The Feature Freeze is the point at which new features cease to be added to the new alpha version and the development team focus solidly on final preparations and bug fixes to facilitate the release.

What Happens After 6th June?

  • From June 7th to June 13th there will a period of intense testing and bug fixing.
  • June 13th at 23.59 CET – Commit and String Freeze. This is the point where all further changes are suspended, and release candidate versions of Alpha 25 are created and distributed for testing in a controlled environment. This is the final opportunity to discover and resolve any release blocking bugs or issues.

Want To Be Involved in Pre-Release Testing?

If you’d like to be a part of the critical testing versions of Alpha 25 then please check the thread here; 

https://wildfiregames.com/forum/topic/41264-alpha-25-pre-releaserelease-candidate-build-testing/

When Will Alpha 25 Officially be Released?

A provisional date range has been decided upon with June 20th being slated as the earliest possible release date and June 30th. Please be aware this is still provisional at this stage and is entirely reliant on a smooth transition through phases described above, with no major release blocking issues being present in the final tested release candidate.

Final confirmation of the release date will be announced in advance of launch – ideally 3 days to a week prior, as will any postponement and revised timescales in the event of a major issue being discovered.

What Will Alpha 25 Be Named?

A final decision on the naming of the new alpha will be made during the Feature Freeze period, but you still have time to get involved.

Every new iteration of 0 A.D. gets a name and this is your chance to contribute your suggestions. The Alpha 25 Name Suggestions thread on the 0 A.D. Community Forum has been open since January 2021, but there is still time to vote for your favourite and put forward your own suggestions.

0 A.D. release names start with the letter of the alphabet that corresponds to the release version. Alpha 22 was Venustas, Alpha 23 was Ken Wood, Alpha 24 was Xšayaṛša, and Alpha 25 will start with a ‘Y’.

Check out the thread here;

https://wildfiregames.com/forum/topic/35736-alpha-25-name-suggestions/

  • Like 9
  • Thanks 2
Link to comment
Share on other sites

3 hours ago, mysticjim said:

June 13th at 23.59 CET – Commit and String Freeze. This is the point where all further changes are suspended, and release candidate versions of Alpha 25 are created and distributed for testing in a controlled environment. This is the final opportunity to discover and resolve any release blocking bugs or issues.

  • String freeze means translators can now work without worry of it being invalid the next day. So working on it prior is mostly pointless unless there isn't a somewhat mature translation already. To give translators a fair chance to translate give them 14 days between string freeze and translation freeze.
  • RC1 is the first time you can reasonably ask people to test, be it players or packagers.
  • What's with the controlled environment? The purpose of an RC is to release it into the wild ;)
  • What is commit freeze when commits obviously are still permitted later?
  • Like 1
Link to comment
Share on other sites

2 hours ago, hyperion said:
  • String freeze means translators can now work without worry of it being invalid the next day. So working on it prior is mostly pointless unless there isn't a somewhat mature translation already. To give translators a fair chance to translate give them 14 days between string freeze and translation freeze.

I largely disagree. While translation freeze means it's completely fair game, the chances that we do major change after feature freeze are low, and as it turned out for A24, translators usually have quite a bit of work to do anyways. And if tweaks are made, they'll usually be small tweaks that Transifex helps with fixing.

Quote
  • RC1 is the first time you can reasonably ask people to test, be it players or packagers.

Packagers, aye, players, maybe, but 'testers', certainly not. After all, people play SVN.

Quote
  • What's with the controlled environment? The purpose of an RC is to release it into the wild ;)

Well, the first few bundles won't be RC but testing bundles, as per the above, so it's logical to not release it 'into the wild' too much.

Quote
  • What is commit freeze when commits obviously are still permitted later?

Commits are actually not permitted later, unless for exceptional circumstances, such as fixing a release blocker issue.

  • Like 3
Link to comment
Share on other sites

32 minutes ago, Lion.Kanzen said:

I don't think we have time. since I call you I already knew that I did not have time.

Why not? We still have a few hours tonight / today and we can play a 1v1 if you want. 

I can be ready in 1 hour.

Edited by Yekaterina
Link to comment
Share on other sites

1 hour ago, Lion.Kanzen said:

We will not have time to get them approved.
We only have time to make a few patches.

Which patches are the most urgent? I think we can get the counter system and Roman camp adjustments in first. 

Link to comment
Share on other sites

17 hours ago, wraitii said:
19 hours ago, hyperion said:
  • String freeze means translators can now work without worry of it being invalid the next day. So working on it prior is mostly pointless unless there isn't a somewhat mature translation already. To give translators a fair chance to translate give them 14 days between string freeze and translation freeze.

I largely disagree. While translation freeze means it's completely fair game, the chances that we do major change after feature freeze are low, and as it turned out for A24, translators usually have quite a bit of work to do anyways. And if tweaks are made, they'll usually be small tweaks that Transifex helps with fixing.

Well, string freeze is the moment I'd send an email to translators asking them if they could take out some time out of their schedule. As this may take a few hours giving sufficient time seems a matter of courtesy. Could it be the reason tweaks might be necessary is deciding on a release name late and misspelling it trice?

 

On 01/06/2021 at 5:28 PM, wraitii said:

Packagers, aye, players, maybe, but 'testers', certainly not. After all, people play SVN.

On 01/06/2021 at 5:28 PM, wraitii said:

Well, the first few bundles won't be RC but testing bundles, as per the above, so it's logical to not release it 'into the wild' too much.

The test bundles are the same as releases in terms of packaging I presume. So what you call them doesn't really matter for the sake of testing, though giving them a proper label can only help. 0ad version scheme is a bit messed up as rc comes after alpha after all. Using a traditional version scheme the next release should be 0.25.0 instead so you could use the version suffixes more naturally.

What I don't get is why you'd not want as many testers as possible, i.e releasing it into the wild. This doesn't make sense to me whatsoever.

 

On 01/06/2021 at 5:28 PM, wraitii said:
Quote
  • What is commit freeze when commits obviously are still permitted later?

Commits are actually not permitted later, unless for exceptional circumstances, such as fixing a release blocker issue.

Commit freeze if taken literally is tagging the release. Feature freeze is what I'd expect to be the the border between normal commits and commits to fix release blockers only. If FF means you can still commit anything that isn't strictly a feature like rewriting the engine you are bound to be in a mess. This could well mean content and gameplay changes will be done till the last minute putting a lot of burden on those responsible for communication and media. If indeed CF has that meaning then the release should be at least 2 weeks after, better even later, though you don't have to go as far as the kernel with 8 weeks.

  • Like 1
Link to comment
Share on other sites

4 minutes ago, hyperion said:

Well, string freeze is the moment I'd send an email to translators asking them if they could take out some time out of their schedule. As this may take a few hours giving sufficient time seems a matter of courtesy.

I would suggest two: one that they can start looking (but where we're explicit that further changes might be necessary) and one where we say it's String Freeze, go crazy. At the very least, the first one could tell them that they might need to clear a few hours in their schedule in the upcoming works.

4 minutes ago, hyperion said:

Could it be the reason tweaks might be necessary is deciding on a release name late and misspelling it trice?

Certainly did not help :P 

6 minutes ago, hyperion said:

What I don't get is why you'd not want as many testers as possible, i.e releasing it into the wild. This doesn't make sense to me whatsoever.

I mean this is more or less what we're doing, but the fear is that people might mistake test bundles for actual alpha bundles (which have been tested), and then report bugs after-the-fact, which will simply waste everyone's time. Likewise, someone who doesn't know the game might get the impression that it's buggy, when they in fact just downloaded an alpha of the alpha.

8 minutes ago, hyperion said:

Feature freeze is what I'd expect to be the the border between normal commits and commits to fix release blockers only.

We're definitely going for a more porous definition than that, but it's partly because 'release blocker' is very arbitrary anyways.

8 minutes ago, hyperion said:

If indeed CF has that meaning then the release should be at least 2 weeks after, better even later, though you don't have to go as far as the kernel with 8 weeks.

The plan is a minimum of 1 week, but 2 is more likely. Unfortunately, we have some pressure to move forward as we're stuck with a single SVN branch.

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

I don't want to nag, just point out few things that might help improve the release process in the future. Take it or leave it.

As you said alpha of alpha is bad, the rc just released going by file name is actually an alpha of an rc and not the rc of an alpha, so rethinking the version scheme should be done before a26.

Looking at the commits after FF you could pretty much do away with it. Just CC would be fine, forcing people to commit early.

The terminology used is rather custom and I wouldn't be surprised if I asked all devs separately I'd get different answers, might be worth it to clean up the terms or cleanly define them.

The timeline given on the release process page is laughable.

As for branches, yes they suck with svn compared to cvs, not even talking about git.

Link to comment
Share on other sites

13 hours ago, hyperion said:

As you said alpha of alpha is bad, the rc just released going by file name is actually an alpha of an rc and not the rc of an alpha, so rethinking the version scheme should be done before a26.
The terminology used is rather custom and I wouldn't be surprised if I asked all devs separately I'd get different answers, might be worth it to clean up the terms or cleanly define them.

Fair points, though I think the importance of naming shouldn't be overstated.

13 hours ago, hyperion said:

Looking at the commits after FF you could pretty much do away with it. Just CC would be fine, forcing people to commit early.

An interesting idea. I must say I like the 'week of FF' where I focus on other stuff without the idea that I'm trying to merge my big changes.

13 hours ago, hyperion said:

The timeline given on the release process page is laughable.

Are you referring to this page ReleaseProcessDraft ? I updated it yesterday.

 

Link to comment
Share on other sites

14 hours ago, hyperion said:

As you said alpha of alpha is bad, the rc just released going by file name is actually an alpha of an rc and not the rc of an alpha, so rethinking the version scheme should be done before a26.

Perhaps we should always be an Alpha game, because there will always be new ideas popping up. Beta won't do us any good as we are not selling this as a closed source merchandise. It would be good to have more people developing. So in the naming we can omit considerations of Alpha or alphabet, instead, we name each release with a name that distinguishes this update from before. For example A23 could be named "Kush", A24 "Archers", A25 "Pathfinder"

Link to comment
Share on other sites

@wraitii ,

indeed versions are not game changing, however, don't underestimate the importance of it for communication. When bumping the ebuild locally for the rc the first thing I had to do was to come up with a version that can be parsed and sorted properly by the package manager. So assume other packagers have the same issue and so we end up with every other distro having a slightly different version from upstream and from each other for the same release.

Also there are crawlers maintained by distros or third parties checking if new releases are available and automatically inform maintainers or users. So instead of trying to inform all downstreams or get all those crawlers to implement custom parsing rules for wfg using a standard version scheme is much cheaper.

 

As for the wiki page, much better now.

 

@Yekaterina,

A25 translated to a version in the most natural way would be 1.0.0_alpha25, while 0.0.25_alpha implies 0.0.25_alpha1. So basically 0ad has a tradition of alpha1 with different patch version.

One important feature of versions numbers is you can sort them, so how does that work if you replace them with names like Kush Archers Pathfinder?

Any version below 1.0.0 already has the connotation of what you expect of alpha above, and even version past 1.0.0 don't prevent new changes either.

Link to comment
Share on other sites

@hyperion: my point was mostly about the "alpha" or "rc" monikers, which don't really appear in our releases anyways. The release name format is `0ad-0.0.X-alpha-`.

I do agree that we probably could have used `0.X.y`. I'm not sure it's a great idea to change the scheme while still in the same 'alpha' version. I expect we'll reboot some things after A26 (which I would like to be the last 'alpha' kinda whatever happens, but we'll see).

  • Like 1
Link to comment
Share on other sites

I'm done except for the 4 "timewarp"-related hotkey descriptions. The term is hard to translate and I can't find the related "timewarp" setting anywhere.

Nevermind - found it: It's called "time warp", not "timewarp".

 

Edited by GunChleoc
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...