Not logged inOpenClonk Forum
Up Topic Development / Developer's Corner / Feature Freeze and Release
- - By Newton [de] Date 2010-10-19 00:16 Edited 2010-11-01 18:39
We are nearly there, guys, so this is the plan for the last meters :-)

Feature freeze


From now until the release, there will be a feature freeze aside from a few exeptions*.

What does that mean?

It means that we want to refrain from adding any new features to the release package. Features like new game content that can have errors and has to be tested/balanced before it is really done or that can make something else that worked earlier broken again. Improving, polishing and balancing existing stuff is not affected by the feature freeze.
So, please from now on put all new scenario and object game content in Test.c4f, this folder will not be included in releases so you can feel free to test around there. Engine coders which are developing features (in branches), please don't merge them into the default branch but in a new branch.

* the bugtracker issues in release blocking bugs which happen to be features

Whats left


All that has to be done before the release is currently in the bugtracker, which is a really not much anymore. A rough overview over the bigger points:



How quick these tasks can be completed depends on the free time each one can and wants to spend on clonk, but my optimistic guess is that we can manage this in one week. When you reply to this post, can you please make a statement on whether/how this guess is realistic in your case (and if it is justified that I boldly assigned task(s) to you)?

Release steps


The first release with CK's automatic release system will be a semi-public beta, meaning that it will (if all the automatic download link creation and build scripts work without error) be available on the download page but will otherwise not be announced big time. It should be free of bugs. (Like the nightlies only that it happens to be on the download page as 1.0 beta)
With this release, the so called unit-tests which were suggested by Sven2 will be done. These tests yet have to be supplied (by Sven2) but basically are a few bugtracker issues in a seperate meta-issue like...
"Start network game -> let someone join and start" or "Start network game in Linux -> then let some Win user join and start" (or whatever makes sense, could break from release to release while it is an important feature) which have to be tested once and can be resolved thereafter. This can be done in one afternoon if no new problems pop up.

So if no new problems pop up, the next release named "beta" can be made public, meaning it can be included on the home page, announced in the clonk forum, clonk news page (poking Matthes) and blog.
If then again no problems pop up, it can be released as OpenClonk 1.0 (without "beta") and announced beyond the borders of the clonk community.
If new problems pop up, and that will happen, we make intermediate beta releases before reaching the first "stable" 1.0.

Also, this is just the rough plan, not accounting for any problems which might pop up here and there.
Parent - - By Ringwaul [ca] Date 2010-10-19 04:04
As I said in the bugtracker, I should be able to finish rigging the new Clonk by tomorrow at the earliest.
Reply
Parent - By Randrian [de] Date 2010-10-19 16:57
Ok, the clonk model is now ingame. So there are only the icons left for the "Introducing" of the new clonk.
Reply
Parent - - By Zapper [de] Date 2010-10-19 05:34
I don't know how much extra work that will take, but shouldn't we also plan to decorate the scenarios for the first release?
They will more or less be everything the player sees, I think they should at least look interesting (..if we advertise Clonk beyond the border of the Clonk community at least)
Parent - - By Newton [de] Date 2010-10-19 13:09 Edited 2010-10-19 13:14
Decoration like plants, trees, rocks, ruins, vegetation, athmospheric sound effects, twittering birds, music and all that were on my wishlist from the beginning of the development. I agree with you that the importance of a well done athmosphere is very important for how "deep" the game experience feels like. In my previous project, Hazard, I attached great importance to the right "feel" of the game and that everything from graphics, level design, sound effects and overall athmosphere fits together. So, yes, you bring up a point that is also very important to me and it hurts to see Clonk in such an bleak world.
However, I think to make decoration a perequisite for releasing (the public beta) is not wise at all. Obviously and comprehensible, this is a topic which just takes an unknown amount of time and thus especially cannot be "finished" along the way quickly before the release. IIRC the decoration was in any "todo till release" list that was published in the forum since the project started 1 1/2 years ago.

If we reach 1.0, it doesn't mean that any more features can be added, it just means that we have a playable, stable clonk version to build upon. Not a complete game. We may not forget that and we shouldn't allow any more delays to happen for that basic version. Perhaps other clonkers will also notice the bleak clonk landscape and if they care for Clonk enough, maybe they will help or even join us.

So, decoration? Sounds? Music? Graphics? Plants and trees? I'd love it. But it shouldn't delay the release.
Also, we don't have to make every tree, sound effect etc by ourselves, for stuff that can be included quickly, we can have a look at the models here:
http://opengameart.org/ or more here http://search.freegamedev.net/
Parent - By Zapper [de] Date 2010-10-19 16:27

>Perhaps other clonkers will also notice the bleak clonk landscape and if they care for Clonk enough, maybe they will help or even join us.


Yepp, I agree with that. But I would make it a prerequisite for advertising Clonk in non-Clonk communities, since that is where the first impression counts (maybe even not gameplay-impression but screenshot-impression)
So, public beta should not be delayed further by decoration. The first "advertised" release, on the other hand, should imo.
Parent - - By Clonk-Karl [de] Date 2010-10-19 16:36

> So, decoration? Sounds? Music? Graphics? Plants and trees? I'd love it. But it shouldn't delay the release.


Well, either we are in feature freeze or we aren't.
Reply
Parent - By Newton [de] Date 2010-10-19 18:47
I consider new sound effects, graphics etc. including decoration more as "Improving, polishing [...] existing stuff" rather than "new game content that can have errors and has to be tested/balanced before it is really done or that can make something else that worked earlier broken again".

