Jump to content

[Min KSP 1.11] WIP: SunkWorks Maritime Technologies


Angelo Kerman

Recommended Posts

13 hours ago, Angel-125 said:

This project is currently on hold. I have made the keels and partly made the bow, but nothing else for ship parts. My focus is currently on finishing Sandcastle, then I have another project to work on.

Patient but sad.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...
  • 5 months later...

Short Question:

Does this mod change things about the stock buoyancy system, or does it only fill tanks with weight? I ask, because some of my vessels are made for waterlandings in case of emergency, and I want to know, if I will have to check their swimming ability for every vehicle or not, if I install the mod.

Link to comment
Share on other sites

  • 3 weeks later...
27 minutes ago, CT-D37 said:

CKAN compatibility?

It's still in alpha phase of development, and the author is working on other projects with higher priority.  So I suspect not. 

Still, in it's current form it is one of my favourite mods for building subs doing diving missions. 

Link to comment
Share on other sites

  • 4 weeks later...

Just tried to build my first sub, but im running into a small issue. The Ballast valve doesnt seem to work. When I try to flood or vent the ballast, it does nothing. And upon inspecting the ballast valve, it shows it open for a split second then immediately closes again. I do have water intakes on the ballasts so maybe that could be the reason, but I tried it on another part and it still didnt work. Is there a reason for this?

EDIT: it looks like it flashes "needs intake underwater" for a single frame before going back to "closed". I clearly have the ballast valve under the water, and I have the water intakes under the surface aswell. I do have a mod that makes the oceans have waves and look better. Could that be an incompatibility with the valves?

Edited by Snottytoe69
additional information
Link to comment
Share on other sites

31 minutes ago, Snottytoe69 said:

The Ballast valve doesnt seem to work

Are you using the control part to operate the ballast valves? I use this part to control all intake valves on a sub. Set it to dive control and then you can dive, surface, or maintain depth from the one part. 

33 minutes ago, Snottytoe69 said:

Could that be an incompatibility with the valves?

Which mod are you using?  

Link to comment
Share on other sites

1 hour ago, Caerfinon said:

Are you using the control part to operate the ballast valves? I use this part to control all intake valves on a sub. Set it to dive control and then you can dive, surface, or maintain depth from the one part. 

Which mod are you using?  

im not sure about the mod, my folder is a mess and I cant find it but I dont think its part of the problem, most likely just me not being familiar with the controls. I set my ballasts as trim and they started working with the action groups I had set up. As for the control part, it doesnt seem to work very well for me. It only fills the ballasts on the main body of the sub, and just ignores my smaller ballasts on the bottom. Again its probably just me not understanding how it works, but I can atleast do it all manually for now which works fine.

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Hey all,

Given that KSP 2 is around the corner, as I've said on other threads, I'll be retiring from KSP 1 modding after I complete Buffalo 2. Unfortunately that means that I won't be finishing the boat parts for SunkWorks. But as a consolation, SunkWorks 0.3.0 is now available:

https://github.com/Angel-125/SunkWorks/releases/tag/v0.3.0

Changes

- Synchronized the control state of all dive computers on the same vessel, allowing players to control the dive from any computer on the boat.
- Increased resource consumption and Electric Charge output on the stock fuel cell and fuel cell array. This patch matches the one in Extraplanetary Launchpads, and won't be applied if EL is installed.

New Parts

- SW-40 "Ebb Tide" Aquatic Engine: This radially attached aquatic engine propels submarines underwater and offers pitch control.
- SW-160 "Neap Tide" Aquatic Engine: This Size 1 aquatic engine propels submarines underwater.
- SW-320 "Low Tide" Aquatic Engine: This Size 2 aquatic engine propels submarines underwater.

Note: A single Fuel Cell Array is sufficient to power 4 SW-40s or 1 SW-160. You'll need two Fuel Cell Arrays to power a single SW-320.

njO7WuD.png

6twoTTF.png

axIuNw3.png

Will there be a SunkWorks for KSP 2? Yup, stay tuned! :)

Link to comment
Share on other sites

Hi

I am probably missing something but I cant seem to find the sink kerbal controls in the PAW menu

H1AU18X.jpeg

thanks :)

 

EDIT

ignore I am being dumb I needed the scuba gear sorry.

Would it be possible to assign ctrl key to speed up descent.

holding shift makes you surface a lot faster could we have ctrl do the oppisite :)

Edited by stk2008
Link to comment
Share on other sites

1 hour ago, stk2008 said:

Would it be possible to assign ctrl key to speed up descent.

Descent is tied up with game buoyancy for kerbals. They only sink at a fixed rate. You can use physics warp to speed it up in gameplay, or your can create a diving bell craft that kerbals can use to descend quicker and then EVA from to explore the depths.

Ascent is quicker, but it is also at a game imposed fix rate for Kerbals.

Also beware of colliding while diving. Kerbals who collide too strongly with objects go into a rag doll state and cannot be recovered from it until they reach the surface.     

Link to comment
Share on other sites

  • 2 months later...

Looks like the eva jetpack doesn't like being dropped on the ground. SunkWorks includes a patch that adds ModuleGroundPart to  eva-parachutes and jetpacks. In case of jetpack it had some weird effects: jetpacks don't refuel after boarding the vessel and sometimes they have unexpected mass fluctuations. Jeb's jetpack mass increased to 20t after he dropped it and then picked it up. He could barely land his spaceplane being so nose-heavy

Link to comment
Share on other sites

  • 6 months later...

Does anyone have any examples of working submarines? I followed the guidance on the Wiki page as best I could. I've tried massive amounts of ballast, massive amounts of trim, on all sides, fore and aft, and everything in between, with varying levels of flow control. Nothing seems to get to get the boat to rest level at neutral buoyancy underwater. It either sinks to the sea floor, or bobs at the top, and never level.

Could it be related to Scatterer? I think it changes the water physics, at least when on the surface.

Link to comment
Share on other sites

13 hours ago, Voculus said:

Does anyone have any examples of working submarines? I followed the guidance on the Wiki page as best I could. I've tried massive amounts of ballast, massive amounts of trim, on all sides, fore and aft, and everything in between, with varying levels of flow control. Nothing seems to get to get the boat to rest level at neutral buoyancy underwater. It either sinks to the sea floor, or bobs at the top, and never level.

Could it be related to Scatterer? I think it changes the water physics, at least when on the surface.

Are you using ferram aerospace research? It is known to mess with underwater physics

Link to comment
Share on other sites

23 hours ago, Voculus said:

Does anyone have any examples of working submarines? I followed the guidance on the Wiki page as best I could. I've tried massive amounts of ballast, massive amounts of trim, on all sides, fore and aft, and everything in between, with varying levels of flow control. Nothing seems to get to get the boat to rest level at neutral buoyancy underwater. It either sinks to the sea floor, or bobs at the top, and never level.

It generally takes a minute for a sub to settle to neutral, so you can end up not being patient enough for it to happen and over compensating. This makes you keep sinking or floating rapidly, while never seeming to become neutrally buoyant.

I  have made many submarines, though I use the ballast system from my old https://spacedock.info/mod/2749/Working Underwater Lite

mod to do it. I used to also use one of the mechjeb displays that allows for a very accurate measure of how fast or slow you are rising or descending, to help me tune to neutral. Remember that the bigger your craft, the more ballast it takes, because the game doesn't take into account that there is a hollow space inside a model, and calculates buoyancy as if it were a solid made of light foam.

Link to comment
Share on other sites

9 hours ago, ColdJ said:

It generally takes a minute for a sub to settle to neutral, so you can end up not being patient enough for it to happen and over compensating. This makes you keep sinking or floating rapidly, while never seeming to become neutrally buoyant.

I  have made many submarines, though I use the ballast system from my old https://spacedock.info/mod/2749/Working Underwater Lite

mod to do it. I used to also use one of the mechjeb displays that allows for a very accurate measure of how fast or slow you are rising or descending, to help me tune to neutral. Remember that the bigger your craft, the more ballast it takes, because the game doesn't take into account that there is a hollow space inside a model, and calculates buoyancy as if it were a solid made of light foam.

I've given them as much as ten minutes to settle down, but no luck. Going to give your mod a try. Thanks for the link! :)

Link to comment
Share on other sites

  • 5 months later...

Today I took some time to make a patch to convert the entirety of the USI Otter Submersible (now a part of the USI Exploration Pack) over to SunkWorks systems, much as @Caerfinon mentioned doing earlier in this thread.  A quick rundown of what this patch does:

  • 'Otter' Submersible Pod
  • Added a SunkWorks dive computer with a pressure tolerance of 12,000kPA (1.2km dive depth), equal to Otter's standard pressure tolerance
  • Added the SunkWorks suit switcher module so kerbals can change into a dive suit while inside
  • 'Otter' Crew Cabin
  • Added the SunkWorks suit switcher
  • 'Otter' ventral ballast tank, 'Otter' radial ballast tank, and 'Otter' inline ballast plate
  • Converted the ballast system to the SunkWorks one (making it controllable by the dive computer)
  • Made the IntakeLqd tanks default to empty (like WBI ballast parts)
  • Restricted the Jettison function of the parts to dump only onboard Lead ballast rather than Lead and IntakeLqd
  • Quality of Life Attachment Rule Changes
  • 'Otter' Submersible Pod can now have other parts attached to its surface
  • 'Otter' ventral ballast tank, radial ballast tank, dive plane, rudder, high-powered spotlight, aquatic sample collector, R125 inline impeller, and R35 radial impeller can now be surface attached to other parts

