SimpleSim

SimpleSim is a very simple flight simulator I wrote from scratch in the Java programming language. It's main use is as a gimmick to put on a web page.

SimpleSim can fly around and view scenery, but that's about the extent of its capability. It is not very realistic. The airplane cannot land, it doesn't consider altitude effects, and it has infinite fuel. It doesn't correctly model nonlinear effects such as stalling.

If you have Java (enabled), you will see an applet below. Select a scenery file and click Fly to try it. (Note: SimpleSim does not work well on some systems. It may not respond to controls; it may slow down your computer. It will not do this on with good Java VM.)

The airplane being simulated is supposed to be a Piper Cherokee, but undoubtedly I have several of the parameters wrong.

Note: Around November 2000, my only existing copy of the source code for SimpleSim was lost forever when my hard drive crashed. Fortunately, I was able to decompile the class files from the applet.


Documentation

How to Fly SimpleSim

For the control stick (or control yoke), use the arrow keys, the numeric keypad, or some keys centered on the letter I:

[YOKE CONTROLS]

Pressing the letter I, the number 5 on the keypad, or Enter centers the ailerons and the rudder. Press one of these keys to stop banking.

To control the rudder, use the letters A and S, or Insert and Delete (Insert is left rudder):

[RUDDER CONTROLS]

To control the throttle, use the "-" and "+" keys, where "+" opens the throttle (but you don't need to use shift), or use Page Up and Page Down:

[THROTTLE CONTROLS]

You may need to click on the applet before the controls work.

How to read the Instrument Panel

The Instrument Panel has a basic layout. The instruments have digital display.

  • Airspeed indicator displays true airspeed in knots.
  • Horizon indicator displays the number of degrees the nose is above the horizon (negative for below).
  • Altimeter displays height above ground level in feet.
  • Bank indicator is bank angle in degrees, positive bank is bank right. (I wanted to put a sideslip indicator but the nature of the controls made it too jumpy.)
  • Heading indicator displays heading in degrees: North is 0 or 360, East is 90, South is 180, and West is 270.
  • Vertical Airspeed indicator displays vertical airspeed in feet per minute.

Future plans for SimpleSim

Someday I might implement true line clipping. Other than that, I don't have any plans for it.


Downloading

There are binary and source distributions.

Binary distribution

To install as an applet, place all the above files into a single directory, and use the following HTML:

    <applet codebase="." archive="simplesim.jar"
       code="com.aerojockey.simplesim.Launch_Applet" 
       width="400" height="120">
    <param name="scene1" value="Pyramids.sc">
    <param name="scene2" value="River.sc">
    <param name="scene3" value="Pittsburgh.sc">
    </applet>

Source Distribution

Version 1.0:


Feedback

Comments, questions?

My current address is simplesim-23@aerojockey.com.


Copyright (c) 2001-2008 Carl Banks. All Rights Reserved.