(cursive: in progress; crossed out: done)
What Must be done
Stuff that we must do before a release
Rendercode: Adapt the mesh loader to the newest version of the OGRE mesh format to be useable with the newest exporters again. At least, fix the FIXMEs that turn up while loading the models. (Clonk-Karl)
Instead, create a control set for the US-keyboard. (Newton)
Tutorials: check if the new controls are sufficiently explained in the tutorials and add any missing explanations
What Can be done
Still important but shouldn't be the reason to delay the release
New Control changes: Test Günther's changes to the controls and change what's not good yet
Scenarios: Create more uniform infos (descriptions, titles?) for all the scenarios in both German and English
Settlement concept: Finish it or at least advance it since this is the content for the next release. What f.e. has to be done in the art department is the cotton plant (see Fungiform's sketch), texture for the kitchen, armory and shipyard. More info what is left to do should be linked [url=]here[/url]. Also, contact Dragonclonk in that matter as he seems to be quite able as his environment pack for OC shows.
Controls customization dialog: What seems to be missing is localisation, setting mouse controls and a way to set multiple controls with one item (example see Collect). Interview Sven2 what has to be done and where the difficulties are, how we can reach a version that can be finalized for now. (Sven?)
Player controls: It must be possible somewhere to look up the controls in OpenClonk. If the above task cannot be completed, at least the controls explanation should be
What Should be done for the next release (5.4)
Important but too much of a hold-up to be included in this short-term release
Rendercode: Find out what is the bottleneck in Clonk (rendering) performance and optimize the code
Shader: Landscape lighting and landscape normal mapping (Peter)
What Could be done somewhen in the future
Interesting stuff but nothing that should hinder OC development
Engine ropes: A better and performant implementation of ropes and lines (Clonk-Karl)
Player controls: A next iteration of new controls (boni)
Rendering engine: Scout out if it would be feasable to use OGRE3D for parsing and rendering the ogre meshes. Interview Isilkor in that matter.
Script engine: Use floating-point (JCaesar)
Documentation: Write a tutorial for how to add lokalisation to the c4script-documentation
> Shader: Landscape lighting and landscape normal mapping (Peter)
Uhm, what is the intended time window here? There's still some really tricky stuff left - such as handling the sun.
> Automatic release: Create a method with which the other developers can automatically create a release version with a press of a button.
Here is a website: http://londeroth.org/~ck/oc-release/oc-release.cgi
If you want to be able to schedule releases, send me a message with a passphrase and I'll add you. For now the system only copies the release files to http://londeroth.org/~ck/dry-release, but does not upload them to the openclonk.org webpage. This allows easy testing of the system for now -- I'll activate the proper upload later. Please don't request a release of version 5.2.2 or earlier, since this would confuse the update generation for future 5.2.90 and newer releases. The revision field can handle both revision IDs and branch names.
Does the updating of the database (masterserver, autoupdate) also work already?
Also, will there be some kind of feedback whether everything went as planned? At least PHP has some kind of timeout that will abort script execution if it takes longer than X seconds. Is it possible that your python script also hits some timeout?
> What is the reason for having a password per user instead of one password?
It fits nicely in the current authentication system, and it allows to see who started the release. Maybe also some paranoia since you can easily blacklist a single user.
> Does the updating of the database (masterserver, autoupdate) also work already?
Yes, it should. A request to boom.openclonk.org is sent.
> Also, will there be some kind of feedback whether everything went as planned? At least PHP has some kind of timeout that will abort script execution if it takes longer than X seconds. Is it possible that your python script also hits some timeout?
The script does not wait until the release process is over. You can reload the page and see the progress in the log output (that's why it is there) -- this allows also to spot possible problems.
> The script does not wait until the release process is over. You can reload the page and see the progress in the log output (that's why it is there) -- this allows also to spot possible problems.
How about this: When the release process is over, a file is created with the contents of either OK or ERROR. With a small script on the server, the contents of that file can be queried, if the file does not exist yet, it returns IN PROGRESS or something. After the release button has been pushed, the page starts a javascript delay and after that queries every few seconds this small script on the server. If the output finally is ERROR, the log file is queried from teh server and also written in the window. This way, one doesn't have to reload the page all the time.
I thought that would be the best place to put a checklist what has to be done after the release.
http://westnordost.de/misc/bigredbutton.html
>Update our releases on desura.com through the link at the bottom of the linked page.
>Not registered? At least Newton can add you to the group of OpenClonk Developers on Desura.
I am registered there but I don't think I am in the group yet - "Zapper_"
> GUI: Clean up the main menu - Remove Splash.c4v, adapt some strings for OpenClonk, ...
done.
>Controls customization dialog: What seems to be missing is localisation
>Controls customization dialog: Instead, create a control set for the US-keyboard.
I'm on it
>>Controls customization dialog: Instead, create a control set for the US-keyboard.
Didn't I already do that?
Also, the file seems to be quite untidy as in that many control definitions are not mentioned in the comments, certain defs are superfluous (e.g. Forcedthrow, several hotkeys etc). I can tell you all that I found when I am done if you are interested.
Most of the superfluous things are used in Gamepad-Stuff I found. What is not mentioned in the comments?
As for the US Layout.. I must've forgotten that then (:/) but it should be quickly implemented.
> Controls customization dialog: What seems to be missing is localisation, setting mouse controls and a way to set multiple controls with one item (example see Collect). Interview Sven2 what has to be done and where the difficulties are, how we can reach a version that can be finalized for now. (Sven?)
An update on the control customization dialog: It turned out that it is pretty functionable already, so my goal is to achieve a fully working control dialogue until the weekend so that the tasks related to showing the player his controls can be removed. Whats left to be done for the dialog is...
+ tooltips with descriptions for the assignments and what they are for (done, working on the descriptions)
+ fix this bug (Sven2 is on it)
+ do the localization (I am doing that)
+ implement a way to disable the possibility to change certain assignments but still show them for looking them up (f.e. mouse controls)
+ implement a way to hide assignments because assignments that have not a real key as their key inherit their key anyway -> hide them
>Script engine: Use floating-point (JCaesar)
Basically, I'm done. I'd prefer serious tests before I merge it, though.
Edit: Thanks!
>Rendercode: Find out what is the bottleneck in Clonk (rendering) performance and optimize the code
Guenther gave me the idea today to run Clonk through a OpenGL profiler program (gDEBugger GL).
random output (where is the "export warnings"-button :/ ):
You draw 0.0122% of your vertices with 1.51% of your batches
You draw 2.9116% of your vertices with 90.33% of your batches
You draw 65.7666% of your vertices with 0.84% of your batches
It is good practice to draw as many vertices using as few batches as possible. Doing so will usually improve the application's rendering performance.
-A lot of warnings like:
Deprecated Feature: Fixed Pipeline Vertex Processing
-And a lot of warnings like:
This function has a very high percentage of redundant calls
[see export file]
-warnings about GLBegin and GLEnd
-Using glGetError and similar functions slows down render performance and are unneeded for purposes other than testing.
-Functions that retrieve data from OpenGL are considered Get functions
Using "Get" or "Is" functions slows down render performance. These commands force the graphic system to execute all queued OpenGL calls before it can answer the "Get" or "Is" query.
-An OpenGL render context is a huge state machine. OpenGL offers many commands that manipulate state variable values. Setting a state variable to the same value it had before the set operation is considered a redundant state change.
That program also allows me to export the call history of all OGL calls (but the file from my test is too huge) :o
here is an export from the statistics tab, it shows f.e. the redundant calls:
> You draw 2.9116% of your vertices with 90.33% of your batches
Those are probably simply the 2D "blits" with 4 vertices each - which (outside of particles) pretty much have to be done individually. They have also been fast enough for CR, so that's unlikely to be the bottleneck here.
The new mesh code is actually relatively clean as far as those things go - we have a serious noise problem here, I fear :/
That being said, lights support will probably force me to shader-ify a good amount of stuff. But I probably will try to somehow cast that into the existing structures. After all, the color mod stuff will have a lot in common structure-wise, so it shouldn't be impossible.
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill