RealGecko

[KSP 1.3.1] Bon Voyage 0.13.2.1 - Make your wheels rolling! 2017-10-15

Recommended Posts

This all is clairified in OP, right at the top:

On 17.09.2016 at 1:23 AM, RealGecko said:

Well, no more boredom! Bon Voyage is here and it will drive your rovers in background!

 

7 hours ago, Calvin_Maclure said:

 Im assuming you'll still need to have some sort of comms network allowing you to speak to your rover, right?

Constant connection is not required for crew to work. Mark Watney was able to survive without any connection to NASA Mission Control for quite a long time :D

 

Share this post


Link to post
Share on other sites
7 hours ago, RealGecko said:

This all is clairified in OP, right at the top:

 

Constant connection is not required for crew to work. Mark Watney was able to survive without any connection to NASA Mission Control for quite a long time :D

 

lol! I know, I know! But I mean if you pull a Curiosity or an Opportunity, and you have no crew in the area, only distant comms, Im assuming that you'll need an uplink to be able to input commands. I read the OP, didnt see anything mentioned about it. 

:D

Share this post


Link to post
Share on other sites

Yep, cause it's not implemented yet. Maybe some other day. And speaking about Curiosity AFAIK they plan mission really careffully and then send a program that is executed. Then they get data collected, analyze it and plan another voyage. So I think if some day I'll add this feature to the game it will require connection only to start moving and not along all the way :)

Anyway I personally don't use neither KerbNet nor RemoteTech, as IMO deploying satellite networks is the most boring task in KSP. And who you gonna call? wants to be bored by KSP? :D

Share this post


Link to post
Share on other sites

Well, I can appreciate that setting up a comms network is a little tedious. But for me, my KSP experience is somewhat broken when Im not faced with real world counterpart obstacles. But what you said about uplinking a mission (i.e.: a set of steps/maneuvres to follow) once you have a connection to the rover, than letting it executing, that's perfect! You're bang on on that one. 

Share this post


Link to post
Share on other sites
4 minutes ago, Enceos said:

I really love the "Pilot's experience affects the rover speed" idea.

  3_sparkle_600.png

And I like the idea of rovers being stuck. Sometimes I amaze myself :D

However it'll require some work. Implementing features is not as time consuming as testing 'em.

5 minutes ago, Calvin_Maclure said:

Well, I can appreciate that setting up a comms network is a little tedious. But for me, my KSP experience is somewhat broken when Im not faced with real world counterpart obstacles. But what you said about uplinking a mission (i.e.: a set of steps/maneuvres to follow) once you have a connection to the rover, than letting it executing, that's perfect! You're bang on on that one. 

That's the coolest thing about KSP. With mods (and now partially with ingame settings) you can modify degree of maddnes going on. Maybe some day I'll install RSS, Kerbalism, RemotTech and even maybe Interstellar and will be off for a few months :D:D:D

Share this post


Link to post
Share on other sites
7 minutes ago, RealGecko said:

And I like the idea of rovers being stuck. Sometimes I amaze myself :D

However it'll require some work. Implementing features is not as time consuming as testing 'em.

That's the coolest thing about KSP. With mods (and now partially with ingame settings) you can modify degree of maddnes going on. Maybe some day I'll install RSS, Kerbalism, RemotTech and even maybe Interstellar and will be off for a few months :D:D:D

Sounds like a plan. :wink:

 

Share this post


Link to post
Share on other sites

Looking forward to having rovers with good wheels, thanks.  :wink:  (Though I'm having some issues deploying them - something about them makes KSP just bug out.  But it's not this mod - I reverted to the previous version and got the same behavior.)

My one comment on the options like getting rovers stuck, or slope effects: I'll admit I occasionally use this mod in a fairly cheaty way.  Could there be an option to disable some of the realism effects?  Please?

Share this post


Link to post
Share on other sites
10 hours ago, Calvin_Maclure said:

So, (im new to this mod) if I understand correctly, this mod does not actively drive your rover but only drives it in the background. Right?

That's right, you have to leave it (go to space center, switch to a different craft... etc) in order for it to do anything. I was a little disappointed because of my expectations, but it is definitely a very useful mod!! 

A very welcome addition to my 115 total mods now :)

Thanks for your work  RealGecko!

Share this post


Link to post
Share on other sites

Hi ! First of all thanks for this wonderful mod. It adds a real purpose to rovers :P

I'm playing this with a few mods including Kerbalism. My career is not advanced enough to be able to stack RTG on my rovers to have UNLIMITED POWER. So I tried to implement fuel cell support.

