Jump to content

Kethane Pack 0.9.2 - New cinematic trailer! - 1.0 compatibility update


Majiir

Recommended Posts

Could you explain the rationale behind that decision?

Detectors are balanced with the constraints of the current vessel in mind. For example, altitude attenuation and logarithmic timewarp are balanced against the inherent altitude restrictions of timewarp. Background scanning would allow operation of a low-altitude scanner at maximum time acceleration, which is not intended.

I don't think the technical challenges are insurmountable, but I'd rather not try to model resource flow; there are just too many variables to account for. Tracking the presence of a part on unloaded vessels isn't too hard, and that's how the multiple-satellite system will work.

Link to comment
Share on other sites

Could you explain the rationale behind that decision?

I could. :D

If it were me working on the Kethane mod. My reason would be something like "I just figured I would rather put Kethane out there functionally as it is, and keep it functional to the best of my ability. And work on background scanning and scanning efficiency as I have time for it."

The game itself typically isn't made for things to function outside of a very specific, and frankly, very limited set of circumstances including view distance and "active controlled craft".

Some craft at some distances simply aren't functioning sometimes. For the time being, I'm kinda grateful. There have been some unbelievably choppy skittering moments in KSPs rather recent past releases. They've made huge strides in playability (FPS, physics CPU / GPU load). Despite envisioning how much more we could enjoy out of this game =) I just don't think it can all happen at once and am grateful to have what I've got as I'm sure everyone else is as well.

Getting satellites to function in circumstances beyond what the game is programmed to allow would be a pretty substantial pain I would imagine. And if someone spent a large amount of time creating a work around, I'd hate to see their work become redundant when in another six months SQUAD implements an entirely new and even more efficient way of handling multiple instances of physics events. Hypothetically speaking of course. It would be cool to enjoy something like that in the mean time. But if it took four or five months to get that workaround implemented and de-bugged...I dunno.

It might be quite a big project. To get these satellites working around the clock. Triggering scan mode when a particular craft is active is a good idea. I like that. But without multi point rendering of physics for the scanner itself I'm not sure how reliable that would be. Unless the triggering craft is within the 2k deadzone. And if we did get multiple crafts rendered and all physics'd up, would everyones computer handle it? I know many of us are enthusiasts and could handle quite a lot. But with general playability in mind, its going to be quite a thin line that I don't envy anyone for walking =)

Great work Majir! Impressed and having a blast with Kethane as always!

I just went back and looked at an old spreadsheet file the kethane guys were sharing as their to-do list. And...things have come quite a long way!

Link to comment
Share on other sites

Detectors are balanced with the constraints of the current vessel in mind. For example, altitude attenuation and logarithmic timewarp are balanced against the inherent altitude restrictions of timewarp. Background scanning would allow operation of a low-altitude scanner at maximum time acceleration, which is not intended.

I don't think the technical challenges are insurmountable, but I'd rather not try to model resource flow; there are just too many variables to account for. Tracking the presence of a part on unloaded vessels isn't too hard, and that's how the multiple-satellite system will work.

If I follow correctly. This seems like one of only a very few ways that would work very well.

Not to necessarilly use the satellites we create and put into orbit themselves. But to create a subsystem (and perhaps parts / seperate satellites) that would represent a master controller which would be running a tracker of location coordinates, and direction, sunlight, elec, etc of the scanners in question, and kinda...recreate the scanning results those detectors WOULD be giving us, if they were active. And then applying those cumulative results to the kethane saved info.

Or somethin' to that effect. :D

Link to comment
Share on other sites

If RemoteTech is able to run by tracking line-of-sight from multiple satellites out of physics range of each other, I don't see why a multiple mapping system would require physics either. It would probably involve something like running a ray normal to the surface from each satellite in a constellation and checking which tiles each passes over to determine scanning. It's Majiir's decision to try to investigate, let alone implement multi-sat mapping, but the rest of us have worked with single active satellite mapping long enough that it's not much of a loss if it turns out to be too prohibitive in time, effort or computer resource requirements.

Link to comment
Share on other sites

Why do all the physics calculations?

What you know:

- Which ship is where

- Which ship has its scanner enabled (at the time of registration to the background mapper and without a turn off event it stays on)

- The orbit of the ship (including its surface height over time! so the balance concern of Majiir is not valid in my opinion)

- The sphere of influence with its rotational speed

All you need to do is plot a line over the surface: calculate the oscillating function based on orbit and rotation speed so that you can simply draw this function on a fixed sphere (move the rotational part to the ship trajectory).

