Sorry, I've been pretty busy at work, so didn't check back after posting that.
Quote:How exactly do spherical coordinates simplify a player's mental calculation of distance? If anything, it seems like that would be far more difficult, as you have to reason about the angles in 3d space in addition to axis positions. It would be much easier if the spherical coordinates were centered around the ship itself, but at that point you might as well just use normal cartesian coordinates and display the distance.
The spherical coordinate system I implemented does center around the ship. I forgot how stock SWR works, in that it displays absolute coordinates ( RIP's system displays relative coordinates between your ship and other objects ). It's been a while.
Quote:Presentation layer should not determine how things work in the Application layer. You can easily choose to display the data in any format you want, but don't make the space-time continuum work like some kind of swiss-cheese simulation because you don't like the way the UI works.
In the terms of usability/playability, the presentation layer is extremely important in determining how things work in the back end. Some things are deliberately obscured to the player by design, but I don't think that would be appropriate in this case. Distance calculations determine combat ranges, the ability to go to hyperspeed, and the ability to land, plus other items I'm not sure are stock at the moment. A player can get by fine by ignoring this, and just spamming 'fire', 'hyperspace' or 'land' until they stop getting the error message, of course, but that's kinda besides the point, because a lot of players definitely would like to know if they are in range of a hostile ship... it's rather important.
I can say that I have trouble doing vector math in my head, which is the way to get 'true' distance in comparing two 3D rectangular coordinate systems, and I'm good at math. The average player is *not* going to be able to calculate true distance on the fly. Which, again, is why I'm going for the don't fix it position, unless:
Quote:Could just add it to the radar output:
ch_printf( ch, "%s %.0f %.0f %.0f (Distance: %.0f)\r\n", ship_name, x, y, z, dist );
In this case, I'd be okay with adjusting the distance calculation, because then the distance is given to the player. Don't just fix the distance calculation without displaying it, though.