Jump to content

Alternis Kerbol - Development thread


NovaSilisko

Recommended Posts

It's all done via plugin, so programming. I'll be releasing the source for everyone to poke through when I do release this though, so that should help.

Gotta say I'm looking forward to this. What are the abilities of the source code for relative programming noobs like me? Changing (all) specs of existing celestial bodies ... ?

Link to comment
Share on other sites

Nutt007: There's methods in PQS to render diffuse and heightmap, and to warp a spherical mesh to conform to the PQS-displaced terrian. Look in RSS for how to use the former; I haven't implemented the latter yet, but ZRM found the two mesh ones.

Edited by NathanKell
Link to comment
Share on other sites

Nutt007: There's methods in PQS to render diffuse and heightmap, and to warp a spherical mesh to conform to the PQS-displaced terrian. Look in RSS for how to use the former; I haven't implemented the latter yet, but ZRM found the two mesh ones.

What he said. I'm curious how this was figured out so quickly by others already though. I would hope the knowledge didn't come via decompiling, because there are much better (and safer) ways to learn things about how the game works!

My plan for scaledspace is to just use a mesh with a heightmap applied to it outside unity, then import that. That's what I did for minmus, since back then the mesh wrapper hadn't been made yet (anyone remember when minmus' scaled space was just a smooth sphere?)

One question (bug) I saw from your pictures:

Why isn't the unlit side of Jool pitch-black when viewed from the inside of Kerbin's atmosphere?

And how is the progress on axial tilts?

Because the ambient light system is kinda dumb. Ambient light on a planet's surface affects the whole universe, even distant planets.

Not really planning on axial tilt to be honest, too much of a crazy hassle getting it working, although I did see some references to it when prodding the RealSolarSystem source although it was commented out. If that changes, though, hopefully I could acquiesce permission to use that.

Gotta say I'm looking forward to this. What are the abilities of the source code for relative programming noobs like me? Changing (all) specs of existing celestial bodies ... ?

Pretty much. Maybe more, I haven't touched most of the parameters of CelestialBody (don't really know what half of them do)


Been doing optimizations to the code too, as well as adding more comments in preparation for eventual release. To be honest, it's pretty hacky but for some things (like what I'm trying to do), there's not much of another way. That said, when it IS released, if any of you plugin developers out there spot some bad inefficiency in the code or a better way to do something, don't hesitate to say, and I'll repair it.

Edited by NovaSilisko
Link to comment
Share on other sites

What he said. I'm curious how this was figured out so quickly by others already though. I would hope the knowledge didn't come via decompiling, because there are much better (and safer) ways to learn things about how the game works!

You really do not need to reflect anything, Visual Studio's object explorer shows you all the public classes and methods of Assembly-CSharp.dll and the names of the methods/variables/classes are pretty self explanatory.

Link to comment
Share on other sites

You really do not need to reflect anything, Visual Studio's object explorer shows you all the public classes and methods of Assembly-CSharp.dll and the names of the methods/variables/classes are pretty self explanatory.

Yeah - that coupled with some clever detective work (functions that dump components for instance), you can learn a TON of stuff.

Link to comment
Share on other sites

Yeah - that coupled with some clever detective work (functions that dump components for instance), you can learn a TON of stuff.

And it's even more powerful if you let the knowledge flow between people.

This is why I always recommend setting up a public repository, even before the plugin is released so people can assist and pinpoint for you.

Github is really great on that because you can fork the main repository, fix or improve some parts and send a merge request to the original repository owner.

I think that is the correct way of developing Nutt007's plugin, yours and mine since it's crazy the amount of things that can be achieved if you let the community suggest, improve and fix for you.

Just think about it ;)

Link to comment
Share on other sites

And it's even more powerful if you let the knowledge flow between people.

This is why I always recommend setting up a public repository, even before the plugin is released so people can assist and pinpoint for you.

Github is really great on that because you can fork the main repository, fix or improve some parts and send a merge request to the original repository owner.

I think that is the correct way of developing Nutt007's plugin, yours and mine since it's crazy the amount of things that can be achieved if you let the community suggest, improve and fix for you.

Just think about it ;)

Gonna be putting my stuff on git soon. Also happy bday.

Link to comment
Share on other sites

And it's even more powerful if you let the knowledge flow between people.