To be clear I'm not a KSP expert nor a pro C# developer, but it got fun and I added a few features to my build, which felt legitimate with this mod. Here they are:
-calculate fuel cell power production (from kerbalism H2 + O2 -> H2O + EC)
-update vessels every steps to take into account resource modification (from Kerbalism background simulation).
-Recalculating different power productions updates rover status.
-Rover status depends on what production is enabled.
-Electric Charge (EC) is drained from active vessels each steps. Then Kerbalism takes care of refilling batteries.
-Rover stops when power production isn't high enough, when a certain amount of EC is drained and when the EC to drain is too high (to counter high warping problems).
-Fuel cell power production stops when fuels are depleted.
-Update time reduction to 200ms (instead of 1s). It feels a bit less laggy and it smooths EC draining.
-Added PRELAUNCH (landed on runaway or launchpad) as satisfying condition to start roving.
-Add a multiplier to solar power production (0.6) to correspond with kerbalism simulation (which simulates cosine factor).
-I now need a connection to KSC to start roving unmanned vessels.

Here are a few precisions (be carefull might be booooring ):

Spoiler

-Fuel cell production is taken into account even if they are not running. What is important is to be able to make them running i.e. having fuel (O2 and H2)
-Most of the solutions here are partial solutions, since my knowlegde and time are still limited. But a few changes could be done: actual cosine factor in solar power calculation, supporting other fuel cell parts(only FuelCell and FuelCellsArray are supported by now), enabling and disabling possibility (with ModuleManager config for example)
-I didn't test it a lot and never with an other mod list: it would not work without Kerbalism (I could do what should be done but I want to know if someone is interrested by it first).
-I made some assumptions and set some thresholds arbitrarily: balancing should be made. Is a vessel in PRELAUNCH status only on runaway and launchpad ? Will it conflict with ExtraPlanetary Lanchpad ? If rovers stop moving when EC<50% and wheels can't drain more than 35%MaxEC (leaving a minimum of 15%) will Jeb's survivability be rocket pounded ?
-Signal is needed only to start roving unmanned vessels (downloading the mission from KSC). It might not be necessary with Kerbalism, but since 0.12 you can access to BonVoyage module even without control on rover.
-My computer isn't great and even with a few rovers and a 100ms update time I didn't see a significant CPU change.

Here is my mod list btw (just the few needed ones :D):

Spoiler

LoaderInfo