It doesn't need to be perfect, and a few in-game days in a few seconds timewarp will allow most bodies to be scanned this way (as long as you don't screw up and choose an equatorial orbit or a nice perfect 4x 90 degree pattern etc).

The fun part (for me) is creating the probes, sending them to everywhere, let them do their thing in the background and when I get there with my mining base the planet has been mapped and I can start mining. It will actually be beneficial to have multiple probes as they all work together. What I don't like is the tedious wait because it needs to map it in "semi real time". The above method is a very simple and "correct enough" method and completely in line with all other "correct enough" physics in this game.

And a counter argument why I do want to be able to make use of the 10000x timewarp for this: when I travel to other planets I also use timewarp. It's part of the game. Nobody forces me to travel to Jool at max 50x timewarp, so I have to go do other stuff and leave the game running over night(s). Worst gameplay experience ever... I'd rather grind 200 bunny kills for 1xp because that means I'm actually playing. And perhaps they let me have a big BBQ of them ;)

Link to comment
Share on other sites

Why do all the physics calculations?

- The orbit of the ship (including its surface height over time! so the balance concern of Majiir is not valid in my opinion)

- The sphere of influence with its rotational speed

All you need to do is plot a line over the surface: calculate the oscillating function based on orbit and rotation speed so that you can simply draw this function on a fixed sphere (move the rotational part to the ship trajectory).

All that requires the physics.

Link to comment
Share on other sites

All that requires the physics.

Yes, but its all FIXED, you calculate it once when an orbit is established/changed (can only happen in real time or physics warp), and simply apply the warped time to the function. It doesn't take a huge amount of RAM to apply a single function, or draw a line on a sphere, especially on this very coarse hexagon grid.

Link to comment
Share on other sites

Yes, but its all FIXED, you calculate it once when an orbit is established/changed (can only happen in real time or physics warp), and simply apply the warped time to the function. It doesn't take a huge amount of RAM to apply a single function, or draw a line on a sphere, especially on this very coarse hexagon grid.

It's not fixed at all though. The game is CONSTANTLY recalculating the orbital path for the active craft at every tick. Even at time warp it does it! You try doing reentry at time warp and notice that it STILL adjusts your path to account for aerobraking.

Link to comment
Share on other sites

JewelShisen: actually, it does not, otherwise timewarp would not work. That's what is meant by being "on rails": the orbital parameters are all known, all that is needed is to calculate the position of the satellite using those parameters and the current time using the same algorithm that every GPS receiver uses.

Also, something to consider is that Kethane already works pretty much as Pirke is describing, just limited to the one ship. Not supporting unattended scanning is a design decision, not a technical one.

Link to comment
Share on other sites

But it is NOT an active ship, the game doesn't calculate anything for those: they just have a fixed orbit until activated again. When I'm on an intercept course to Mun and switch to another vessel orbiting Mun, I see the first ship come and go without changing it's nice elliptical orbit. It does not get any influence of Mun.

Link to comment
Share on other sites

Also, something to consider is that Kethane already works pretty much as Pirke is describing

I don't agree: the scanner pulses x times per second, that's why it starts skipping tiles at timewarp: pulse N is before the skipped tile, pulse N+1 is after the skipped tile. It just didn't pulse while over the skipped tile.

Link to comment
Share on other sites

Fact of the matter is that even if it is possible within the confines of KSP's code base, I doubt it will happen until Majiir can either limit it to the lowest time warp level of all available craft or balance it in some other way. Regardless it is doubtful it will happen until KSP is a 64bit game and that doesn't seem to be coming any time soon.

Link to comment
Share on other sites

I don't agree: the scanner pulses x times per second, that's why it starts skipping tiles at timewarp: pulse N is before the skipped tile, pulse N+1 is after the skipped tile. It just didn't pulse while over the skipped tile.

If that is your issue then shorten the scanning period.

Link to comment
Share on other sites

Then it will snow and be sunny at the same time! Because of this optimization it is possible to keep track of thousands of ships all over the galaxy during a 10000x timewarp. You simply can't do that without this optimization of having each orbit fixed.

There is a reason why many-particle simulations often use timesteps of 0.0000000001 seconds per calculation frame, and it takes a lot of time to calculate each frame (often seconds to hours on a regular PC, depending on the number of particles and forces involved). In these (scientific) simulations a lot of shortcuts are taken as well: only interactions with particles within a max radius are taken into account. The rest is ignored. The outcome is completely different, but "correct enough".

