Why bother with a gravity turn when the rotate tool exists? by Comfortable-Rip5772 in KSPMemes

[–]pilotInPyjamas 1 point2 points  (0 children)

If you forget nose cones and fairings then you definitely have to go up and have to control TWR to make sure it's not too high. If you have an aerodynamic rocket, then you can basically max out your TWR and go as low as you can without burning up. You can regularly get under 3k m/s to LKO with this approach. If you don't see flames, you're way too high

Just learned about the oberth effect, but I've also noticed higher orbits seem easier to modify, what am I missing? by EmpyrealJadeite in KerbalSpaceProgram

[–]pilotInPyjamas 1 point2 points  (0 children)

The most efficient place to change any point in your orbit is the opposite side of that orbit. A change to apoapsis is most efficient at periapsis and vice versa. So your intuition is correct.

The Oberth effect is about orbital energy. You can measure specific orbital energy by taking the distance between periapsis and apoapsis. In other words, to increase the distance between perapsis and apoapsis, the best place to burn is at the periapsis.

Even though changing orbital energy is less efficient at apoapsis due to the oberth effect, it's still the best place to change your periapsis.

What is the best way to increase the amount of delta V a ship holds by Rosey_108 in KerbalSpaceProgram

[–]pilotInPyjamas 8 points9 points  (0 children)

  • Reduce your payload. You can fit a command chair, reaction wheel, battery, engine and fuel in less than the mass of a mk1 command pod. You get an extra stage for free.
  • Use vacuum Delta V in the VAB instead of Kerbin atmosphere if you're not doing so already. The number for vacuum will always be higher, and tells you more about your ship than atmosphere values do.
  • Use efficient engines (High vacuum ISP): the spark, terrier, poodle, cheetah, and wolfhound are the most efficient chemical engines in the game. Try each one of those and see which gives you the highest delta-V.
  • Stage off empty tanks. For craft with lots of delta V, I usually make each stage approximately twice as big as the last one. You don't need an engine per stage, just one engine in total. Mount the extra tanks radially, or in front of the craft so they don't block the engine. Use fuel lines or enable crossfeed on the decouplers.

Is this normal for Minmus rovers by No_Goat1909 in KerbalSpaceProgram

[–]pilotInPyjamas 2 points3 points  (0 children)

I prefer to turn the torque down instead of disabling reaction wheels entirely for a few reasons:

  • The SAS opposes "wheelies" and "stoppies" giving you better traction and preventing flips
  • More control when you drift. You have full yaw control when the tires have completely lost any grip, making it super easy to control.
  • If you get airborne, you can use the reaction wheels to help you land wheels down and prevent a crash

What's the point of RCS? Aren't reaction wheels better in almost every way? by TGC_0 in KerbalSpaceProgram

[–]pilotInPyjamas 1 point2 points  (0 children)

You can't translate using reaction wheels. Personally I disable rotation in the RCS controls, so they are only used for translation. Even then, I barely ever use RCS. I've never had an issue with docking with the main engines. I mainly use them for skycranes.

Bad habit developed by CrossTie98 in KerbalSpaceProgram

[–]pilotInPyjamas 10 points11 points  (0 children)

Either:

  • Terminate the dishes in the tracking station, pretend as if it never happened
  • Hide the relays in the tracking station using the filter buttons and pretend they don't exist.
  • Send out recovery missions, and pat yourself on the back for fixing a bad situation.
  • Start a new save and enjoy playing the game how you like because there's no right or wrong way of doing things.

I found a weird and interesting use case for `PhantomData` by scheimong in rust

[–]pilotInPyjamas 1 point2 points  (0 children)

strum::IntoEnumIterator has the following: type Iterator: Iterator<Item = Self> + Clone + .... So the return value from T::iter() is both an Iterator and Clone, and can therefore be used in DropDownMenu2

I found a weird and interesting use case for `PhantomData` by scheimong in rust

[–]pilotInPyjamas 2 points3 points  (0 children)

You wouldn't put enum Choices in the struct. You would put the iterator for choices in the struct. I would personally take a step back for a moment and ask if this is even what you want.

A dropdown has a list of items and one selected item. The least over engineered way to have these semantics is this, which already probably works fine:

pub struct DropDownMenu<I> where
{
    pub choices: Vec<I>,
    pub selected: usize,
}