{
ModuleManager.2.7.5 v2.7.5.0 = True
MiniAVC v1.0.3.2 = True
aaa_Toolbar v1.0.0.0 / v1.7.13.0 = True
USITools v1.0.0.0 = True
Achievements v1.9.4.1 = True
MiniAVC v1.0.3.1 = True
AtmosphereAutopilot v1.5.9.0 = False
AtmosphereAutopilot.UI v1.0.0.0 = True
CCK v1.2.1.0 = True
ContractConfigurator v1.0.0.0 / v1.22.2 = True
UnmannedContracts v1.0.5980.31793 = True
CustomBarnKit v1.1.10.0 = False
DMagic v1.3.0.7 / vv1.3.7 = False
ExperimentTracker v1.0.0.0 = True
Launchpad v5.5.3.0 / v5.5.3 = False
Firespitter v7.3.6195.32439 = False
kerbal-impact v1.0.0.0 = True
JSIAdvTransparentPods v0.1.13.0 = True
KAS v0.6.1.0 / v0.6.1 for KSP 1.2 = False
KerbalEngineer v1.1.2.8 = True
KerbalEngineer.Unity v1.0.0.0 = True
Kerbalism v1.1.5.0 = False
KerbalJointReinforcement v3.3.1.0 = True
HyperEdit v1.5.3.0 = True
KIS v1.4.0.0 / v1.4.0 for KSP 1.2 = False
KSPDev_Utils v0.17.0.0 / v0.17.0 for KSP v1.2 = False
MiniAVC v1.0.3.0 = True
KSP-AVC v1.1.6.2 = True
InfernalRobotics v2.0.9.0 = True
Scale_Redist v1.0.0.0 = True
MechJeb2 v2.5.1.0 / v / v2.6.0.0 = True
NavBallsToYou v0.2.0.0 = True
PlanetarySurfaceStructures v1.3.10.0 = False
AmpYear v1.4.4.0 = False
SCANsat v1.6.0.11 / vv16.11 = True
ScienceRelay v1.0.3.1 / vv3.1 = True
StageRecovery v1.6.6.0 = False
Strategia v1.0.0.0 / v1.5.0 = True
SEPScience v1.2.1.1 / v2.1.1 = True
SEPScience.Unity v1.2.1.1 = True
SurfaceExperimentPack v1.4.2.0 = True
Trajectories v1.6.5.0 = False
KerbalAlarmClock v3.8.3.0 = False
Scale v2.3.3.0 = False
UbioWeldingLtd v2.4.4.0 = False
Konstruction v0.0.0.0 = True
KolonyTools v1.0.0.0 = False
WaypointManager v1.0.0.0 / v2.6.0 = False
WheelSounds v2.3.0.0 = True
Workshop v0.15.0.0 = True
000_Toolbar = True
000_USITools = True
Achievements = True
AtmosphereAutopilot = True
Better Science Labs Continued = True
CommunityCategoryKit = True
CommunityResourcePack = True
ContractConfigurator = True
ContractPacks = True
CustomBarnKit = True
DMagicOrbitalScience = True
ExperimentTracker = True
ExtraplanetaryLaunchpads = True
Firespitter = True
Impact = True
JSI = True
KAS = True
KerbalEngineer = True
Kerbalism = True
KerbalJointReinforcement = True
Kerbaltek = True
KeridianDynamics = False
KIS = True
KSP-AVC = True
MagicSmokeIndustries = True
MechJeb2 = True
NavBallsToYou = True
PlanetaryBaseInc = True
REPOSoftTech = True
SCANsat = True
ScienceRelay = True
SETIcontracts = True
SETIprobeParts = True
spacetux = True
StageRecovery = True
Strategia = True
SurfaceExperimentPackage = True
Trajectories = True
TriggerTech = True
TweakScale = True
UbioWeldingLtd = True
UmbraSpaceIndustries = True
UnmannedBeforeManned = True
WaypointManager = True
WheelSounds = True
Workshop = True
ModuleManager.2.7.5.dll = True
ModuleManager.ConfigCache = True
ModuleManager.ConfigSHA = True
ModuleManager.Physics = True
ModuleManager.TechTree = True
toolbar-settings.dat = True
FilterExtensions v1.0.0.0 = True
AsteroidDay v1.0.0.0 = True
BonVoyage v0.10.2.0 = False
Chatterer v0.9.92.1622 = True
AGExt v1.0.0.0 = True
kOSVoidAction v1.0.0.0 = True
EasyVesselSwitch v1.2.0.0 / v1.2.0 for KSP v1.2 = True
KSPDev_Utils.0.19.0 v0.19.0.0 / v0.19.0 for KSP v1.2 = True
Firespitter v7.3.6212.36331 = True
FP_DockingSndFX v2.1.12.27690 = True
KAS v0.6.2.0 / v0.6.2 for KSP 1.2 = True
KIS v1.4.2.0 / v1.4.2 for KSP 1.2 = False
KSPDev_Utils.0.20.0 v0.20.0.0 / v0.20.0 for KSP v1.2 = True
BetterManeuvering v1.0.2.3 / v2.3 = True
BetterManeuvering.Unity v1.0.2.3 = True
PlanetarySurfaceStructures v1.4.0.0 = False
AmpYear v1.4.6.0 = True
ShipEffects v1.0.7.0 = True
SmartParts v1.9.3.0 = False
StageRecovery v1.6.8.0 = True
StationScience v1.0.0.0 = True
TakeCommand v1.4.0.3 / v1.4.0.0 = False
KerbalAlarmClock v3.8.4.0 = True
TransferWindowPlanner v1.6.1.0 = True
UbioWeldingLtd v2.5.0.0 = True
VesselMover v1.5.1.3 = True
WaterSounds v2.3.0.0 = True
WaypointManager v1.0.0.0 / v2.6.2 = True
000_FilterExtensions = True
000_FilterExtensions Configs = True
AsteroidDay = True
BonVoyage = True
Chatterer = True
Diazo = True
EasyVesselSwitch = True
FP_DPSoundFX = True
ManeuverNodeEvolved = True
MiniAVC = True
ShipEffects = True
SmartParts = True
StationScience = True
TakeCommand = True
VesselMover = True
WaterSounds = True
000_AT_Utils v1.4.2.0 = True
001_AnisotropicPartResizer v1.2.0.1 = True
002_MultiAnimators v1.1.0.1 = True
ConfigurableContainers v2.4.0.5 = True
SubmodelResizer v1.0.0.0 = True
AtmosphereAutopilot v1.5.10.0 = True
BonVoyage v0.11.1.0 = True
DifferentialThrust v1.0.0.0 = True
Launchpad v5.6.0.0 / v5.6.0 = False
Kerbalism v1.2.0.0 = True
KIS v1.4.3.0 / v1.4.3 for KSP 1.2 = True
MusicMute v1.1.1.0 = True
TakeCommand v1.4.8.0 / v1.4.0.0 = True
Trajectories v1.6.6.0 = True
Scale v2.3.4.0 = True
WildBlueTools v1.0.0.0 = True
Buffalo v1.0.0.0 = True
Pathfinder v1.0.0.0 = True
000_AT_Utils = True
ConfigurableContainers = True
DavonTCsystemsMod = True
MCM = True
MusicMute = True
WildBlueIndustries = True
DMagic v1.3.0.8 / vv1.3.8 = True
Launchpad v5.7.1.0 / v5.7.1 = True
PlanetarySurfaceStructures v1.4.1.0 = True
DeepFreeze v0.23.3.0 = True
SmartParts v1.9.4.0 = True
StateFunding v0.6.4.0 / v0.5.0.0 = True
StateFunding = True
CustomBarnKit v1.1.11.0 = True
}