Note that the parts that are surface attachable can default to odd orientations, so you may need to rotate them into the correct position (attaching via nodes is completely unaffected by this) and symmetry, especially mirror symmetry, can get odd when surface attaching these parts (you may find you need to remove a part from the symmetry and then rotate it 180 degrees).  Radial symmetry tends to produce better results overall.  Unfortunately, I do not have to know-how to make these issues any better.  The good news is that you can still use all the parts in their normal node-attached way and be totally unaffected by these issues (hint: hold down the Alt key while placing the part to force node attachment only).

Additionally, I am providing a patch to enable the kerbal enhancements from SunkWorks (extra inventory space and modified pressure tolerance) to the 1.12 slim suit.

Find the patches in the spoilers below:

USI 'Otter' Submersible SunkWorks Refit

Spoiler
// ----------------------------------------------------------------------------------------------------------------------------
// USI 'Otter' Submersible SunkWorks Refit
// ----------------------------------------------------------------------------------------------------------------------------

// ----------------------------------------------------------------------------
// Give the 'Otter' Submersible Pod a SunkWorks dive computer and suit switcher
// ----------------------------------------------------------------------------

@PART[MiniSub_Pod]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks]
{
	MODULE
	{
		name = SWDiveComputer
		maxPressureOverride = 12000  // Matches all Otter part pressure tolerances
	}

	MODULE
	{
		name = ModuleSuitSwitcher
	}
}

// ----------------------------------------------------------------------------
// Give the 'Otter' Crew Cabin the SunkWorks suit switcher
// ----------------------------------------------------------------------------

@PART[MiniSub_SubHull]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks]
{
	MODULE
	{
		name = ModuleSuitSwitcher
	}
}

// ----------------------------------------------------------------------------
// Convert the ballast system to the SunkWorks standard
// ----------------------------------------------------------------------------

@PART[MiniSub_BallastTank]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks] // 'Otter' ventral ballast tank
{
	!MODULE[ModuleBallast] {}

	@MODULE[ModuleFuelJettison] // Modifies the jettison action to dump only the lead
	{
		ResourceName = Lead
	}

	MODULE
	{
		name = SWBallastTank
		intakeTransformName = BallastTank
		ballastResourceName = IntakeLqd
		fullFillRate = 20.0
		fullVentRate = 10.0
		addBallastEffect = addBallast
		ventBallastEffect = ventBallast
	}

	EFFECTS
	{
		addBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = BallastTank
				clip = WildBlueIndustries/SunkWorks/FX/BabblingBrook
				volume = 0.0 0.0
				volume = 1.0 0.1
				pitch = 0.0 0.0
				pitch = 1.0 1.0
				loop = true
			}
		}

		ventBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = BallastTank
				clip = sound_rocket_mini
				volume = 0.0 0.0
				volume = 0.1 0.0
				volume = 0.5 0.1
				volume = 1.0 0.1
				pitch = 0.0 0.75
				pitch = 1.0 0.75
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/Monoprop_small
				transformName = BallastTank
				emission = 0.0 0.0
				emission = 0.1 0.0
				emission = 1.0 1.0
				speed = 0.0 0.0
				speed = 1.0 0.5
			}
		}	
	}
}

@PART[MiniSub_RadialBallast]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks] // 'Otter' radial ballast tank
{
	!MODULE[ModuleBallast] {}
	
	@MODULE[ModuleFuelJettison] // Modifies the jettison action to dump only the lead
	{
		ResourceName = Lead
	}

	MODULE
	{
		name = SWBallastTank
		intakeTransformName = RadialBallast
		ballastResourceName = IntakeLqd
		fullFillRate = 20.0
		fullVentRate = 10.0
		addBallastEffect = addBallast
		ventBallastEffect = ventBallast
	}

	EFFECTS
	{
		addBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = RadialBallast
				clip = WildBlueIndustries/SunkWorks/FX/BabblingBrook
				volume = 0.0 0.0
				volume = 1.0 0.1
				pitch = 0.0 0.0
				pitch = 1.0 1.0
				loop = true
			}
		}

		ventBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = RadialBallast
				clip = sound_rocket_mini
				volume = 0.0 0.0
				volume = 0.1 0.0
				volume = 0.5 0.1
				volume = 1.0 0.1
				pitch = 0.0 0.75
				pitch = 1.0 0.75
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/Monoprop_small
				transformName = RadialBallast
				emission = 0.0 0.0
				emission = 0.1 0.0
				emission = 1.0 1.0
				speed = 0.0 0.0
				speed = 1.0 0.5
			}
		}	
	}
}

