Jump to content

[12.1.4] Kerbin Side Remastered - The Life Aquatic [v2.0.0][2022-12-18]


Caerfinon

Recommended Posts

3 minutes ago, Eskandare said:

Hello, I've come to visit. You'll be happy to hear I'm working on a bunch of water based statics plus some under water anomalies for a future under water parts expansion I've been working on. :) 

I cannot stress how delighted I am to see people making underwater statics and anomalies. I cancelled Rocket Shark, my first aquatic parts mod, when I realized that there was so little to explore in the water. Seeing @Caerfinon and @Eskandare making contracts and statics/anomalies, respectively, inspires me to keep making SunkWorks. Well done folks! :)

Link to comment
Share on other sites

19 minutes ago, Angel-125 said:

I cannot stress how delighted I am to see people making underwater statics and anomalies. I cancelled Rocket Shark, my first aquatic parts mod, when I realized that there was so little to explore in the water. Seeing @Caerfinon and @Eskandare making contracts and statics/anomalies, respectively, inspires me to keep making SunkWorks. Well done folks! :)

I have that submarine mod that I had been working on for a while as well as the under water base construction set. 

 

32 minutes ago, Caerfinon said:

I am very happy to hear that! :heart_eyes:

I'm working on a mission framework for anomaly exploration that can be adapted to any sites that are created! 

Very nice! I hope to have more water launch systems and maybe an oceanic base for launching sub missions. With the better hangar module, you can store your subs in the the sub pen.  :)  It is in planning stages at the moment. Currently Kerbin Side Remastered is undergoing a new art pass, upgrading the 'ground' to the new mapping system. I think I'll make a new lower dock as well for smaller vessels. The current dock was designed for the CVX aircraft carriers. Those carriers take a lot of work to make. I think I've done 5 or more art passes on them and i'm still not satisfied. The LSD Wasp class may also be a great craft for having a mobile base for water research. I hope to have enough goodies hidden for discovery in KSR and the carriers for that added fun, because carriers are fun. 

Link to comment
Share on other sites

Current Status:

  • Play testing the "site dive" contracts.
  • Can be applied to any undersea KK static site with customization of names, way-point locations, etc.
    • Underwater cave dive complete
    • Sunken temple dive complete

 

Link to comment
Share on other sites

Current Status

  • Hip deep in Kerbal Konstructs designing a thermal vent to explore.  I'm pretty pleased with it.
  • toyed briefly with the idea of writing some code to "boil" divers who go too close to it, but it I'll save that for a future "project" :)
Link to comment
Share on other sites

1 hour ago, Caerfinon said:

Current Status

  • Hip deep in Kerbal Konstructs designing a thermal vent to explore.  I'm pretty pleased with it.
  • toyed briefly with the idea of writing some code to "boil" divers who go too close to it, but it I'll save that for a future "project" :)

I think the world is already dangerous enough without turning Kerbals into Hard Boiled Eggs.

Link to comment
Share on other sites

Was a busy day yesterday, and so...

Version v1.0.1 for Kerbal Space Program 1.12.1 Released on 2021-07-17

  • Adds functionality for 8 underwater Kerbal Kontructs sites and accompanying exploration mission for each.
  • Now on SpaceDock.
Link to comment
Share on other sites

Can someone assist me with a question, on one of the first missions where you go to a spot then send a diver down it has under the

- have the required equipment, says

-with module: Data Transmitter

Is this just supposed to be an antenna or is there a part I just cant seem to find, I have several other mods, so this may be a conflict or I just cant find the part.  I have tried several items that I thought this may be but have yet to find the right one.  Thanks for any help and sorry if this is a bonehead question with a obvious answer

Link to comment
Share on other sites

1 hour ago, fxcustoms said:

with module: Data Transmitter

Any stock antenna will do. Each one has the module data transmitter as part of it's config to be able to transmit science data. Which is a later step in the mission I believe.

Link to comment
Share on other sites

I love this. These missions are fun, add lots more to do to the game and are well designed  and feel different with each repeat. In my hardcore playthrough they REALLY help flesh out the early game and provide  a wonderfully fun source of income.  

Took me a few hours to build 16 custom harbors in KK, spread them out around my customized JNSQ game and setup the co-ordinates in the groups config.  Easy given how much I got out of it with these new missions. I really appreciate the effort you took into making it so configurable. 

The dive sites were harder to adapt. Needed to setup all the waypoints after finding a new home for all the KK sites and anomalies. That took me the better part of a day. 100% worth it though. (and gave me a chance to over decorate the crap out of the areas around some of them with more statics) -   Having done all this i have a few small suggestions. 

Im not sure its possible in a contract config ,but to make this extremely easy to configure to custom planets/ rescaled systems  it would be nice if the dive  site waypoints were automatically created relative to the KK dive site co-oridinates . something like dive1lat = SiteLocationLat  - offset.  This way we would only have to set up harbor location and Observer location. 

