Jump to content

[0.23] [PLUGIN] RoverScience ALPHA 4.0 - Upgrades! - Open for Playtesting!


theSpeare

Recommended Posts

xLxZftk.png

ALPHA PRE-RELEASE

RoverScience is a KSP plugin that attempts to add more interactive functionality to the science system FOR rovers. The rover can be either manned, or unmanned (the former will be revised eventually).

Firstly, RoverScience will not function unless the Rover Terminal is opened. This is done through the right-click menu of the Rover Brain part.

To do science with a rover, you must have a vessel with at least one wheel in contact with the ground. Wherever you land first with your wheels will establish a landing spot. Science is analyzed from science spots. To find a science spot you simply have to drive around; however, the farther you are from the landing spot the higher the chance of finding a science spot. Once a science spot has been found, the terminal will show the distance and bearing to the spot; heading and rel. heading will be shown as well. Simply drive to the spot (within 3m) and information will be shown about the spot.

Please avoid using more than one RoverBrain on the same vessel! This is not supported yet - a very rough method has been used to prevent spamming of this part.

For more information check the readme (little outdated). There's a lot of important little bits to remember, so please read the bottom half of it.

This is a pre-release intended for playtesting. Feedback is greatly appreciated. The plugin is more or less almost finished; it just requires some balancing and then new features can come in the future.

Installation Instructions:

Please download the latest pre-release. Just hit the green button that says "RoverScience-pX.X.rar - no more downloading the entire source!

DOWNLOAD HERE

Source code on Github

Please submit issues to github page.

Much thanks to the community of KSP modders, who have been very patient, very kind and very helpful. This is my first major C# project and I'm still learning. The code may be messy in some places and I apologize. But nothing will ever describe my gratitude to those who helped - particularly malkuth, whose inbox I have no doubt spammed with questions. This is a wonderful community, and I thank you all once again. :)

Edited by theSpeare
Link to comment
Share on other sites

This should be interesting. I'll have to try it out soon.

That's a good idea with the heading device, it's a shame there's no easier way to get that information.

One suggestion based on your images, those bearing and heading numbers can probably be rounded off (and I assume since your write-up has the correct bearing/heading terminology that you'll change that too). I assume they're doubles so just replace them with: Math.Round(yourdouble, 2); with the 2 being how many decimal places to include.

And does a Kerbal day mean 10 hours (or whatever a full day on Kerbin is)? It's always been a bit confusing because the time references all seem to be Earth days and years, while Kerbin days and years are completely different.

Link to comment
Share on other sites

Yeah, these screenshots are a little outdated - those numbers are already rounded off and bearings are rounded to one decimal place.

Not exactly sure how many hours it is as I'm working off MET. It's not THAT long if you just timewarp through it, but it's enough to make you hesitate before analyzing straight away.

Link to comment
Share on other sites

And does a Kerbal day mean 10 hours (or whatever a full day on Kerbin is)? It's always been a bit confusing because the time references all seem to be Earth days and years, while Kerbin days and years are completely different.

Kerbal Day is 6 hours. To the OP, this looks great!

Link to comment
Share on other sites

Cheers. Guys, any feedback would be appreciated, especially with how it plays. I may revise the analyze cooldown and replace it with a "maximum x times analyze use before very very long cooldown" method instead. 'x' can probably then be upgraded with science. I think this is a better solution and will be less of a "grinding" method. This way the player will have, say, "five" attempts to get as much science as he can from a surface. He can either choose to go with "normal" values or really push for those high end values - but that's to their dedication.

Link to comment
Share on other sites

Is this compatible with the changes KSPI has made to the accelerometer?

I don't think it'd be a problem. RoverScience uses its own part "Rover Brain" which appears on the first node of the tech tree. I'm just reusing the stock models because I'm still developing my own.

How about adding hullcam module for rover scanning part?

Like in ground survey mod.

Not entirely sure what you mean?

Link to comment
Share on other sites

I've got an issue with the mod - cannot get science analyzed.

Trying it out right from launchpad. Built as shown, set it up, drove as ordered, pressing button to analyze upon arrival and... nothing.

screenshot2.jpg

And, as you can see from the image above - "Total dist. travelled for this spot:" it equals always 0(zero). No matter how far I drove.

Edited by Horus
Link to comment
Share on other sites

I've got an issue with the mod - cannot get science analyzed.

Trying it out right from launchpad. Built as shown, set it up, drove as ordered, pressing button to analyze upon arrival and... nothing.

And, as you can see from the image above - "Total dist. travelled for this spot:" it equals always 0(zero). No matter how far I drove.

Hi, your first issue has already been fixed in the latest commit. It'll be in the next pre-release. Essentially what's happening is you can't analyze because there's a time you have to wait between analysis times. Since the variable holding the "time since last release" was initiated as 0, if you've never analyzed before (as in, first launching a vehicle), then a check of "current MET" - "previous time" != 30 days. If that makes sense. It's been fixed anyway, but the problem is the time delay check won't change at all if the MET hasn't started yet (no launch detected yet). For now you can fix this by simply timewarping full runs down to 0. Note the message on the terminal "Must wait until next analysis can be made".

The second bit doesn't make much sense. The total distance calculated doesn't really play into anything with the science though - it's just a neat thing I like to show the player. I'm not sure though why it's not working for you. Maybe just wait until the next release. Please upload your .craft file though so I can test it.

Also by science gap if you mean the analyze delay then no, it's locked per vessel. So yeah, technically you can send a crapload of rovers to the same spot and analyze the crap out of the land but you'll be driving each one of them anyway. Later I'll be adding a body-locked delay to prevent this exploit.

Please let me know how you find the mod after these issues and likewise sorry about them in the first place. I'll try to get an update out asap.

Link to comment
Share on other sites

Thanks for your reply. Waiting for next release.

To my taste - the mod is really awesome & promising. It totally differs from existing bunch of "science mods" which simply clone stock parts, create their own "science" and simply use default science module.

I can only dream how awesome mod it can evolve to and hope it will not be abandoned early :)

