KeeperSky (smaller background stars, adjustable space dust, sun distance, etc. for 1.81+)
Posted: Mon Aug 01, 2016 10:03 am
The main purpose of this OXP was to reduce the size of background stars and reduce the distraction of the giant "space dust" that floats around your ship. However, while doing this I also discovered that other OXPs which modified sun distance and other things were doing so in old ways that are not ideal for Oolite 1.81+ (actually overriding new features), so I decided to package in a planetinfo.plist that also does those tasks, with plenty of comments to help you to tweak their values to your liking.
First, the download link:
http://www.keeper1st.com/Oolite/KeeperSky.zip
Screenshots in 1680 × 1050:
Default background stars -- http://www.keeper1st.com/Oolite/stars-001.png
KeeperSky background stars set to 2.0 multiplier -- http://www.keeper1st.com/Oolite/stars-002.png (how OXP comes packaged)
KeeperSky background stars set to 10.0 multiplier -- http://www.keeper1st.com/Oolite/stars-003.png
Screenshot in 1280 × 1024 from Commander Cody:
KeeperSky on Torus drive with 20.0 star multiplier, 5.0 sun distance multiplier, and 0.32 space dust opacity: https://app.box.com/s/clovphdnhy953j6g7o3kwvn3xpy9gk00
While the size of the background stars can't be adjusted easily (you have to edit the textures), the properties affecting "space dust", sun distance and background star/nebula count are easily adjusted.
That is the main reason this is packaged as an OXP and not as an OXZ. An OXP is simply a folder so you can open the files easily to edit them, since everyone will have a particular preference. You should drop the KeeperSky.oxp folder (the folder itself; not just its contents) into your Oolite/Addons folder. Maybe someone can set this up for OXPConfig or whatever tweaking interface method is supposed to be replacing it. For now, though, you can fire up a text editor like Notepad++ and get tweaking. It's really quite easy and I'll explain here.
How to Tweak Stuff
To adjust "space dust" (those blocks that float around your ship to give you a sense of speed when you move), look in the Shaders folder and open the only file there (oolite-dust.vertex) into a text editor like Notepad++. Scroll to the very bottom of that file to the line that starts with float vector. The final number in that line (set in this OXP to 0.2) is the maximum opacity of the "space dust". Oolite default is 1.0, which makes the "space dust" appear as solid white blocks which I found rather annoying given their size. I set it here to 0.2, which makes the "space dust" 80% transparent. This still provides a sense of speed but the blocks are far less distracting. You may prefer a different value. Obviously, if you want to remove "space dust" entirely, you can set that final number to 0.0. Note that this value also affects the lines you see when using Torus drive.
All other values set by this OXP (other than background star sizes, which are done via textures) are adjusted by editing the planetinfo.plist in the Config folder. I put extensive comments in that file to explain what they do, so much of what follows here is redundant information.
The first value there is sun_distance_multiplier used to set a farther sun distance for those who prefer it. While there are other OXPs/OXZs which move the suns, they all do it in an old way that actually (apparently) prevents a new feature of Oolite (as of 1.81) from working -- the new planet list has set up different sun distances for each system. However, the way that FarSun, Distant Suns, Realistic Stars, Sensible Sun, etc., were moving the sun was by using an old "sun_distance_modifier" which (apparently) completely overrode the varied sun distances provided by Oolite 1.81+. Therefore, if you want to have unique distances in each system like the current version of Oolite provides, it's important to remove any of those OXPs/OXZs and instead use this one, setting the "sun_distance_multiplier" to get farther distances than default. In this OXP, I have it set to 3, which isn't as far as some may like, but isn't super close either. Note that the greater the multiplier, the more variation in distances you will experience from system to system.
The next setting is ambient_level which determines how much lighting is applied to the sides of objects that are not receiving direct sunlight. I have set it to 0.20, which isn't completely dark but still provides a pleasingly stark contrast. The default value was 1.0. For comparison, ZygoUgo's old Cinematic Skies OXP used a value of 0.05, and Knotty's old Realistic Stars used 0.1, so the value I've set isn't as severe as those. As with all these things, change the value to your preference.
The next settings are sky_color_1 and sky_color_2. These are a different way of doing what the old sky_rgb_colors setting did. They set the ranges of color in which the background stars may be drawn. The values I have set up are what were in Knotty's Realistic Stars OXP. See the comments in the file for explanation of the numbers. Note that you also can add nebula_color_1 and nebula_color_2 (you do need both) if you want to adjust the color range of nebulae. I didn't put lines for those in here because I don't know what the default values are.
Next is star_count_multiplier. Use this to increase or decrease the amount of drawn background stars. Other OXPs increase background stars by using a universal "sky_n_stars" setting, but that makes the sky have the same number of visible stars in every system. Using this star_count_multiplier instead retains the system-by-system variation that the current version of Oolite is designed with. I have set the multiplier to 2.0 to create a balance since I have halved the size of the star textures. Some people prefer higher values. Play with it to get a result you like. Your screen resolution will be a factor here; higher resolutions should see more stars. Keep in mind that because each system has a different base star count value, high multiplier values can create a massive difference from system to system. Also, this setting will have an effect on your frame rate, so while it may look pretty to have a really high value, it's probably not practical to do so, especially if you enter a system that has a high base value to be multiplied.
Next is nebula_count_multiplier. Other OXPs increase the number of visible nebulae by using a universal "sky_n_blurs" setting, but that makes the sky have the same number of visible nebulae in every system. Using this multiplier instead retains the system-by-system variation that the current version of Oolite is designed with. I keep this multiplier at 1.0 so it has no effect, but I put the line here in case you want to increase or decrease the amount of nebulae that you see in the background. As with the star count multiplier, keep in mind that because each system has its own base nebula count, a high multiplier here can cause a massive difference from system to system, and again will affect your frame rate.
Finally I have put in the station_roll value. In default Oolite this value will do nothing, as the game's default stations all have their own specific roll rates set up. This value simply is in place to control the rotation rate of any OXP stations that don't have a rate set up. The rate set here would be slightly faster than the default Coriolis/Dodecahedron/Icosahedron stations.
First, the download link:
http://www.keeper1st.com/Oolite/KeeperSky.zip
Screenshots in 1680 × 1050:
Default background stars -- http://www.keeper1st.com/Oolite/stars-001.png
KeeperSky background stars set to 2.0 multiplier -- http://www.keeper1st.com/Oolite/stars-002.png (how OXP comes packaged)
KeeperSky background stars set to 10.0 multiplier -- http://www.keeper1st.com/Oolite/stars-003.png
Screenshot in 1280 × 1024 from Commander Cody:
KeeperSky on Torus drive with 20.0 star multiplier, 5.0 sun distance multiplier, and 0.32 space dust opacity: https://app.box.com/s/clovphdnhy953j6g7o3kwvn3xpy9gk00
While the size of the background stars can't be adjusted easily (you have to edit the textures), the properties affecting "space dust", sun distance and background star/nebula count are easily adjusted.
That is the main reason this is packaged as an OXP and not as an OXZ. An OXP is simply a folder so you can open the files easily to edit them, since everyone will have a particular preference. You should drop the KeeperSky.oxp folder (the folder itself; not just its contents) into your Oolite/Addons folder. Maybe someone can set this up for OXPConfig or whatever tweaking interface method is supposed to be replacing it. For now, though, you can fire up a text editor like Notepad++ and get tweaking. It's really quite easy and I'll explain here.
How to Tweak Stuff
To adjust "space dust" (those blocks that float around your ship to give you a sense of speed when you move), look in the Shaders folder and open the only file there (oolite-dust.vertex) into a text editor like Notepad++. Scroll to the very bottom of that file to the line that starts with float vector. The final number in that line (set in this OXP to 0.2) is the maximum opacity of the "space dust". Oolite default is 1.0, which makes the "space dust" appear as solid white blocks which I found rather annoying given their size. I set it here to 0.2, which makes the "space dust" 80% transparent. This still provides a sense of speed but the blocks are far less distracting. You may prefer a different value. Obviously, if you want to remove "space dust" entirely, you can set that final number to 0.0. Note that this value also affects the lines you see when using Torus drive.
All other values set by this OXP (other than background star sizes, which are done via textures) are adjusted by editing the planetinfo.plist in the Config folder. I put extensive comments in that file to explain what they do, so much of what follows here is redundant information.
The first value there is sun_distance_multiplier used to set a farther sun distance for those who prefer it. While there are other OXPs/OXZs which move the suns, they all do it in an old way that actually (apparently) prevents a new feature of Oolite (as of 1.81) from working -- the new planet list has set up different sun distances for each system. However, the way that FarSun, Distant Suns, Realistic Stars, Sensible Sun, etc., were moving the sun was by using an old "sun_distance_modifier" which (apparently) completely overrode the varied sun distances provided by Oolite 1.81+. Therefore, if you want to have unique distances in each system like the current version of Oolite provides, it's important to remove any of those OXPs/OXZs and instead use this one, setting the "sun_distance_multiplier" to get farther distances than default. In this OXP, I have it set to 3, which isn't as far as some may like, but isn't super close either. Note that the greater the multiplier, the more variation in distances you will experience from system to system.
The next setting is ambient_level which determines how much lighting is applied to the sides of objects that are not receiving direct sunlight. I have set it to 0.20, which isn't completely dark but still provides a pleasingly stark contrast. The default value was 1.0. For comparison, ZygoUgo's old Cinematic Skies OXP used a value of 0.05, and Knotty's old Realistic Stars used 0.1, so the value I've set isn't as severe as those. As with all these things, change the value to your preference.
The next settings are sky_color_1 and sky_color_2. These are a different way of doing what the old sky_rgb_colors setting did. They set the ranges of color in which the background stars may be drawn. The values I have set up are what were in Knotty's Realistic Stars OXP. See the comments in the file for explanation of the numbers. Note that you also can add nebula_color_1 and nebula_color_2 (you do need both) if you want to adjust the color range of nebulae. I didn't put lines for those in here because I don't know what the default values are.
Next is star_count_multiplier. Use this to increase or decrease the amount of drawn background stars. Other OXPs increase background stars by using a universal "sky_n_stars" setting, but that makes the sky have the same number of visible stars in every system. Using this star_count_multiplier instead retains the system-by-system variation that the current version of Oolite is designed with. I have set the multiplier to 2.0 to create a balance since I have halved the size of the star textures. Some people prefer higher values. Play with it to get a result you like. Your screen resolution will be a factor here; higher resolutions should see more stars. Keep in mind that because each system has a different base star count value, high multiplier values can create a massive difference from system to system. Also, this setting will have an effect on your frame rate, so while it may look pretty to have a really high value, it's probably not practical to do so, especially if you enter a system that has a high base value to be multiplied.
Next is nebula_count_multiplier. Other OXPs increase the number of visible nebulae by using a universal "sky_n_blurs" setting, but that makes the sky have the same number of visible nebulae in every system. Using this multiplier instead retains the system-by-system variation that the current version of Oolite is designed with. I keep this multiplier at 1.0 so it has no effect, but I put the line here in case you want to increase or decrease the amount of nebulae that you see in the background. As with the star count multiplier, keep in mind that because each system has its own base nebula count, a high multiplier here can cause a massive difference from system to system, and again will affect your frame rate.
Finally I have put in the station_roll value. In default Oolite this value will do nothing, as the game's default stations all have their own specific roll rates set up. This value simply is in place to control the rotation rate of any OXP stations that don't have a rate set up. The rate set here would be slightly faster than the default Coriolis/Dodecahedron/Icosahedron stations.