A planet lighting improvement was just committed to trunk. It makes the planets feel more natural and look more like spheres and less like discs. Obligatory piccies for before / after comparison:

The really good thing about it is that it is only a shader change, so you do not need to wait until 1.88 to check this out. If you do want to check it out, open Resources/Shaders/oolite-default-planet.fragment, go to line 232 and change it from

Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied

First of all, we have the update to the fell AI as discussed elsewhere in the forum. AI with accuracy higher than 0 now flees with jinking and even surprise counter-attacks (probability of a counter attack is now set to 15%) whenever necessary.

Secondly, the escape pods cannot be damaged now by ships exploding nearby. This is done so that there can be no false perceptions for the players related to when the escape pod works or not. The escape pod now works every time and using it will save the commander. Note that the probability of the pod dying near an exploding ship was rare to begin with, but since it was observed that it can happen, we thought that it would be best if the players don't think of it as a bug.

Thirdly, we have had some bug fixes related to mouse control. Hopefully playing with the mouse will be pretty much glitch-free now.

Fourthly, the ability to edit gui color settinhgs from scripts has been added. Any key in gui-settings.plist that contains the token "color" can now be changed on the fly using the getGuiColorSettingForKey(key) and setGuiColorSettingForKey(key, color) JS methods.

Fifthly, we have made some inprovements to the Linux packaging system for the game, mainly targeting cleaner uninstalls. Anyone interested in generating a flatpak installer for Oolite could benefit from this..

Sixthly, we invreased the max number of supported joysticks to 4.

And seventhly, as per request by gsagostinho we have added the minimalistic scanner. It is basically a scanner without gridlines in order to make it less cluttered and easier to view objects inside it. It can be enabled by editing hud.plist and adding the line scanner_minimalistic = yes; or by script using the read/write JS PlayerShip property scannerMinimalistic. Below is an example screen using the latest version of Dangerous HUD.

Two new specular lighting models have been implemented in Oolite's default shaders. The first one is a more modern Blinn-Phong than the one we have been using till now - and more physically accurate too. The second one is the GGX specular model, which is slightly more complex from a computational perspective, but gives slightly better results overall than Blinn-Phong.

In the next nightly, the specular effect has been exaggerated a bit in order to be immediately observable (it can be restored at a later stage, after some testing has taken place). You will find that shiny ships look better than before and light reflections seem more realistic. The default specular model in use right now is the new Blinn-Phong. We will need proper handling of a gloss or roughness parameter (preferrably using a gloss/roughness texture) in order to take full advantage of the GGX model. For testing purposes, we are using the shininess parameter divided by 10 for GGX to assume a global gloss value for each material.

All changes have been made inside the oolite-default-shader.fragment and can be applied to 1.86 too, if you feel like editing the shader. To enable the new GGX model, define OOSPECULAR_NEW_MODEL_GGX to 1 somewhere at the beginning of the shader. Leave it as-is to have the new Blinn-Phong applied.

Although the effect is best seen in motion, here are a few pics to get an idea:
New Blinn-Phong:

GGX:

Blinn-Phong gives generally more concentrated reflections, while GGX spreads them out a bit more.

Finally, here are a couple of pics on a vanilla Oolite, with a Cobra flying over Lave. The specular reflections are a product of the GGX model.

To show the importance of shininess in the new specular model, here is a comparison of shininess values from 10 to 120 (maximum shininess is 128). This series of shots was taken by freezing the game and then using the debug console to change the material properties on the fly. I hope the differences in the appearance of the material as we go up the scale are visible. Low shininess values makes it look like a painted material, while from 60 onwards the appearance starts to turn to metallic, with 120 and above starting to look more like glossy plastic or something like that. The sun light was set to red for these images, so you can see how it is reflected on the material at various shininess values. As you can see, a variety of materials can be emulated just by playing with the shininess property.

Also keep in mind that shininess does not have to be a single value. You can use the alpha channel of a specular map to store shininess information. A value of 1.0 in the alpha channel will use the defined global shininess for the material, while a value of 0.0 will reduce it to near zero. Values in between can be used to adjust the shininess, which means that you can have multiple shininess values for the same material. This in turn means that you have full freedom to make models that look partly glossy and partly rough-like.

Out of interest, is it possible to do this with planet textures too? So e.g. "seas" and "ice" could be made shiny, and "deserts", "forests" and "plains" could be matt?

I don't think so, at least not with the user-generated textures. We do have this in the standard game, though. I think the game handles differently its own auto-generated planet maps compared to the user made ones, but I may need to check up on that.