in the same vein multiplying the rewards by a distance factor could be helpful, so if using a rescaled  system or another planet pack the rewards are more worthwhile without changing each contracts config.  

Also the starting KUMA dive certification, on a rescaled system it wants to dive to a reasonable depth (like 300m) and then the second part of the certification requires you to leave your vessel and touch the sea floor with a scuba-kerbal.  However  the sea floor might be a  lot deeper than the 300m point your supposed to leave the sub at assuming your not on standard kerbin. I know the mod is just meant for stock and I'm using it in a way not (yet) intended but you may want to consider an optional depth check rather than the sea floor for the first dive. (like 500m or something) . better yet have it be dive to the sea floor or X depth whatever comes first. 

In JNSQ I wasn't able to complete the dive certification (and unlock the other contracts) until I was able to dive to around 1000m  with pressure limits (and rational bouyancy/pressure mod)  which was either very hard or very slow (just letting the kerbal sink the 700m).  

with your JNSQ-GAP and now this in my JNSQ game my biggest problem is that I'm not sure I'm ever going to leave kerbin. Thanks for all your work!

Edited by NipperySlipples
Link to comment
Share on other sites

17 minutes ago, NipperySlipples said:

Thanks for all your work!

Many thanks for your comments. Nice work adapting it for JNSQ. 

The problem with the "depth" of missions is that there is currently no way in Contract Configurator to determine the depth of any given location. Everything between ocean floor and sea level is pure guess work. The choice to go to the bottom of the ocean was made because it as an achievable goal in stock and there is a state change from SPLASHED to LANDED that occurs when a kerbal on eva reaches it which was easier to code into the contract parameter.  The dive locations are randomly set to water a fair distance from the port in water so I guessed that 200 to 300 meters would be OK for a check. (There is a statistical chance that a situation will occur where the dive point is placed in very shallow water but I haven't run across it yet, and I've play-tested a lot of dives).

I haven't used the rational buoyancy/pressure mod I should take a look at it. dive values could be patched if the mod is detected.

The Dive Site locations could be set as offsets to the the KK sites, As well, the harbor and observer locations could be offset to the KK site they are associated with. This is a good suggestion and I will test out it's feasibility.

The distance to reward ratio could be multiplied by the planet size in the group.cfg and then not only rewards could be changed via the multiplier, but randomly set way-point distances could also be increased on larger worlds.

  I was planning a port of this to JNSQ at some point but it looks as though you've done the lion's share of the work moving all of the KK statics. If you interested in collaborating on the work let me know.

Again thanks for your post and you've given me a lot to think about.  (Also, I rarely get to space any more either)

Link to comment
Share on other sites

Into every life some bugs must fall...

  • Issue #6 - Site Dive Mission Legend Dialog. Incorrect Kerbal is shown
  • Issue#7 - Dive Site Mission Coral Lagoon 1st Waypoint is not underwater.

First one is cosmetic. second is game breaking for the mission. Investigating and will release an update shortly.

Link to comment
Share on other sites

Version v1.0.2 for Kerbal Space Program 1.12.1 Released on 2021-07-21

BUG FIX

  • #7 Site Dive Missions - Waypoints not generating correctly - Fixed
  • #6 Site Dive Legend Dialog does not render Kerbal picture correctly. Feature removed
Link to comment
Share on other sites

@NipperySlipples The upgrade for v.1.0.2 should work with your JNSQ set up. All the same variable look-ups are in play.  There is a weird Contract Configurator bug that doesn't set the altitude of way-points correctly if the value is derived form an array using non-detrministic variables (like a random number). This resulted in all of the Site Dive missions having the wrong dive locations.

The new code works, but requires a config file for every site so that a deterministic variable can be used to set the altitude. Very frustrating, but functional. :sad::valsad:

 

Link to comment
Share on other sites

22 minutes ago, Caerfinon said:

@NipperySlipples The upgrade for v.1.0.2 should work with your JNSQ set up. All the same variable look-ups are in play.  There is a weird Contract Configurator bug that doesn't set the altitude of way-points correctly if the value is derived form an array using non-detrministic variables (like a random number). This resulted in all of the Site Dive missions having the wrong dive locations.

The new code works, but requires a config file for every site so that a deterministic variable can be used to set the altitude. Very frustrating, but functional. :sad::valsad:

 

I'm not programmer myself but want to ask if you are making calculation right in the waipoint defining process? like "Waypoint1(Lat=Lat1,Lon=Lon1,Alt=some_calculations_here)" ? or previously defined Alt as varable for example like Alt1 and THEN define waypoint with this variable?

Link to comment
Share on other sites