This is why I always recommend setting up a public repository, even before the plugin is released so people can assist and pinpoint for you.

Github is really great on that because you can fork the main repository, fix or improve some parts and send a merge request to the original repository owner.

I think that is the correct way of developing Nutt007's plugin, yours and mine since it's crazy the amount of things that can be achieved if you let the community suggest, improve and fix for you.

Just think about it ;)

I will once it's released, I just prefer to get the code tidied up and working as efficiently as I can first, although I guess there's only so much I can do, since I'm at heart not a programmer...

Anyway, hopefully I can expedite release a bit. Need to swap the Mun and Vall, fatten up the former and shrink the latter, then I suppose it would be ready for an initial release. I've always kind of had an aversion to releasing things before they're done, but if I don't, it never would see the light of day :sticktongue:

Edit: Also deciphering the biome maps, now, for future use.

Edited by NovaSilisko
Link to comment
Share on other sites

And it's even more powerful if you let the knowledge flow between people.

This is why I always recommend setting up a public repository, even before the plugin is released so people can assist and pinpoint for you.

Github is really great on that because you can fork the main repository, fix or improve some parts and send a merge request to the original repository owner.

I think that is the correct way of developing Nutt007's plugin, yours and mine since it's crazy the amount of things that can be achieved if you let the community suggest, improve and fix for you.

Just think about it ;)

Yup. RSS has been on github since it first changed Kerbin's radius. :)

Nova: You have a function called CreateMaps, it outputs a Texture2D array, and it takes the image size and whether to display oceans. Three guesses what it does and two don't count. :]

Link to comment
Share on other sites

Yup. RSS has been on github since it first changed Kerbin's radius. :)

Nova: You have a function called CreateMaps, it outputs a Texture2D array, and it takes the image size and whether to display oceans. Three guesses what it does and two don't count. :]

Same. No idea on how to make the cool craters Nova put on tylo though.

Link to comment
Share on other sites

