J6dof Flight Sim Versions Save

A high fidelity 6DOF flight simulation that the user can fly themselves or run to analyze an aircraft's flight dynamics

v0.75-alpha

3 years ago

Changes Since v0.65

JavaFX Integration

  • Recreated Swing GUI in JavaFX for more modernized presentation and potential use with jMonkeyEngine

Aircraft

InitialConditions

Options1

Options2

Options3

Options4

VM Arguments

  • Added command line argument for setting JavaFX vs Swing; use LWJGL_JAVAFX or LWJGL_SWING respectively

Bugfixes

  • Fixed bug with some resolution radio buttons not disabling when full screen enabled
  • Fixed trim tabs not being reset with other flight controls
  • Disabled transient controls to fix analysis doublets/singlets generating incorrectly; need to investigate
  • Fixed joystick buttons/hat inputs not being reset when released

v0.65-alpha

3 years ago

Changes for v0.65a

  • Cleaned up how control parameter events are determined

  • Added full screen mode to options and fixed display options not being applied before window created

  • Added maven model to project and used it to determine project name and version programmatically

  • Removed Mouse and Joystick Options; project will always use controller if connected, otherwise use keyboard

  • Fixed error on export of LogsOut to CSV

  • Fixed simulation plots disappearing after first refresh called

  • Updated Documentation

  • Added reset GUI text when sim is reset

  • Added debug mode option to display parameters of camera/entity in chase view

  • Modified default logging level from debug to info

v0.6-alpha

3 years ago

Changes Since 0.4

Added JME to pom and test terrain class to preview JME

  • Created SimulationStepper to step all parts of simulation by external update loop

Refactor flight controls to accept external sources

  • Created InputData and InputDataListener to get inputs from external source

  • Created ExternalFlightControlsStateManager to accept external source inputs and handle the input actions

  • Greatly simplified implementation of datatransfer package objects. Most of them are now contained in the classes they poll for data

  • Updated InputMaster to handle joystick axes and buttons

  • Added InputData and InputMaster to LWJGLWorld step()

  • Modified keyboard mappings to use int instead of string for key

  • Deleted inputdevices package so that inputs entirely received from LWJGLWorld

Simplified data transfer

  • Moved FlightData and event listeners into Integrate6DOFEquations

Removed unused Swing instrument panel and SteelSeries gauges

Maintenance

  • Added decimal formatting to SimOuts and cleaned up ConsoleTableModel

  • Removed unneeded/updated outdated test "harnesses"

Upgrade LWJGL to 3.2.3

  • Removed SlickUtils for PNGDecoder as it's not compatible with LWJGL3

  • Upgraded other pom dependencies to latest versions

  • Added JSON back to .gitignore

  • Converted all Mouse, Keyboard and Controller polling into GLFW callbacks/gets. Project is 100% migrated from jinput and usable on newer Java versions

  • Added visibility flag to GUIText

Java 11 Fixes

  • Bugfixes to get program working with Java 11

  • Reworked build script to handle recent updates and be more progammatic

Added tutorial to Documentation on changing controls settings

Added building/development info to README

v0.4-alpha

5 years ago

Changes Since v0.3

Numerous Bug Fixes and Performance Improvements

  • Combined all simulation threads into a single thread to fix concurrency and timing issues

  • Fixed various synchronization issues surrounding generating doublet and singled controls in analysis mode

  • Reduced terrain texture size further to reduce graphics card load

  • Added algorithm to selectively render terrain objects by proximity to aircraft

Transient Flight Controls Actuator and Input Separation

  • Separated the direct input of flight controls from the actual actuation of the control surface to allow for custom actuators to simulate a fly-by-wire system

Open GL Instrument Panel

  • Converted instrument panel objects from vector-drawn Swing objects to PNG textures that are directly rendered in the Open GL window and positioned and scaled using JSON configuration

Switchable Chase View

  • Added third-person chase view and switchable camera views that can be changed using key presses (7 8 and 9); In chase view, a simple aircraft model displays, and the camera can be panned around using the middle mouse button

JSON Configuration

  • Converted all configuration files into JSON (Javascript Object Notation) for cross compatibility with other applications, simpler I/O within JFS and easy customizability of the following:
  1. Aircraft dimensions, parameters and specifications
  2. Keyboard and joystick control assignments
  3. Analysis Mode (Singlet/Doublet) control injections
  4. Plot window, tab and subplot configuration

Audio, Camera and Display Menus

  • Added additional menus and reorganized existing ones for configuring display and camera options

Maven Integration, File Pathing, Unix Support

  • Added Maven to automatically manage external library dependencies, and easily build releases

  • Added log4j to entire project to log loading, general operation and errors to a logfile

  • Modified file pathing within code and added natives to support Unix based OS' as well

v0.3-alpha

7 years ago

nopanel

panel

Changes Since v0.2

Simulation

  • Improvements to ground reaction model for takeoff and landing
  • Moved flight controls to separate thread to make update rate independant of simulation and allow for later use with SAS or autopilot systems
  • Fixed trimming bug where simulation would only correctly trim the first time the simulation is started

OTW

  • Reduced tree texture size to reduce size of simulation and graphics card usage
  • Integrated instrument panel window into simulation window; instrument panel can now be toggled on/off from the options panel; when the instrument panel is hidden, text displays at the top of the screen showing current position/airspeed/altitude/heading
  • Added text display to simulation window when simulation is paused
  • Modified terrain object to read an object mapping texture to determine where to generate trees on a terrain tile

UI

  • Plots can now be refreshed and cleared in preparation for a new maneuver
  • Added Keyboard Only option in the Options window to allow the user to control the aircraft with just the keyboard; added flaps controls to keyboard

Misc

  • Minor additional UI and simulation bugfixes

v0.2-alpha

7 years ago

Changes Since v0.1

  • Added trimming method to calculate trim elevator, throttle and pitch angle for a given altitude and airspeed
  • Reduced size of world somewhat to improve performance
  • Added OpenAL sound engine to play engine, flap, gear, stall horn and wind sounds
  • Audio tab in Options to configure individual volume settings for sound types

audio

Download / Installation

jfs1 jfs2 jfs3 jfs4 jfs5

v0.1-alpha

7 years ago

Features / Limitations

  • First pre-release candidate of Java Flight Simulator
  • Comes with two aircraft, the Ryan Navion and Camair Twin Navion
  • Plotting functionality works except for refresh option in plot window dropdown menu
  • No trimming is implemented yet
  • Ground reaction does not interact with terrain height, only with sea level
  • Out the window terrain tiles repeat, with no generated entities for now
  • Latitude/longitude coordinates in options menu do not work yet
  • No sound implemented yet

Download

jfs1 jfs2 jfs3 jfs4 jfs5