@Warro All variables are defined in arrays at the group level. there are eight entries in each array, one for each dive site.  A random integer variable is generated and the way-point is defined by each variable in the various arrays and the index of the random integer. The process works for all elements of the way-point except altitude. If I replace the random number variable that sets the index to a specific value, then the way-point generator works correctly.

In the contract log whenever the variable for the index is "non-deterministic" the way-point altitude setting is incorrect but when the variable index is "deterministic" it works correctly.

The way-points are defined like this;

	    WAYPOINT
		{
			name = @KSRTLA:dive1Name.ElementAt(@/siteSelected)
			targetBody = @/targetBody
			icon = ContractPacks/KerbinSideRemasteredTLA/Assets/Icons/dive
			altitude = @KSRTLA:dive1ALT.ElementAt(@/siteSelected)
			latitude = @KSRTLA:dive1LAT.ElementAt(@/siteSelected)
			longitude = @KSRTLA:dive1LON.ElementAt(@/siteSelected)
			parameter = step0Reached
		}

The variable siteSelected is the index to the arrays

Link to comment
Share on other sites

I'm not the all_knowing_guru, so I may be wrong somewhere. I don't know even right syntax of this config. But let's talk about algorithm itself.

So you don't have array of elements where lat/lon/alt will be properties of each element(not sure if that is possible in config, but I'm about algorithm itself) but instead 3 separate arrays: lat array, lon array, alt array and then in waypoint you read all three serially to complete definition, right? So I guess you should narrow the problem - find out first what is wrong - the array generating process ends up writing wrong data to array or reading process in the waypoint definition don't like your data in the array. Can you check the data in array itself? Does it look like what you expect?

Link to comment
Share on other sites

6 minutes ago, Warro said:

Can you check the data in array itself? Does it look like what you expect?

Yes. As I mentioned the exact same code and arrays work when the index variable is deterministic. It doen't work when the variable is non deterministic. In both cases the index variable is the exact same integer value.

If I set the index value to "7" then the correct altitude values are shown. If i have the RNG process set the index and it happens to be "7" then incorrect altitude values are shown. In both cases the correct LAT and LON  values are always shown. The issue is the CC Way-point Generator function is not working the same way for altitude as it does for LON and LAT. 

Link to comment
Share on other sites

21 hours ago, Caerfinon said:

I was planning a port of this to JNSQ at some point but it looks as though you've done the lion's share of the work moving all of the KK statics. If you interested in collaborating on the work let me know.

Unfortunately my game is far to custom for my KK harbors to be of much use to anyone. Its mostly a role play scenario. My kerbin is heavily edited to be more of a radioactive wasteland with kerbalism, Ive got custom paralax configs, terrain and texture edits and the sites themselves are all designed  with the "kerbals live underground and its the end of a nuclear winter" thing in mind.  I'm happy to share but I don't imagine it's what anyone else wants in their game. (and some of my sites require an additional mod for the statics, so extra dependency aswell :( ) Truth be told if it wasn't so customized, i'd of waited for you to do a better job of a jnsq version. I just knew with my terrain being different, i was going to have to move them all anyway.

4 hours ago, Caerfinon said:

There is a weird Contract Configurator bug that doesn't set the altitude of way-points correctly if the value is derived form an array using non-detrministic variables

Thats an odd one and I was a little curious so i had a quick read through of some of the code on contract configurators git hub, I noticed in the way point generator there is .... 

Quote

valid &= ConfigNodeUtil.ParseValue<bool>(child, "underwater", x => wpData.underwater = x, factory, false);

and 

Quote

 

// Check water conditions if required
  if (!nearWaypoint.celestialBody.hasSolidSurface || !nearWaypoint.celestialBody.ocean || (wpData.waterAllowed && !wpData.underwater)|| (wpData.underwater && altitude < 0) || (!wpData.underwater && altitude > 0))
  {
  break;
  }

 

 

 
Quote
if (wpData.randomAltitude)
  {
  if (wpData.underwater && body.ocean)
  {
  Vector3d radialVector = QuaternionD.AngleAxis(wpData.waypoint.longitude, Vector3d.down) *
  QuaternionD.AngleAxis(wpData.waypoint.latitude, Vector3d.forward) * Vector3d.right;
  double oceanFloor = body.pqsController.GetSurfaceHeight(radialVector) - body.pqsController.radius;
   
  wpData.waypoint.altitude = random.NextDouble() * (oceanFloor);
  }

 

 

There are a bunch of other places this underwater flag comes up to. I'm not going to be in a position to test for a day or two, and I could be off the mark but it looks like there is an "underwater = true" property you can add to the waypoint definition to change the way it generates when the way point is underwater.  Might be worth a quick test if it saves you having to write additional configs for each mission. 

Edited by NipperySlipples
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...