Kudos to you!!!

Edited by Horus
Link to comment
Share on other sites

Finally had time to review it one more time. Got the idea of science analyzing.

30 days rover lock is a bit too much. Should be at least twice as low.

Too bad that even if you cancel analyzing (in science window) - the rover brain is locked.

Also, 2k science cap is too much as well. But this can be adjusted to personal taste. I'd set it to 200-400.

It would be much more immersive to lock all rover actions(at least rover motion) & display analyzing progress percentage. When it reaches 100% - a science window popups up with an analyze result and you are free to make the next science search.

Link to comment
Share on other sites

@Horus

Cheers, really appreciate the help and feedback. :)

The 30 day rover lock is going to be changed and pretty much removed. Essentially the new system will be where the science you get will be reduced each time you analyze. This way you have to really make sure you get those high values before analyzing, because eventually you'll be getting close to 0 values! In the future I may combine this with a science lab so you can clean it, but you must be in orbit. It's a little out of the way for a rover to dock, but it's a challenge if you REALLY want to reuse your rover.

This means I can keep the science cap at around 1500~2000, but you still won't be able to get it all without sending another rover and such.

I don't want to necessarily halt rover movement completely, but I may do a "percentage until done" thing. That's neat, but it'll be coming as a post-release feature as that's a bit more aesthetic than functional.

@SaplingPick

To my knowledge there are only two GUI textures. The one I'm using now is the one that I remember mechjeb uses a lot. I could switch to the KER style where it's not really transparent. The problem with this is that since the rover terminal could potentially take up such a large portion of the screen, I'd like it to be a little see-through rather than just a block.

If you have any suggestions for which GUI skin I can use, I'd be glad to look it up.

Link to comment
Share on other sites

GitHub has been updated and there is Pre-release 2 is now up.

Here is the summary:


Huzzah!

Analysis delay has been deleted; which means you no longer have to wait after every analysis. Now you can analyse to your heart's content - but be careful as the more you analyze, the less you'll get each time. The science returned is modified by a scalar which remains at 1 for the first three attempts, and everything after that will start to experience a decay.