I have some ideas for the medium version of this mod, the grey numbers are concrete sample values, that I meanly created with a randomizer:

  • Kerbol
    Becomes an exact 10% scale of the RL sun
    Radius: 69634.2km
    Density: 14.08g/cm³
    Mass: 1.9891×1028kg
    Surface Gravity: 274.0m/s²
    Rotation Period: ??? (192.62h)
    Axial Tilt: 0°-10° (7.25°)


  • Moho
    Sub-Earth Barren Planet with high uncompressed density and superheated tenuous atmosphere
    Radius: 240-270km (254.64km)
    Density: 47-55g/cm³ (53.655g/cm³)
    Mass: 2.7216×1021-4.5346×1021kg (3.71085×1021kg)
    Surface Gravity: 3.15-4.15m/s² (3.820m/s²)
    Orbital Period: 25-30d (26.2233d)
    Inclination: 5°-10° (7.2911°)
    Eccentricity: ~0.2 (0.1921)
    Rotation Period: ??? (slow or in resonance to orbit) (17.4822d)
    Axial Tilt: 0°
    Surface Pressure: ~1mbar
    Scale Height: ???


  • Eve
    Super-Earth Desert/Hell Planet with extreme dense atmosphere
    Radius: 750-830km (813.93km)
    Density: 72-85g/cm³ (78.167g/cm³)
    Mass: 1.2723×1023-2.0358×1023kg (1.76553×1023kg)
    Surface Gravity: 15.1-19.7m/s² (17.787m/s²)
    Orbital Period: 65-75d (69.385d)
    Inclination: ~3° (3.4429°)
    Eccentricity: ~0 (0.009133)
    Rotation Period: ??? (87.7804d)
    Axial Tilt: ??? (174.8757°)
    Surface Pressure: ~100bar (113.437bar)
    Scale Height: ???


  • Gilly
    Captured asteroid around Eve or comet/asteroid in Kerbol orbit (captured asteroid around Eve)
    Radius: <8km (6.88km)
    Density: ~20g/cm³ (19.15g/cm³)
    Mass: <4.29×1016kg (2.3406×1016)
    Surface Gravity: <0.045m/s² (0.0368m/s²)
    Orbital Period: 4-8d (172.154h)
    Inclination: >10° (18.1315°)
    Eccentricity: ~0.4 (0.3814)
    Rotation Period: ??? (8.1518h)
    Axial Tilt: ??? (7.902°)


  • Kerbin
    Becomes an exact 10% scale of the RL Earth
    Radius: 637.81km
    Density: 55.15g/cm³
    Mass: 5.97219×1022kg
    Surface Gravity: 9.81m/s²
    Orbital Period: 115.5d
    Inclination: 0°
    Eccentricity: <0.1 (0.01671)
    Rotation Period: 7.569d
    Axial Tilt: 23.44
    Surface Pressure: 1013mbar (21.0% O2)
    Scale Height: ???


  • Mun
    Becomes an exact 10% scale of the RL Moon
    Radius: 173.71km
    Density: 33.464g/cm³
    Mass: 7.3477×1020kg
    Surface Gravity: 1.622m/s²
    Orbital Period: 8.6398d
    Inclination: 5.145° (to ecliptic)
    Eccentricity: <0.1 (0.0549)
    Rotation Period: 8.6398d
    Axial Tilt: 6.68° (1.543° to ecliptic)


  • Minmus
    Becomes a large comet or a inner moon of Jool due to realism issues with the new Mun (large comet)
    Radius: --- (2.94km)
    Density: --- (6.2315g/cm³)
    Mass: --- (6.6550×1014kg)
    Surface Gravity: --- (5.128×10-3m/s²)
    Orbital Period: --- (7821.06d)
    Inclination: --- (149.086°)
    Eccentricity: --- (0.9731)
    Rotation Period: ??? (56.284h)
    Axial Tilt: ??? (20.85°)


  • Duna
    Sub-Earth Desert Planet tidally locked to its moon, Ike.
    Radius: 310-360km (343.63km)
    Density: 32.5-40 g/cm³ (37.88g/cm³)
    Mass: 4.0556×1021-7.8173×1021kg (6.4383×1021kg)
    Surface Gravity: 2.817-4.026m/s² (3.639m/s²)
    Orbital Period: 190-220d (208.842d)
    Inclination: ~2° (1.752°)
    Eccentricity: ~0.1 (0.09223)
    Rotation Period: 50-100h (58.5192h)
    Axial Tilt: 15°-30° (28.4974°)
    Surface Pressure: ~20mbar (21.68mbar)
    Scale Height: ???


  • Ike
    Medium-sized rocky/icy moon of Duna
    Radius: 100-130km (114.98km)
    Density: 25-30g/cm³ (28.51g/cm³)
    Mass: 1.0472×1020-2.7608×1020kg (1.8152×1020kg)
    Surface Gravity: 0.70-1.09m/s² (0.916m/s²)
    Orbital Period: 50-100h (58.5192h)
    Inclination: ~0° (0.175°)
    Eccentricity: ~0 (0.0061)
    Rotation Period: 50-100h (58.5192h)
    Axial Tilt: <5° (2.729°)


  • Dres
    Rocky/icy dwarf-planet
    Radius: 70-90km (78.91km)
    Density: 20-22g/cm³ (20.47g/cm³)
    Mass: 2.8735×1019-6.7180×1019kg (4.2128×1019kg)
    Surface Gravity: 0.391-0.554m/s² (0.452m/s²)
    Orbital Period: 520-560d (537.714d)
    Inclination: 7°-10° (9.2931°)
    Eccentricity: ~0.12 (0.11715)
    Rotation Period: ??? (3.8123h)
    Axial Tilt: ??? (5.282°)


  • Jool
    Gas Giant, density increased to legitimize large moons
    Radius: 7100-7400km (7275.33km)
    Density: 14-16g/cm³ (14.89g/cm³)
    Mass: 2.0989×1025-2.7158×1025kg (2.40225×1025kg)
    Surface Gravity: 27.79-33.10m/s² (30.291m/s²)
    Orbital Period: 1300-1400d (1376.225d)
    Inclination: ~1° (1.071°)
    Eccentricity: <0.1 (0.3632)
    Rotation Period: <4h (3.3106h)
    Axial Tilt: ??? (4.487°)
    Surface Pressure: 1bar (atmosphere extends below "surface" until everything overheats)
    Scale Height: ???


  • Laythe
    Large moon of Jool covered in large oceans, has much geologic activity (volcanoes)
    Radius: 350-400km (353.57km)
    Density: 35-40g/cm³ (36.38g/cm³)
    Mass: 6.2858×1021-1.0723×1022kg (6.7352×1021kg)
    Surface Gravity: 3.42-4.47m/s² (3.596m/s²)
    Orbital Period: 13-15h (14.1463h)
    Inclination: ~0° (0.0761°)
    Eccentricity: ~0 (0.00478)
    Rotation Period: 13-15h (14.1463h)
    Axial Tilt: 0°
    Surface Pressure: >1bar (~10% O2) (1240mbar (11.6% O2))
    Scale Height: ???


  • Vall
    Rocky/icy medium moon of Jool with redone surface
    Radius: 300-320km (304.72km)
    Density: 28-30g/cm³ (29.46g/cm³)
    Mass: 3.1667×1021-4.1177×1021kg (3.4883×1021kg)
    Surface Gravity: 2.35-2.68m/s² (2.507m/s²)
    Orbital Period: 26-30h (28.2926h)
    Inclination: ~0° (0.4342°)
    Eccentricity: ~0 (0.00843)
    Rotation Period: 26-30h (28.2926h)
    Axial Tilt: ???


  • Tylo
    Rocky/Icy large moon of Jool with redone surface, maybe with some tenuous atmosphere
    Radius: 500-550km (506.15km)
    Density: 22-25 (24.46g/cm³)
    Mass: 1.152×1022-1.742×1022kg (1.3286×1022kg)
    Surface Gravity: 3.08-3.84m/s² (3.461m/s²)
    Orbital Period: 52-60h (56.5851h)
    Inclination: ~1° (1.1152°)
    Eccentricity: ~0 (0.00109)
    Rotation Period: 52-60h (56.5851h)
    Axial Tilt: 0°
    Surface Pressure: ~1mbar
    Scale Height: ???


  • Bop
    Medium captured asteroid around Jool
    Radius: <15km (12.85km)
    Density: 10-15g/cm³ (11.49g/cm³)
    Mass: <2.1206×1017kg (1.0221×1017kg)
    Surface Gravity: <0.063m/s² (0.0413m/s²)
    Orbital Period: ~40d (41.8661d)
    Inclination: 30°-40° (38.57°)
    Eccentricity: 0.15-0.25 (0.1948)
    Rotation Period: ??? (4.793h)
    Axial Tilt: ??? (15.653°)


  • Pol
    Small captured asteroid around Jool
    Radius: <10km (8.516870811km)
    Density: 8-12g/cm³ (8.665g/cm³)
    Mass: <5.0265×1016(2.2423×1016kg)
    Surface Gravity: <0.034m/s² (0.0206m/s²)
    Orbital Period: ~60d (63.5879d)
    Inclination: 20°-30° (22.46°)
    Eccentricity: 0.2-0.3 (0.2813)
    Rotation Period: ??? (2.861h)
    Axial Tilt: ??? (10.279°)


  • Eeloo
    Icy dwarf-planet in 3/2 resonance with Jool
    Radius: 100-150km (118.0798658km)
    Density: 20-23g/cm³ (20.264526g/cm³)
    Mass: 8.3776×1019-3.2515×1020(1.3975×1020kg)
    Surface Gravity: 0.56-0.96m/s² (0.669m/s²)
    Orbital Period: 1950-2100d (2064.338d)
    Inclination: 12°-17° (15.551°)
    Eccentricity: 0.25-0.3 (0.2782)
    Rotation Period: ??? (16.702h)
    Axial Tilt: ??? (94.175°)

All numbers are only of a suggestive nature and mainly derive from guessing the radius and the density of the bodies. Therefore other numbers as the actual mass can variate strongly. Since the rotation of non-locked bodies doesn't affect the system and are more or less totally random, I didn't suggested any boundries for them.

For the scale height of the atmosphere I've currently no conclusive idea of how to make it in a good fashion, so it fits the overal shape.

Ideas and constructive criticism are welcome :)

Edited by Spanier
Link to comment
Share on other sites

Not a question of performance at all, just RAM usage. The caching means there shouldn't _be_ a performance impact...

Oh, I see what you mean. Yeah RAM is inevitably a bit of an issue unfortunately, unless I can find a way to dump the MapSOs for color and heightmaps into special objects and load them when needed, as opposed to just importing textures. Lots of optimizations for this...

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...