But anyway, if the decoration includes anything new (e.g. for plants: reproduction and all that), I agree with you that this must first go only in Test.c4f.
Parent - - By Clonk-Karl [de] Date 2010-10-19 16:53

>     * Update system, Automatic release scripts and download links - Günther, Clonk-Carl, B_E(, Newton)


> How quick these tasks can be completed depends on the free time each one can and wants to spend on clonk, but my optimistic guess is that we can manage this in one week. When you reply to this post, can you please make a statement on whether/how this guess is realistic in your case (and if it is justified that I boldly assigned task(s) to you)?


I'll try, but I can't promise anything. There's still a few things to do.
Reply
Parent - - By Günther [de] Date 2010-10-19 18:09
Are your buildscripts publicly available?
Reply
Parent - By Clonk-Karl [de] Date 2010-10-19 19:34
I made the git repository public.
Reply
Parent - - By Clonk-Karl [de] Date 2010-10-26 23:20
Short update on this: I made this basically work so that it uploads the files to the masterserver and then makes a HTTP request as in the specification draft. Uploading source tarball and linux binaries is still to do (but does not block the release, I guess).
Reply
Parent - By B_E [de] Date 2010-10-27 12:30
I will implement the masterserver-side asap.
Parent - By Newton [de] Date 2010-10-27 13:42 Edited 2010-10-27 13:47
Cool, so after all you are doing it this way. Where are the binaries and updates uploaded to? Should I change anything regarding the name of the directory? (nightly-builds currently, isnt it.)
I noticed during a conversation with B_E earlier that perhaps the procedure described  on page two:

"[...] all rows which have the same platform as the one specified in the command are deleted from the table [...] All files that have been referenced by deleted rows must be deleted by the masterserver in both cases if delete_old_files is 'yes'" [...]

should function a little bit different. The reason is, that with the current concept, it is just not possible to to create different update packages for different from-versions (= making more than two requests per update) because the rows added on the first request are deleted again on the second. This odd logic in the masterserver can't be bypassed by the build scripts. Example:


  1. ?action=release-file&platform=win-x86&new_version=1.4.0&file=oc-win32-1.4.0.msi&hash=1238754345  <- installation file

  2. ?action=release-file&old_version=1.2.4,1.2.6&platform=win-x86&new_version=1.4.0&file=oc-win32-1.2.4-1.4.0.c4u&hash=3981842046 <- updates from 1.2.4

  3. ?action=release-file&old_version=1.4.0a&platform=win-x86&new_version=1.4.0&file=oc-win32-1.4.0a-1.4.0.c4u&hash=456568532 <- update from 1.4.0a to 1.4.0 overwrites the updates from 1.2.4 and 1.2.6


To fix this, on a new request not all rows which match the same platform should be deleted but only those which do not update to the newest version. (newest version = the version that has been given on the last request in the parameter new_version.)

I marked the change in the masterserver.pdf.
Parent - - By MimmoO Date 2010-10-20 15:20
gah - id love to work on the melees a bit, because i personally think a few of them are not as fun as they could be. unfortunally, i will have like no time until sunday evening, and monday starts the school again, meaning i will have no time either.
Parent - - By Newton [de] Date 2010-10-20 16:17
That's ok - so what do you estimate till when you need time to do this? Also, if you write down here if you want to change something specific, perhaps others can take care of that, too.
Parent - By MimmoO Date 2010-10-20 16:49
i dont know how much time i would need, and i havent compiled a speicific list or this things, just some general thoughts, which i have posted here. some of the things are already done, afaik.
Parent - By Maikel Date 2010-10-21 16:01
Yes I'll do the tasks you assigned me to, regarding your time plan: I have no clue when I have time.
Parent - By Ringwaul [ca] Date 2010-10-21 18:38
I'm trying to improve the Mountain Race scenario, because it was my favourite of the 'generic' parkours that we had.
Reply
Parent - - By Isilkor Date 2010-10-26 20:50

> Engine coders which are developing features (in branches), please don't merge them into the default branch but in a new branch.


I feel the necessity to point out that default will always stay the main development branch. All releases will branch off default and live in their own branches, into which crash fixes from default will be cherry-picked, after we made sure that they won't regress anything.

[Edit]
This means you should develop in default, and only cherry-pick very important fixes into the release branches. Don't do you dev work in a release branch please.
Reply
Parent - - By PeterW [gb] Date 2010-10-27 14:28
Which essentially means that release-branch merging is something only some release maintainers should do?
Parent - By Isilkor Date 2010-10-27 16:16
I don't know whether we need to appoint release maintainers, I just want people to get a second opinion on changes before they push to the (theoretically) stable release branch, and avoid introducing subtle bugs that could have found beforehand by getting somebody else to look at the patch first.
Reply
- By Günther [de] Date 2010-11-14 19:15
So it looks like the automated update system will have to wait for the next release. That's not a big problem, the only part we can't change after the release - the engine - should still work with the old CR code. So I propose we update the masterserver to announce a newer version - that's a trivial one-line-patch - and manually build and upload an update packet to test the engine and the download server. Then we can do the release, and write the server side automation for easy updates afterwards. The players won't notice how much manual work an update requires, and gradually increasing the amount of automation is probably more efficient anyway.
Reply
Up Topic Development / Developer's Corner / Feature Freeze and Release

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill