Progress

General discussion for players of Oolite.

Moderators: winston, another_commander

Astrobe
---- E L I T E ----
---- E L I T E ----
Posts: 609
Joined: Sun Jul 21, 2013 12:26 pm

Re: Progress

Post by Astrobe »

Wow, I didn't expect such a thorough answer. Thanks!
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2028
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Progress

Post by maik »

Thank you, all devs, for bringing 1.86 to life!
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

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:
ImageImage
ImageImage

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

Code: Select all

vec3 diffuseLight = diffuseIntensity * DIFFUSE_LIGHT;
to

Code: Select all

vec3 diffuseLight = diffuseIntensity * (gl_LightSource[1].diffuse * max(0.0, dot(normal, light1Vector)) + gl_LightModel.ambient).rgb;
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16081
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: Progress

Post by Cody »

Thankee!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6885
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: Progress

Post by Disembodied »

8)

Great stuff!
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6312
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: Progress

Post by Diziet Sma »

8)

Done!
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
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

OK, let's see... We've got a few updates recently. Let's summarize (in no particular order).

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.
Image
User avatar
gsagostinho
---- E L I T E ----
---- E L I T E ----
Posts: 573
Joined: Sun Jul 19, 2015 1:09 pm

Re: Progress

Post by gsagostinho »

The minimalist HUD looks awesome, thank you so much for putting up with all my requests! I am working on a major overhaul of the Dangerous HUD and this will be a neat new feature!
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Heads up! We have a graphics update incoming in the next nightly.

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:
Image

GGX:
Image

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.
Image
Image

The new shader can be downloaded from github from this link: https://raw.githubusercontent.com/Oolit ... r.fragment
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Re: Progress

Post by Getafix »

Image
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Just a quick note to say that, after fixing a little bug with GGX, this has been now switched to the default spec model.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

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.

Image

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.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Planets have received the GGX treatment. Not much to say here, it looks like this:

Image
Image
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6885
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Re: Progress

Post by Disembodied »

a variety of materials can be emulated just by playing with the shininess property.
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?
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6682
Joined: Wed Feb 28, 2007 7:54 am

Re: Progress

Post by another_commander »

Disembodied wrote: Mon Aug 13, 2018 10:41 am
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.
Post Reply