Link to comment
Share on other sites

Everyone hold on a second.

  • Implementation is absolutely possible and well within the bounds of my coding capabilities.
  • Vessels don't need to be loaded at distance for this to work.
  • Multi-sat/background scanning has absolutely nothing to do with 64-bit support. It would take a negligible amount of RAM (at worst, a list of vessel references and some metadata; we're talking a few hundred bytes here) to do.
  • On-rails calculations do not require physics. KSP uses idealized Keplerian mechanics, so orbit positions can be solved in constant time for any timestep (SOI changes notwithstanding).
  • Compatibility with future KSP updates is not a concern; anything could change, and I'm prepared to make compatibility updates. Every modder is.

Link to comment
Share on other sites

Fact of the matter is that even if it is possible within the confines of KSP's code base, I doubt it will happen until Majiir can either limit it to the lowest time warp level of all available craft or balance it in some other way. Regardless it is doubtful it will happen until KSP is a 64bit game and that doesn't seem to be coming any time soon.

What does 64 bits have to do with this? 16 bits would be enough, as 2^16 is more than the maximum number of hexagon tiles in 1 grid ;)

If that is your issue then shorten the scanning period.

This is not my issue. My issue is that I don't want to wait real-time and are unable to play Kerbal Space Program for those hours... I work many hours a week and enjoy an evening of KSP to relax. Just having the game running in the background while I'm forced to watch youtube doesn't bring me the joy of time otherwise spent in designing new rockets and see them explode or not.

This Kethane mod is greatly enhancing my gameplay experience by making planetary bases and orbital probes actually useful (refueling in a far away system). But I do have a limited real-world time schedule to do it all in...

I'll stop now, I think I made my point :)

Link to comment
Share on other sites

My issue is that I don't want to wait real-time and are unable to play Kerbal Space Program for those hours...

Simple solve: Shorten the scanning periods so it pulses more and thus misses less. Then run at high warp. I scanned all of Duna with the old mapping system this way in under five minutes of real time. Problem solved, one mission.

Link to comment
Share on other sites

What does 64 bits have to do with this? 16 bits would be enough, as 2^16 is more than the maximum number of hexagon tiles in 1 grid ;)

2^16 = 65,536 (bytes, in this context). The 32-sub grid has 10,242 cells, which is indeed lessâ€â€but when you store a double (8 bytes) for each cell, you blow through that limit.

Seriously guys, stop trying to armchair program if you don't know what you're talking about. I love the enthusiasm, but you're spreading a lot of information on both sides that's just downright wrong.

This is not my issue. My issue is that I don't want to wait real-time and are unable to play Kerbal Space Program for those hours... I work many hours a week and enjoy an evening of KSP to relax. Just having the game running in the background while I'm forced to watch youtube doesn't bring me the joy of time otherwise spent in designing new rockets and see them explode or not.

No part of Kethane requires (or even encourages) you to have a full scan. It takes about ten seconds to find your first deposit. (Yes, I have actually done test runs and timed this.) Even scanning on a highly inclined orbit, it doesn't take more than a minute to find a nice equatorial deposit on suitable terrain. If you find yourself leaving your computer on to scan, you're either using a poor satellite design, misunderstanding your gameplay options or both.

My goal with Kethane design is to make it easy to get your toes wet and rather challenging to swim in the deep end. To that end, I think scanning is very successful in its current form. If you disagree, excellent, let's talk about it, but let's talk in terms of that balancing goal.

Link to comment
Share on other sites

Simple solve: Shorten the scanning periods so it pulses more and thus misses less. Then run at high warp. I scanned all of Duna with the old mapping system this way in under five minutes of real time. Problem solved, one mission.

OR

You could do it without changing the config by using more scanners, like most do. I have mapped Kerbin 100% in under 15min real-time...you just need to build BEEFY satellites.

Link to comment
Share on other sites

I would just like to clear up what I've said. I never said that it would take 64bit KSP to do it, rather that I don't see it HAPPENING until they release a 64bit version.

I'm sorry if I have said anything that is incorrect. I'm not a programmer, outside of a small bit of RGSS and Lua, and I am going off of the limits of the hardware and the software as I know them.

Link to comment
Share on other sites

OR

You could do it without changing the config by using more scanners, like most do. I have mapped Kerbin 100% in under 15min real-time...you just need to build BEEFY satellites.

More scanners as in more satellites or more scanners as in 1 satellite with a lot of scanners on it?

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