NavSim 6000

Navsim 6000 screenshot

tl;dr

Here are the keys (extended description below):

KeyFunction
UpAccelerate
DownDecelerate
LeftTurn left
RightTurn right
SpaceStop turning
Mouse WheelUse with HSI and CDI knobs

Demo

A Little Background

I originally wrote Navsim 6000 in the spring of 2012, with the bulk being completed over a four day bank holiday weekend.

The inspiration for it was Tim Carlson's "Tim's Air Navigation Simulator" (as of 2019-06-28 available here, though it requires Java). I must have come accross it around 1999-2000, when I was getting interested in aviation seriously. I thought to myself that it would be a nice challenge to update Tim's version and free it from proprietary technologies.

Much like how the original was a means for Tim to learn Java, I wrote it primarily to learn about the canvas element. Along the way, I learned a few new things about JavaScript, and a bit of CSS3 as well. Creating the graphics for the instruments led to the discovery of some new techniques in Photoshop too, which was a nice bonus.

While canvas worked well originally, this version replaces all usages of it with svg. jQuery is replaced with vanilla JavaScript.

I called it NavSim 6000 as an homage to Gruntmaster 9000 and various KrebStar products.

Primary Keys

KeyFunction
UpAccelerate
DownDecelerate
LeftTurn left
RightTurn right
SpaceStop turning

CTRL key makes turns snap to standard turns. If you use it to change the turn rate, the turn rate will stop at 3 degrees per second, while both increasing and decresing.

Other Controls

KeyFunction
Mouse WheelUse with HSI and CDI knobs
CTRLSnap turns. Use together with Left or Right.
SHIFTUse with mouse wheel to change the value by 10 instead of 1
1Cycle navaid 1 type (VOR, VORDME, NDB)
2Cycle navaid 2 type (VOR, VORDME, NDB)
ODraw navaid radials for omnidirectional navaids (VOR or VORDME), as well as track from aircraft to the navaids
TShow/hide trace
WWind mode: use to set and clear the wind
HCycle what is hidden: aircraft, navaids, both
LLost: position the aircraft at a random point. Makes more sense if you're hiding at least the aircraft.
RChange simulation rate
PPause/Unpause
DShow debug information

Enough, let me play!

NavSim 6000