KSP is really really good for this stuff. I never really grokked orbital mechanics till I played it, but a lot of the weirdness of how space missions are designed makes perfect sense once you have an actual feel for how orbits react to velocity changes.
I wrote a small 2D game once, where the Earth is attacked by a swarm of satellites in polar orbits. Your ship is launched from the surface, but after that it's up to you to put yourself in orbit, using thrusters. Thinks Asteroids with gravity. It really taught me a lot about how an orbit's shape changes when thrust is applied in different directions, at different points in an orbit. For example, a good way to circularise an orbit from an elliptical, a small tangential thrust at apogee during each orbit would eventually place the spacecraft in a circular orbit with a radius roughly equal to the apogee distance of the elliptical orbit... or to say it another way, perigee would increase until it equalled apogee...
Anyway, the point being that I never would have understood any of this no matter how many times I read 2010, until I wrote that little game. Some things need to be experienced to really grok.
Orbiter too. It's incredibly difficult to make your orbit. You really have to get it right from the get go on the ground. If you have to do an orbit transfer, that can sometimes be a huge amount of your fuel just to line up for the transfer before even breaking orbit.
I gained a true appreciation for difficulty of the kind of maneuvers that are common place in science fiction after spending time with Orbiter.
Yes, Orbiter was great. It's sad that it's not really developed anymore. For those who don't know, it's like Kerbal Space Program, but using real ships and without Kerbals. It gave this distinct feeling of "the real deal" when you played it.
I remember my friend telling me he actually googled down some US Space Shuttle maunals and used the real checklists when launching in the game.