@PART[MiniSub_SubAdapter]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks] // 'Otter' inline ballast plate
{
	!MODULE[ModuleBallast] {}

	@MODULE[ModuleFuelJettison] // Modifies the jettison action to dump only the lead
	{
		ResourceName = Lead
	}

	MODULE
	{
		name = SWBallastTank
		intakeTransformName = SubAdapter
		ballastResourceName = IntakeLqd
		fullFillRate = 20.0
		fullVentRate = 10.0
		addBallastEffect = addBallast
		ventBallastEffect = ventBallast
	}

	EFFECTS
	{
		addBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = SubAdapter
				clip = WildBlueIndustries/SunkWorks/FX/BabblingBrook
				volume = 0.0 0.0
				volume = 1.0 0.1
				pitch = 0.0 0.0
				pitch = 1.0 1.0
				loop = true
			}
		}

		ventBallast
		{
			AUDIO_MULTI
			{
				channel = Ship
				transformName = SubAdapter
				clip = sound_rocket_mini
				volume = 0.0 0.0
				volume = 0.1 0.0
				volume = 0.5 0.1
				volume = 1.0 0.1
				pitch = 0.0 0.75
				pitch = 1.0 0.75
				loop = true
			}
			MODEL_MULTI_PARTICLE
			{
				modelName = Squad/FX/Monoprop_small
				transformName = SubAdapter
				emission = 0.0 0.0
				emission = 0.1 0.0
				emission = 1.0 1.0
				speed = 0.0 0.0
				speed = 1.0 0.5
			}
		}	
	}
}

// ----------------------------------------------------------------------------
// Remove all the pre-filled IntakeLqd by default (mimics WBI IntakeLqd parts)
// ----------------------------------------------------------------------------

@PART[MiniSub_BallastTank,MiniSub_RadialBallast,MiniSub_SubAdapter,MiniSub_Pod]:NEEDS[UmbraSpaceIndustries/SubPack,SunkWorks]
{
	@RESOURCE[IntakeLqd]
        {
            @amount = 0
        }
}

// ----------------------------------------------------------------------------
// QoL Attachment Rule Changes
// ----------------------------------------------------------------------------

@PART[MiniSub_Pod]:NEEDS[UmbraSpaceIndustries/SubPack]
	
	// Enables parts to be surface attached to the 'Otter' Submersible Pod
{
	@attachRules = 1,0,1,1,0
}

@PART[MiniSub_BallastTank,MiniSub_DivePlane,MiniSub_Spotlight,MiniSub_Engine,MiniSub_Rudder]:NEEDS[UmbraSpaceIndustries/SubPack]

	// Enables the 'Otter' ventral ballast tank, dive plane, high-powered spotlight, R125 inline impeller, and rudder to be surface attached to other parts
{
	@attachRules = 1,1,1,0,0
}

@PART[MiniSub_RadialBallast]:NEEDS[UmbraSpaceIndustries/SubPack]

	// Enables the 'Otter' radial ballast tank to be surface attached to other parts
{
	@attachRules = 1,1,1,1,0
}

@PART[MiniSub_SampleNet]:NEEDS[UmbraSpaceIndustries/SubPack]

	// Enables the aquatic sample collector to be surface attached to other parts
{
	@attachRules = 1,1,0,0,0
}

@PART[MiniSub_Engine125]:NEEDS[UmbraSpaceIndustries/SubPack]

	// Enables the 'Otter' R35 radial impeller to be surface attached to other parts
{
	@attachRules = 1,1,0,1,0
}

Slim Suit SunkWorks Compatilbility Patch

Spoiler


// ----------------------------------------------------------------------------------
// Makes the slim suit work the same as other base suits when coupled with SunkWorks
// ----------------------------------------------------------------------------------

@PART[kerbalEVASlimSuit,kerbalEVASlimSuitFemale]:NEEDS[SunkWorks]
{
	%maxPressure = 1000

	@MODULE[ModuleInventoryPart]
	{
		@InventorySlots = 3
	}
}

I hope others find these useful.

Edited by aviin
Added surface attachment QoL patches
Link to comment
Share on other sites

  • 2 weeks later...

Hello! I think I've encountered a bug, where this mod ends up setting the volume of the base-game EVA jetpack to 77L instead of 17L?
What would you need from me to continue further? Since this didn't have a crash, does the log file help at all?

Link to comment
Share on other sites

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