Moved part techRequired to fieldScience where the first rover wheels appear. If you install this version you must unlock that node! It's the same node that contains the rover wheels so make sure you check, click the Rover Brain part and research it.

The other changes are not so important; just a few things moved here and about.

P.S. Kudos to Rockstar04 for the discussion under issue #11, helping abolish the analysis delay.
Also thanks to Horus at KSP forums for active testing.

Link to comment
Share on other sites

n the future I may combine this with a science lab so you can clean it, but you must be in orbit. It's a little out of the way for a rover to dock, but it's a challenge if you REALLY want to reuse your rover.

I dont agree with the 'must be in orbit' to use the Science Lab requirement, this will make research bases on the surface of the planet defunct.

Other than that small quibble, this looks awesome! Anything that improves the rover aspect of the game, and gives them an actual purpose is a perfect addition to the game.

Link to comment
Share on other sites

The 'must be in orbit' is just for resetting the rover's penalties on excessive analyses. When I implement it, you can still grab its data, slap it on a lab and boost it (hopefully) for transmission. The only behavior I want to change is the ability for the rover brain part to be cleaned (probably automatic since I can't seem to touch the lab API for my purposes). But this is farther down the line anyway.

Thank you very much! :) It'd help a lot if you playtest with the latest pre-release and give me feedback (and bug reports). Preferably on the github page so it's easier to track, but here's just as great.

Link to comment
Share on other sites

I think the texture could be coded like the Chatterer mod, because you can switch the textures in game. So then if it takes too much of the screen, the user changes the texture to a transparent one, and if he wants a more 'solid' texture he presses the texture button for a new texture. Could be something cool to look at.

Link to comment
Share on other sites

I think the texture could be coded like the Chatterer mod, because you can switch the textures in game. So then if it takes too much of the screen, the user changes the texture to a transparent one, and if he wants a more 'solid' texture he presses the texture button for a new texture. Could be something cool to look at.

Alright, I can probably fit an extra "GUI" button. I'll add it in as a future feature as it's not something I'm overly concerned about. What I really need are playtesters so I can push this out for full release.

Link to comment
Share on other sites

Been playtesting this for a few hours with mun rovers until terrain bugs flipped it my latest...

uc3SN41.png

It works very nicely and I discovered no major bugs. Most of my notes are therefore mostly ease of use and balance gripes:

When the rover is "Searching for science spots..." it doesn't immediately give you a bearing. Since I am a lazy ******* who doesn't read the manual I thought I had to wait for the rover to give me a heading. Took a while before I figured that I had to randomly drive around to find a science spot. Rewording that sentence to "Searching for science spots, drive around until the eggheads spot one." or something along those lines might help to avoid confusion.

The bearings themselves give you more information than you strictly need. All you really need to get to your site is the relative bearing, all the others might as well be hidden to avoid confusion. It might also be a good idea to put in a small hysteresis in the heading system. As is the system gets rather schizo with left and right when you are heading the correct way, so printing "Straight ahead!" when you're within 10 degrees of your heading will remedy that. Alternatively a rework into a visual representation would be much more intuitive. Say, an arrow that points to the target spot and goes from red to green as you get closer. But I realize this is much more work, so I can understand if you want to go with a text based system for now.

"Total dist. travelled while searching" has a typo (it's traveled) and seems to reset after every science spot found. Don't know if this is intentional behavior.

Another thing that I noticed is that there is no incentive to build bigger rovers with more instruments. This system works just as well on a tiny bare bones rover as a hulking Curiosity clone. Since the latter is a much bigger achievement it could be an idea to scale the science to the number of science instruments present on the rover. This is a pretty minor gripe though, tiny rovers are a thing IRL as well after all (Pathfinder, Chang'e 3 etc).

My last point is the most important bit though. The science from this needs to be scaled down. Usually an instrument on the mun gives you about 100 science. This part alone can give you nearly 5 times that if you scope out the high science areas. It is just too good for a single small part. I'd cut the science from this in half. It should give a bit more than normal science parts due to its interactive nature, but not by this much.

Other than that. This is the one mod I was still looking for. In my career playthroughs I was always skipping the wheels until I started base building, it's nice that they finally have some use.

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