@RealGecko I know some features are not compatible with the vision of your mod (background resource management, CPU loading...) so I let you choose what is interessant and what is not so you can add them in you mod. I will fork the gitlab folder a do push request so you can examine my code (I changed only ActiveRover.cs, BonVoyage.cs and BonVoyageModule.cs). For now, there it is https://github.com/XavGo/KSP-BonVoyage

 

Share this post


Link to post
Share on other sites

Hi there! Pretty decent work you've done. I'll definitely check your code to see if I can get something usefull.

However I have a few questions:

  • Did you check PRELAUNCHed rover state change later in the game?
  • How reduction of update time to 0.2s inflicted garbage production?
  • How background processing inflicts garbage production?

Share this post


Link to post
Share on other sites

Ok, you're right performances weren't that good so I changed a few things:

-detection of Kerbalism if loaded and BV adapts to it
-support for stock fuel cells without background resource processing : initial fuel amount gives a maximum EC to drain through fuel cells, then each update calculates how much to consume (without actually drainning resources), and finally when the rover arrives to destination or when BV is deactivated the corresponding fuel is drainned.
-update time is back to 1s when Kerbalism isn't loaded. In fact 200ms is usefull only not to drain huge amount of EC when high warping, meaning rovers would have to be filled with tons of battery to keep roving.

Now about your questions and with these modifications (see the dev branch in my repo):

On 19/03/2017 at 2:20 PM, RealGecko said:

Did you check PRELAUNCHed rover state change later in the game?

It does now: I force it to LANDED when BV is activated. About that I wonder what happens when a rover drives through a new biome, I guess it won't be triggered as nothings change in the protovessel, but will it be usefull to update it ?

On 19/03/2017 at 2:20 PM, RealGecko said:

How reduction of update time to 0.2s inflicted garbage production?

How background processing inflicts garbage production?

I tested a few situations with MemGraph:

-with official BV 0.12

Spoiler

En58Bj5.png

-with BV 0.12 with 200ms update time:

Spoiler

3rAHO2a.png

-with BV modified and stock fuel cells: (1s update time)

Spoiler

4aBoXbp.png

-with official BV and Kerbalism:

Spoiler

nC1aKdm.png

-with Kerbalism and modified BV: (200ms and resource background processing)

Spoiler

IJ7vCVA.png

 

My conclusion is that without Kerbalism these new features are transparent. But with Kerbalism, performances aren't that good, but still usefull features in my opinion: roving during night makes you save so much time (and supplies) and you don't have to irradiate your kerbals with tons of RTG (Kerbalism adds radiation emission to it, affecting your kerbals health).

Also I learned about garbage thanks to your comment, so my opinion about performance and all desn't worth a lot :rolleyes:

Still this is yours to choose, my job is done here (well I guess...). Now I have som' rovin' to do !

Edited by XavGo

Share this post


Link to post
Share on other sites
18 hours ago, XavGo said:

It does now: I force it to LANDED when BV is activated. About that I wonder what happens when a rover drives through a new biome, I guess it won't be triggered as nothings change in the protovessel, but will it be usefull to update it ?

As far as I can remember if BV moved PRELAUNCHed vessel it status did not update, and MET remained still. Also in tracking station and space center those kind of vessels were marked as "Landed at Runway", so you could not launch any other vessel (game complained that runway is blocked). Who knows what other consequences there're, so I decided to restrict BV activation for prelaunched vessels. But forcing it to landed might be a good idea. With new biome I'm not sure. Vessels are usually landed at celestial body and this status is updated forcefully each cycle.

18 hours ago, XavGo said:

roving during night makes you save so much time (and supplies)

But there's serious speed penalty :D

18 hours ago, XavGo said:

Still this is yours to choose, my job is done here (well I guess...).

Your job is pretty cool, I'll see if it can be merged successfully into the mod. However this'll require some serious revisions, as I plan to add a lot of things too. As soon as I finish Yet Another Warp Drive mod :confused: I'll come back to Bon Voyage.

Share this post


Link to post
Share on other sites

How good is this at keeping a rover from flipping on the side of a hill? Mechjeb's Rover autopilot fails terribly. The rover in question is this one, without the trailer, as seen in second update: Road of exploration.

Share this post


Link to post
Share on other sites
4 minutes ago, Brent Kerman said:

How good is this at keeping a rover from flipping on the side of a hill? Mechjeb's Rover autopilot fails terribly. The rover in question is this one, without the trailer, as seen in second update: Road of exploration.

Since it simulates the driving it will never flip it on hills.  However, it can end up putting your rover in a dangerous place.

Share this post


Link to post
Share on other sites

I don't think I understand this mod. Does it actually drive the rover? Quote: Well, no more boredom! Bon Voyage is here and it will drive your rovers in background! Are you saying it does not actually drive them, but works like Vessel Mover?

Share this post


Link to post
Share on other sites
2 minutes ago, Brent Kerman said:

I don't think I understand this mod. Does it actually drive the rover? Quote: Well, no more boredom! Bon Voyage is here and it will drive your rovers in background! Are you saying it does not actually drive them, but works like Vessel Mover?

It drives it in the background, not while you're there with it (i.e.: active vessel)

Share this post


Link to post
Share on other sites

OK, doesn't this make a lot of lag with simulating two (or more) vessels instead of one?

Share this post


Link to post
Share on other sites
2 minutes ago, Brent Kerman said:

OK, doesn't this make a lot of lag with simulating two (or more) vessels instead of one?

It doesn't fully simulate the rover in the background.  It pre-computes a route when you start, and moves it's location along that route over time.

Share this post


Link to post
Share on other sites
3 minutes ago, DStaal said:

It doesn't fully simulate the rover in the background.  It pre-computes a route when you start, and moves it's location along that route over time.

Ok, now I get it. It does NOT drive the rover. Do you know of any mods that do?

Edited by Brent Kerman

Share this post


Link to post
Share on other sites
4 minutes ago, Brent Kerman said:

OK, doesn't this make a lot of lag with simulating two (or more) vessels instead of one?

It doesn't do a full physics simulation.  There's a lag at the very start when you pick a target and it tries to compute a route to it.  This is capped at 10 seconds, if it hasn't found an answer by then it tells you it can't find a route.  (This is common on Kerbin, pick a closer point and it will work.  I've never seen it on a moon, I have yet to put a rover on another planet.)

Once the precalculation is done there's very little to do, no lag.

Share this post


Link to post
Share on other sites
3 minutes ago, Brent Kerman said:

Ok, now I get it. It does NOT drive the rover. Do you know of any mods that do?

MechJeb.  But that's in the foreground, and it's very rudimentary.

 

A better question is: What are you looking for?  This doesn't just arbitrarily move the rover.  The route has to be feasible, not cross water, etc.  The rover has to have enough power to drive it's wheels - and I believe it will even stop during the night.  So, what level of automatic driving do you want?

Share this post


Link to post
Share on other sites

I'm looking for better than Mechjeb, I mean, he cant see hills, water, etc., but this appears that I can't sit in IVA and watch for interesting sites as I (MOD) drive.

Share this post


Link to post
Share on other sites
8 minutes ago, Brent Kerman said:

I'm looking for better than Mechjeb, I mean, he cant see hills, water, etc., but this appears that I can't sit in IVA and watch for interesting sites as I (MOD) drive.

Correct.  It's shy, it won't move if you're looking at it.  It just gets your rover to where you want it--very useful for gathering biome science and a big help if you land off target (MechJeb won't guide an EVA Kerbal down and they have a poor TWR--aiming is hard.)

Share this post


Link to post
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.