AIRCRAFT DEVELOPMENT GUIDELINES
Introduction
This document serves as a comprehensive guide for external developers creating aircraft compatible with Career Mode. It aims to provide essential technical requirements and parameter specifications to ensure smooth integration and functionality within the game environment. The information presented here highlights critical parameters to verify, along with tools and testing methods to validate configurations.
Structure
- Introduction of future Parameter Verification Tool : Package Analyzer improved
- General Career Mode Requirements: A list of core parameters applicable across all career missions, with a detailed context and notes indicating whether incorrect settings are blocking issues or not.
- Mission-Specific Parameters: Breakdown of additional parameters unique to specific missions, specifying their role, criticality, and validation approaches.
Parameters Verification Tool : Package Analyzer improved
To facilitate development, a tool, an improvement of the current Package Analyzer will soon be available to help developers verify the correct configuration of certain parameters. Although this tool will assist by identifying potential blockers, it will only check if the entered values technically comply with mission requirements; it will not assess the logical accuracy or optimal tuning of these values. Developers will still need to ensure the coherence and fine-tuning of their aircraft configurations independently.
Furthermore, the tool will not be able to check all parameters as some of them need the sim to be running to have a value (e.g. engine combustion. This SIMVAR can only give a value with the Sim-Running).
Career Mode Requirements
- General
- First Flight / Flightseeing
- Skydive
- Scientific Research
- Aerial Advertising
- Passenger Transport (Rotorcraft)
- Agricultural Aviation
- Aerial Firefighting
- Search & Rescue
- Search & Rescue (Rotorcraft)
- Search & Rescue (Hoist)
- Cargo Transport (Hook)
- Aerial Construction
- Private Charter Airliner
- Commercial Airliner
- Private Charter
- Cargo
- Cargo Airliner
- Medic
SIMVAR Explanation and acceptance criteria
SIMVAR | EXPLANATION | CFG parameters related | Acceptance criteria | Detection by the future tool |
---|---|---|---|---|
ENG COMBUSTION (BLOCKER) | Check if engines are on for heat engine aircraft, index on engine number / Can block engine ignition step validation, prevent to pass to the next part of the flow | Bool, index for each engine | No as the value expected is contextual and requires simulation to run | |
NUMBER OF ENGINES | To find out how many engines the aircraft has: Linked to the ignition step validation | engines.cfg : Number of "Engine.X" params | Int: From 1 to 4 | Yes |
COVER ON (BLOCKER) | Check if covers are removed, index on cover number | Bool: 0 removed, 1 on | Yes | |
CIRCUIT ELECTRIC ENGINE ON (BLOCKER) | Check if engines is on for electric engine aircraft | Bool: 0 off, 1 on | Yes | |
AIRCRAFT CATEGORY | Check if the aircraft is a plane or a helicopter | aircraft.cfg: "ui_typerole" param | String: PLANETYPE_ROTORCRAFT if helicopter | |
IS GEAR SKIDS | To find out how the taxi phase can be done: hover or rolling | flight_model.cfg : "point.X", set the first param of the list. 1 = wheel / 2 = scrape points / 3 = skids / 4 = float / 5 = water rudder | Bool | Yes |
PARKING BRAKE AVAILABLE (BLOCKER) | Check if the player needs a step to trigger parking brake - Not available for the moment | systems.cfg : set param parking_brake in "brakes" section | Bool | Yes |
IS GEAR WHEELS | Check if the player needs a step to parking brake | flight_model.cfg : "point.X", set the first param of the list. 1 = wheel / 2 = scrape points / 3 = skids / 4 = float / 5 = water rudder | Bool | Yes |
BRAKE PARKING POSITION | To inform the player that he must remove his pkg brake before taxi if it set | Bool: 0 removed, 1 on | No as the value expected is contextual and requires simulation to run | |
GENERAL ENG THROTTLE LEVER POSITION | To inform the player that he must reduce speed before reaching the holdshort | Percent : From 0 to 100 | No as the value expected is contextual and requires simulation to run | |
IS GEAR RETRACTABLE | Check if the player needs a step to retract the wheels | flight_model.cfg : "point.X", set the 13th param of the list | Bool | Yes |
GEAR TOTAL PCT EXTENDED | Check if the player has retracted the wheels | Percent: From 0 to 1 | No as the value expected is contextual and requires simulation to run | |
PLANE ALTITUDE MINUS CG | Check if the player is at good altitude to validate takeoff | Positif number | No as the value expected is contextual and requires simulation to run | |
GEAR SPEED EXCEEDED | Check if it is safe to extend your gear | Bool | No as the value expected is contextual and requires simulation to run | |
RECIP ENG FUEL AVAILABLE | Check if the player performs a dead stick landing on a propeller engine, index on engine number | Bool, index for each engine | No as the value expected is contextual and requires simulation to run | |
TURB ENG FUEL AVAILABLE | Check if the player performs a dead stick landing on a turbo engine, index on engine number | Bool, index for each engine | No as the value expected is contextual and requires simulation to run | |
ENG N1 RPM (BLOCKER) | Check if propeller rotation is completely stopped to trigger reward screen, index on engine number | RPM: positif number | No as the value expected is contextual and requires simulation to run | |
ROTOR RPM (BLOCKER) | Check if rotor blade rotation is completely stopped to trigger reward screen | RPM: positif number | No as the value expected is contextual and requires simulation to run | |
ROTOR BRAKE ACTIVE | Check if the player needs a step to trigger rotor brake | Bool: 0 removed, 1 on | No as the value expected is contextual and requires simulation to run | |
FLAPS AVAILABLE | Check if aircraft has flaps to activate the penalty | flight_model.cfg : in "Flaps" section, set "type" param. type = 1 ; Flap type 0 = None, 1 = trailing edge, 2 = leading edge | Bool | Yes |
FLAPS CURRENT SPEED LIMITATION | Check that the player is not extending his flaps at too high a speed | Speed: positif number | No as the value expected is contextual and requires simulation to run | |
ESTIMATED CRUISE SPEED | Value used to verify cruise speed for IFR | flight_model.cfg : Section reference speeds, param Cruise_speed [REFERENCE SPEEDS] cruise_speed = "xxx" |
Speed: positif number | Yes |
ENG FUEL FLOW GPH | Check fuel consumption for all engines | Gallons per hour, index for each engine | No as the value expected is contextual and requires simulation to run | |
FUEL TOTAL QUANTITY | Check total remaining fuel | Volume: positif number | No as the value expected is contextual and requires simulation to run | |
LIGHT LANDING ON | Check if landing light is active | Bool: 0 off, 1 on | No as the value expected is contextual and requires simulation to run | |
POSITIVE G LIMIT FLAPS UP | Maximum positive G limit with flaps retracted | flight_model.cfg : positive_g_limit_flaps_up * load_safety_factor | GForce | Yes |
POSITIVE G LIMIT FLAPS DOWN | Maximum positive G limit with flaps extended | flight_model.cfg : positive_g_limit_flaps_down * load_safety_factor | GForce | Yes |
NEGATIVE G LIMIT FLAPS UP | Maximum negative G limit with flaps retracted | flight_model.cfg : negative_g_limit_flaps_up * load_safety_factor | GForce | Yes |
NEGATIVE G LIMIT FLAPS DOWN | Maximum negative G limit with flaps extended | flight_model.cfg : negative_g_limit_flaps_down * load_safety_factor | GForce | Yes |
REFERENCE SPEED MAX IAS | Maximum indicated airspeed reference | flight_model.cfg : max_indicated_speed | Speed: positif number | Yes |
TURB ENG MAX TORQUE PERCENT | Torque percentage for turbo engines | Percent: From 0 to 100 , can go over 100, index for each engine | No as the value expected is contextual and requires simulation to run | |
REFERENCE SPEED MAX IAS GEAR DOWN | Maximum airspeed with landing gear extended | flight_model.cfg : max_gear_extended | Speed: positif number | Yes |
SURFACE RELATIVE GROUND SPEED | Check for taxi speed violations | Speed: positif number | No as the value expected is contextual and requires simulation to run | |
PLANE BANK DEGREES | Check the attitude of the aircraft for flight smoothness scoring | Angle: -360 to 360 | No as the value expected is contextual and requires simulation to run | |
PLANE PITCH DEGREES | Check the attitude of the aircraft for flight smoothness scoring | Angle: -360 to 360 | No as the value expected is contextual and requires simulation to run | |
G FORCE | Check the G force applied by the aircraft for flight smoothness scoring | GForce : rational number | No as the value expected is contextual and requires simulation to run | |
ROTATION VELOCITY BODY X | Check the bank rotation speed of the aircraft for flight smoothness scoring | Speed: rational number | No as the value expected is contextual and requires simulation to run | |
ROTATION VELOCITY BODY Z | Check the pitch rotation speed of the aircraft for flight smoothness scoring | Speed: rational number | No as the value expected is contextual and requires simulation to run | |
DESIGN SPEED VS1 | Needed to compute the best speed for sightseeing quality scoring | flight_model.cfg : flaps_up_stall_speed | Speed: positif number | Yes |
PLANE TOUCHDOWN NORMAL VELOCITY | Check the vertical speed at touchdown for landing smoothness scoring | Speed: positif number | No as the value expected is contextual and requires simulation to run | |
HAS ANY CABIN SIGNAL LIGHT | Check if the aircraft has a three-state red/off/green light system to let skydivers know when to jump. If true, then the following two simvars must be linked correctly | systems:cfg : True if the electrical system has any circuit of type CABIN_SIGNAL_GO, CABIN_SIGNAL_STANDBY, or CABIN_SIGNAL_STOP | Bool | Yes |
CIRCUIT CABIN SIGNAL STOP | True when the light is red | Bool: 0 off, 1 on | No as the value expected is contextual and requires simulation to run | |
CIRCUIT CABIN SIGNAL GO | True when the light is green | Bool: 0 off, 1 on | No as the value expected is contextual and requires simulation to run | |
DESIGN SPEED VS1 | Needed to compute the best speed to do the jumprun for stability scoring | flight_model.cfg : flaps_up_stall_speed | Speed: positif number | Yes |
PLANE TOUCHDOWN NORMAL VELOCITY | Check the vertical speed at touchdown for landing smoothness scoring | Speed: positif number | No as the value expected is contextual and requires simulation to run | |
DIRECTORS CUT CAMERA PITCH | Measure the pitch angle of the camera in director's cut mode | Angle: -360 to 360 | No as the value expected is contextual and requires simulation to run | |
DIRECTORS CUT CAMERA YAW | Measure the yaw angle of the camera in director's cut mode | Angle: -360 to 360 | No as the value expected is contextual and requires simulation to run | |
G FORCE | Check the g force applied by the aircraft for flight smoothness scoring | GForce : rational number | No as the value expected is contextual and requires simulation to run | |
GRAPPLE HOOK SET | Check if the hook is open (1) or closed (0) | Bool | No as the value expected is contextual and requires simulation to run | |
LEAD POLE SET | Check if the pole is extended (1) or retracted (0) | Bool | No as the value expected is contextual and requires simulation to run | |
WEAR AND TEAR EXPOSED PARTS LOWEST LEVEL | Check the most damaged part of the aircraft at the end of the flight for the aircraft condition scoring | Percent: From 0 to 100 | No as the value expected is contextual and requires simulation to run | |
DESIGN SPEED VS0 | Stall speed of the aircraft, used to determine the spray speed | flight_model.cfg : full_flaps_stall_speed | Speed: positif number | Yes |
LIQUID DROPPING TANK TOTAL WEIGHT | Check the remaining quantity of water in the tanks | Weight: positif number | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING TOTAL DROPPED FLOW | Check the quantity of water already dropped | Weight per time | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING DOOR OPEN TARGET | Set the drop doors state | Bool | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING DOOR OPEN VALUE | Check if the drop doors are open | Bool | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING SCOOP OPEN VALUE | Check if the scoop doors are open | Bool | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING TANK TOTAL CAPACITY | Check the capacity of the tanks | Weight: positif number | No as the value expected is contextual and requires simulation to run | |
LIQUID DROPPING SCOOP OPEN TARGET | Set the scoop doors state | Bool | No as the value expected is contextual and requires simulation to run | |
INTERACTIVE POINT GOAL:2 | Used to open/close the rear door where the hoist actions are done | From 0 to 1 | No as the value expected is contextual and requires simulation to run | |
INTERACTIVE POINT OPEN:2 | Used to know if the rear door is opened or closed | From 0 to 1 | No as the value expected is contextual and requires simulation to run |