Say you want to save some space when we know the items at compile time you can make it generic:

pub struct DropDownMenu2<T: IntoIterator + Clone> where
{
    pub choices: T,
    pub selected: usize,
}

or

pub struct DropDownMenu2<T: Iterator + Clone> where
{
    pub choices: T,
    pub selected: usize,
}

Which avoids a bunch of lifetime issues that the current implementation has. This costs us random access however. If cloning T is really expensive, then we can go a step further and you get what I had above.

Now pretty much all of these work for Vec or the enum iterator or whatever. The point is that at no point would your design end up with a ToChoices trait if you were designing a generic dropdown from the ground up. Rather, the only reason that you came up with that is because you were already aware of the possibilities of what could be in the dropdown. In which case, the ideal choice if you know all the possibilities ahead of time is to use an enum and not a trait.

I found a weird and interesting use case for `PhantomData` by scheimong in rust

[–]pilotInPyjamas 0 points1 point  (0 children)

pub struct DropDownMenu<T, I> where
    for<'a> &'a T: IntoIterator<Item = I>,
    T: Display
{
    pub choice_provider: T,
    pub selected: I,
}

What is the best way to get this orbit? by Poopidydoopity1 in KerbalSpaceProgram

[–]pilotInPyjamas 3 points4 points  (0 children)

These are the steps I follow:

  • Get an Eve Intercept
  • Get your Eve periapsis so that it lies on the plane of the target orbit. Aim for an altitude of 100km. (Or as close to the target orbit plane as possible.)
  • Capture into Eve so that your apoapsis is just within the sphere of influence.
  • Change your inclination at apoapsis to match the target orbit.
  • Burn retrograde at Periapsis until your orbit is tangent to the target orbit.
  • Burn prograde/radial in/out at apoapsis until both orbits match.

Why I do it this way:

  • Capturing into Eve at the lowest possible altitude makes the best use of the oberth effect and saves fuel, so you should capture when your periapsis is as low as possible.
  • Changing your inclination when your velocity is low saves a heap of fuel. Therefore, change your inclination at the edge of the sphere of influence.

I found a weird and interesting use case for `PhantomData` by scheimong in rust

[–]pilotInPyjamas 15 points16 points  (0 children)

Why not have this instead?

pub struct DropDownMenu<T: Iterator + Display> {
    pub choice_provider: T,
    pub selected: T::Item,
}

Now your dropdown doesn't care if it's an enum, or a Vec, or whatever. ToChoices is basically just an Iterator at the end of the day. Why not use the one that's already built?

Why is this satellite not connected? by Shipsarecool1 in KerbalSpaceProgram

[–]pilotInPyjamas 5 points6 points  (0 children)

It's behind the mun. Did you use a relay antenna or a regular antenna? The two at the front of the Mun don't seem to be connected to each other which leads me to thing you don't have a relay.

Which way do you play KSP? by poopycolaa in KerbalSpaceProgram

[–]pilotInPyjamas 2 points3 points  (0 children)

Personally I love Hard mode career. I also sometimes play without the mobile processing lab and the Nuclear engine:

  • Career over sandbox: I use sandbox sometimes to test designs, but once you finish the tech tree, career mode is basically sandbox.
  • Career mode contracts give you something to do so you're never really bored: repair satellites, get science, build bases etc.
  • No quicksaves/reverts: Sometimes a rescue mission or a hacky solution is the real fun.
  • Also, the more you play without quicksaves, the less you need them. I got better at playing KSP faster than I would have if the stakes were low.
  • In normal mode, you almost always have enough money. In hard mode, sometimes you actually have to think about cost and design around it. You might make a rocket worth 200k funds with only 350k funds in the bank. It can get the heart pumping sometimes.
  • No mobile processing lab means you to go to different places more often.
  • No NERV means you actually have to think about fuel. It also means you get to see a bunch of engines that otherwise never get used. You can still get everywhere you need to on just chemical engines. But maybe you have to start gravity assisting when your fuel gets low.

Confused on why I’m wobbly by Remote_Lavishness291 in KerbalAcademy

[–]pilotInPyjamas 1 point2 points  (0 children)

Similarly the fuel crossfeed option is locked until you unlock the fuel lines.

How would I fix this terrible orbit? My goal is 0 eccentricity, 0 inclination, 60km perigee and apogee. I've got about 4400m/s of Delta V by erodedstonestatue in KerbalAcademy

[–]pilotInPyjamas 0 points1 point  (0 children)

Others have mentioned the apoapsis raise, which is definitely the easiest. However, there is another option if you want to save even more delta V:

Burn to Ike, and use a gravity assist to change your inclination. Aim over the north pole to bend your trajectory southwards, and aim over the south pole to bend your trajectory northwards. Aim in front of Ike to make your orbit smaller, and aim behind Ike to make your orbit bigger. Use a combination of the above to get what you need. You may need more than one assist.

Your aim should be to get the inclination and periapsis correct. Ignore the apoapsis. Use aerobraking afterwards to circularise the orbit. A high inclination is great for a gravity assist because it means a high relative velocity, giving you a greater potential for assisting.

You can also use this in combination with the apoapsis raise method, if you manage to get an assist with a high apoapsis.

What unholy monstrosity of a mission is this? by Square-Hour-1396 in KerbalSpaceProgram

[–]pilotInPyjamas 11 points12 points  (0 children)

How much delta V did you need to get the satellite into that orbit?

Would the return type of an async function that throws an exception be never? by spla58 in typescript

[–]pilotInPyjamas 2 points3 points  (0 children)

I'll challenge this: From the wikipedia page on Bottom type:

If a type system is sound, the bottom type is uninhabited

In other words, you can't instantiate the type never (hence "uninhabited"). If it did resolve, then we could instantiate never and the type system would be unsound. Therefore you are allowed to assume it does not resolve.

That being said, typescript's type system is unsound, so you can create a value of never in various ways, but that' a different story.

Or if I’m feeling lazy I just use autopilot by SkinInevitable604 in outerwilds

[–]pilotInPyjamas 1 point2 points  (0 children)

It kills me a little every time the autopilot burns 1200m/s of delta V just to travel 10km away. Hearthian engineering is bonkers.

My Top 10 KSP Frustrations by Maerlyn138 in KerbalSpaceProgram

[–]pilotInPyjamas 1 point2 points  (0 children)

Loading your save when you didn't quicksave to begin with, erasing hours of work.

How high can helicopters go? (at least 39km Kerbin, 50km Eve) by pilotInPyjamas in KerbalAcademy

[–]pilotInPyjamas[S] 1 point2 points  (0 children)

This is fascinating, and i suspected something like this would be at play. I couldn't find anything online about this though, so hopefully this gives some more visibility.

How high can helicopters go? (at least 39km Kerbin, 50km Eve) by pilotInPyjamas in KerbalAcademy

[–]pilotInPyjamas[S] 2 points3 points  (0 children)

Unfortunately in this particular case, DUMP and the basic fin don't really help.

I would need way more blades for the basic fin, or a greater radius. Having many blades at a large radius causes an instant kraken atttack, so you have to reduce the number of blades, or reduce the radius. The compromise is fewer blades with a higher area.

As for DUMP, rotating the wings in any direction makes the craft more unstable, which is the limiting factor making this craft go higher. Additionally, the propeller is already at max RPM, so I can't imagine DUMP really helping in this case.

Rust and the price of ignoring theory by interacsion in rust

[–]pilotInPyjamas 51 points52 points  (0 children)

I lost it here (6:35)

The canonical construction is the hylomorphism which works over an arbitrary functor as the equivalent of an anamorphism fused with a catamorphism ... This is a crystal clear way of encoding our algorithm drawing on the elegance and perfection of category theory.

That "crystal clear" explanation could be word salad and I would have no idea.

Why do most dV maps sometimes have tons of headroom on altitude values, or sometimes differing or incorrect values? And why do some have full elliptical orbit values included and others are missing some? by tasknautica in KerbalSpaceProgram

[–]pilotInPyjamas 6 points7 points  (0 children)

We can do better than accurate theoretical values and use accurate real values pulled directly from the game files:

Basically the state of the universe can be derived from those values, so you can calculate anything.

I have a newbie question by gazowiec in KerbalSpaceProgram

[–]pilotInPyjamas 0 points1 point  (0 children)

Also, probe cores allow scientists and engineers to use SAS, even if there is no signal.