Page 1 of 165 1231151101 ... LastLast
Results 1 to 10 of 1644

Thread: [PLUGIN+PARTS][0.23] SCANsat terrain mapping

  1. #1

    [PLUGIN+PARTS][0.23] SCANsat terrain mapping

    Notice: SCANsat mod updates are now presented and discussed in this thread.

    Download build 5 here
    .
    Source code for the plugin lives on github.
    Changelog post for build 5.

    Changelog post for build 4.
    Changelog post for build 3.
    Changelog post for build 2.


    Note for new users: This is a work in progress, and the current state of the plugin is different from the initial description. Please refer to the changelogs linked above to see what's changed so far. This mod is usable, but not finished.


    Original first post:

    I've been working on a mapping mod for a bit, and I'm now at a point where I'd say it's definitely not ready for release, but maybe ready for some feedback.

    The main aim of this mod is that mapping should work as a game. Meaning, you should be able to put a mapping satellite in an orbit and get a reasonably useful map by playing normally, without long waits. It should be fun to watch how your satellite uncovers the map, but you should still have to work for it a bit if you want the map to be perfect. At the same time, all data is pulled from the game - "faking it" by just showing you parts of an existing map isn't acceptable. I also wanted to be able to have several different sensors that show you different things under different conditions, which is something I'm getting close to now. Unfortunately, if you haven't already guessed, all this meant realism has had a somewhat low priority so far...

    So what does this do?



    This is what the main UI looks like right now. Every part in this mod opens this UI if you enable it via the right-click menu or action groups.

    In this particular example, you can see that I have three scanning vessels active. Number 3 is the active vessel, which is why it's green, and the abbreviations below the map tell me that it has both low- and high-resolution altimetry sensors active as well as a slope detecting sensor. Because they're green; you're probably noticing a pattern here. It doesn't have a biome sensor active, it doesn't have an anomaly sensor active, and it also doesn't have a BTDT sensor, which is another anomaly sensor that can also identify (as in, name) anomalies, but has to be very close to do that (i.e. on a lander or a rover, not a satellite). Oh, and if any of these tags were orange, that'd tell me I'm at the wrong altitude.

    You can also see that these sensors cover a fairly large area of land - although the high resolution altimetry sensor covers a smaller area than the other sensors, which is why there are greyscale bands around my active satellite's track. The other satellite in orbit around Kerbin in this game only has a low resolution sensor, which is why its track is only greyscale. And lastly, the vessel named "Anomaly Scanner" is really a rover sitting near the KSC that has a BTDT sensor equipped, so it doesn't leave a visible track at all because this window currently only shows elevation.

    Oh, and that red line shows update progress, because this map is continuously rebuilt line by line. It's not as slow as it sounds, I promise. I could probably make it update completely live too, but this way should give more constant performance (and I liked the look of it...).

    Obviously there are two buttons here that you can click. The one that says "Forget Map" will reset all mapping data for this system. I mean it. It'll forget everything about whatever you're orbiting at the time.

    The other one opens a larger map window. This is a part of that window showing a map of Eve:


    No surprise here. It's a larger map with more detail than the smaller map. It takes a few seconds to render, because this is when the mod actually scans the terrain. It uses the same coverage data as the small map, meaning you'll see tracks of your satellites here too. But since that coverage data is recorded at a much lower resolution than this map, edges will be jaggy.

    The small square that looks like a magnified view of the two craters to the left of it is in fact a magnified view of those craters; you get it by right-clicking somewhere. If you right-click inside the magnified view, it'll magnify it even more, too. Good thing that satellite had a high resolution altimetry sensor on it, because otherwise this zoom would not be so useful.

    The text at the bottom refers to the mouse position within the map (or the magnified bit). Green means there's data of that particular type, grey means there's no data of that type, and red means there would be data if the game had that kind of data (Eve does not have biomes, but if it ever gets biomes, then I would be able to see the biome in this location). The number is terrain height under the mouse cursor, again good thing that I had a high resolution sensor, because otherwise this number would be rounded to the nearest multiple of 500.

    The buttons are pretty self explanatory, they switch display modes. You can also use them to refresh the map if your satellites have scanned some more land. The greyscale button actually affects all maps, or at least I hope it does.

    I need to say something about biomes here - you've no doubt seen the biome map of Kerbin in that blog post that introduced biomes. That map is exactly what I can get from the game, too. I didn't really like the colour scheme, so biome maps rendered by this mod look different. Here's one showing Mun:



    The actual biome map from the game is very colourful, with lots of brightly coloured blobs of biome. Unfortunately, there is a small problem: There is a function in the API that seems to be made for finding the biome at a given location, but I couldn't figure out how to use it without printing debug messages to the screen. So I implemented my own interpretation of "closest map color", meaning biome edges can be inaccurate on these maps.

    Also, since I mentioned anomaly detection before, here's the difference between the anomaly sensor you put on a satellite and the BTDT sensor:



    As you can see, the BTDT sensor on my rover I mentioned earlier has correctly identified the KSC, while the Island Airstrip nearby still shows up as a generic "Anomaly". (Note, these names are pulled from the game too, if you don't like the lack of spaces or the extra zeroes in some, that's not my fault ).

    Oh, and another thing about this window: Every time a map is fully rendered, it's exported as a PNG image to the PluginData folder inside the mod's folder. Existing images get overwritten, so if you want to keep anything you should probably copy it somewhere safe.

    Some other things that I think are nice about this

    • Scanning a planet can be completed in a few minutes if you set up a good orbit, or throw enough satellites at the problem, and time warp for a bit. This mod doesn't actually interpolate positions during time warp, but with the current field of view sizes, I've had good results from up to 1000x time warp around planets like Kerbin. Faster time warp works too, it just doesn't paint recognizable tracks anymore.
    • All active scanners scan at the same time, including those on vessels in different SoIs. You don't have to keep your satellite as the active vessel until you're done, as long as your other vessel also has a part from this mod that can open the mapping interface. (The non-scanning one counts.)
    • Watching your satellites make pretty tracks doesn't use too much processing power and shouldn't slow anything down.
    • Works on Macs, too! At least on mine, anyway.


    So, what's the catch?

    Well, near as I can tell, this mod is actually working as described, and usable even on my Macbook that struggles with running KSP in the first place. But there are some things that are just unfinished or bad:

    • All the parts in this mod currently use the same terrible mesh that I made to find out how to get a mesh into a mod, with a texture I made to find out how painting textures works in blender. I don't know how soon I can make the actual models. At least it looks vaguely like a sensor array. But it's not pretty, and it's not animated.
    • It's not properly integrated with career mode yet. Currently, the parts should be hooked into "Science Tech". Obviously, the plan is that the better sensors should come much later. But those sensors didn't even exist two complete refactorings ago.
    • Parts don't use electrical charge yet. This is never going to be perfect, as I can't drain charge on inactive vessels. But I still want it at least for the active one.
    • I'm also hoping that eventually, scanning planets and in particular, discovering anomalies, can generate science, but I don't even know where to look for that yet.
    • Map sizes aren't configurable yet.
    • The small updating map still needs a way to show progress for sensors other than altimetry.
    • Only scanning vessels (and the active vessel) are currently displayed on maps.
    • All the map markers are basically text labels that start with an x or an o, which means they're all potentially off by a few pixels.
    • Scanning isn't very realistic, and I don't know if I can ever change this because it's really important to me that this works as part of a game. One thing I'd like to do at some point is make the field of view dependant on the altitude of the scanning vessel. But the fairly low resolution coverage map limits this somewhat. And the amount I'm willing to blow up persistence files limits the resolution of that coverage map.
    • Scanning (basically) only happens while the mapping interface is open. It wouldn't be too hard to make it go on while you're doing something completely unrelated on a different vessel, but I haven't gotten around to it yet.
    • There are probably a bunch of bugs in the code too, since I haven't touched C# in about ten years. (You can probably tell...)
    • There's even at least one bug visible on one of the pictures in this post... doh.


    What I'm looking for here is primarily feedback on whether I'm on the right track with my ideas on making this a "gamey" feature. Also, I haven't been finding too many NullReferenceExceptions lately, so that probably means it wouldn't hurt if more people could try to use it.

    To anyone brave enough to try this, thank you, and I hope it's not entirely useless.
    Last edited by diomedea; 18th May 2014 at 09:37. Reason: Notice added about SCANsat continuation thread

  2. #2
    Facilities Eng/Janitor sharpspoonful's Avatar
    Join Date
    Sep 2013
    Location
    California
    Posts
    442
    Blog Entries
    1
    Downloading and testing as we speak. This is the ISA replacement if you can work out the kinks.

  3. #3
    Nice work! It looks like you handily beat me to the prototype phase. It's great to see someone get a mapper working with deferred terrain queries without using a prebuilt map outright.

    Don't get too hung up on some of the scanning challenges like interpolating through timewarp or draining electricity while unfocused. Depending on how picky you are, the solutions to those problems can be straightforward but unsatisfying or just incredibly difficult.

    I also suggest you not stay in the development forum for too long. Fix up a few issues, and go for a release. Too many good plugins get lost in this forum for fear of releasing. (You can always continue development after release!)

  4. #4

  5. #5
    OK stupid question what is BTDT? Secondly good work.

    Feeback,
    To make it fun what about a satelite or vehicle icon instead of the X. What about an orbital map showing the satelites track aswell.

    http://forum.kerbalspaceprogram.com/...racking-center

    An idea,
    when you spot an anomoly could it be possible to give a lat long position in ° ' '' (deg min sec) rather than decimal?
    WATCH BOB FITCH'S Project Gateway, it's the Kerbal sphericals!!
    http://www.youtube.com/user/BeazaYT?feature=watch

  6. #6
    Capsule Communicator Scotius's Avatar
    Join Date
    Apr 2013
    Location
    Poland
    Posts
    2,186
    Ah, finally someone tackled the issue of Not Enough Mapping! in KSP Kudos.
    "Thou shalt not take Murphy's Laws in vain."
    "Duct tape is like the Force. It has light side, dark side, and is keeping the Universe together."
    "No one gets left behind."

  7. #7
    Spacecraft Engineer BFGfreak's Avatar
    Join Date
    Apr 2013
    Location
    Pixie Hollow
    Posts
    216
    Blog Entries
    1
    If you don't mind me asking, how will science factor into this?

    Also nice work, I'm glad to see that someone's updating the old mapsat idea.
    Quote Originally Posted by Noio View Post
    I was wondering why my antenna was leaking punch cards.

  8. #8
    Junior Rocket Scientist BostLabs's Avatar
    Join Date
    Apr 2013
    Location
    In a smoking heap on the Mun.
    Posts
    584
    Excellent! I have been missing my mapping satellite. I'll download this tonight.
    Beagle Flight - A story of skill, luck, risk, intrigue and high stakes in airless space.
    AAR - Beagle Flight Completed.
    AAR - Beagle Flight - Duna. - Coming Soon.




    Shadows are so hard to get right sometimes. - The Director

  9. #9
    Facilities Eng/Janitor sharpspoonful's Avatar
    Join Date
    Sep 2013
    Location
    California
    Posts
    442
    Blog Entries
    1
    Well, I have to say, I'm throughly impressed. I'm not running into memory leakages, I have it scanning WITH Kethane and all of the scanners simultaneously, without incident. The map renders well enough, and so far, I think you are your best critic. It's running on my Macbook without a hiccup.

    I honestly have zero issues other than what you've already pointed out.

    EDIT: When using Greyscale the text should change from black to either cyan or orange.

    PICTURES!
    Last edited by sharpspoonful; 29th October 2013 at 13:13.

  10. #10
    Sr. Spacecraft Engineer
    Join Date
    Mar 2012
    Location
    Sol-III - Netherlands
    Posts
    365
    *Kneels down, kisses floor*

    Concrats on the WIP (beta?) release of SCANsat damny!
    • Multi-vessel scan is awesome, I wonder how you got it to work without the game loading the parts (how does the game know what vessels can scan, and what sensors they have? MAGIC!)
    • Map shows only scan-enabled vessels: I don't see the problem there. I find it logical that only vessels with SCANsat-tech show up on SCANsat maps, other vessels are not hooked up to the network.
    • Is there a 'view map only' part? (for landers or basic orientation) (Maybe adding a list of all parts with their specs in the first post would be an idea?)
    • If scanning continuous while doing completely unrelated stuff, that would be dream come true.
    • When you get around generating science, may I suggest it delivers based upon the percentage of mapped terrain? A few points for every 10% for example, slowly increasing since 0->10% isn't as much of an achievement than 70->80 is (I think)
    Last edited by OrtwinS; 29th October 2013 at 13:10.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •