Monday, November 04, 2013

Endless ATC instructions

Get it on Google Play
or on PC via Steam or itch.io

Basic instructions for the simulation game Endless ATC:

Top view and side view of a correct ILS approach. In this example, a plane at 2000 feet approaches runway 27 at a shallow angle of about 30 degrees. If ILS mode is enabled, it will capture the blue ILS path automatically, and land. Note that the altitude of the plane determines the required distance from the runway: the higher the plane is, the further away it needs to be from the runway. Use the circles for a reference, and make sure to intercept the glideslope 'from below'.

Don't intercept the ILS at a too steep angle, or from above the glideslope.


Aircraft labels, runways, and the ILS
This timelapse can give you an idea of giving vectors for an ILS approach.

Below you can read more detailed instructions.
  • Sequence the randomly generated arrivals to the ILS (Instrument Landing System) of a landing runway. The runway is the thick blue line in the middle of the radar screen, and the ILS path is the thin blue line extending from the runway. Guide the planes to this blue line, far enough from the runway. In order to capture this ILS beam and land, a plane must comply to these conditions:
    1. the ILS mode of the plane is activated,
    2. the plane intercepts the ILS line at a shallow heading of 50 degrees or less with respect to the runway heading (in reality they use 30 degrees),
    3. the plane has to be descended low enough to intercept the glideslope; the blue circles mark the heights of 2000, 3000 and 4000 feet.
    The plane has to be flying on the localizer (the lateral ILS component) before it will capture the glideslope (the vertical component; the descend path of the ILS). Examples of correct ways to vector a plane to the ILS, are given in the app by yellow arrows, with the plane flying at an altitude of 2000 feet with ILS mode enabled. You don't have to guide the planes all the way in front of a runway; once a plane is on a correct intercept course to the ILS path, it will follow the ILS automatically to the runway by steering and descending.
  • When a plane is established on the ILS, it will be handed over the the tower and then you score some skill points. The amount of skill points you score per plane depends on your current skill score. You always get at least 0.1 skill points per plane handed over to the tower. The skill score represents how well you are managing the airspace and it also determines the number of planes you will have to control simultaneously, so a score of 8.4 will give you about 8 planes to control.
  • If a plane is too high on the ILS (flying above the glideslope) it will eventually call a missed approach. ILS mode is then deactivated. Try a new line-up at a lower altitude, so it will capture the glideslope from below. If a plane is about to land on a runway that is still occupied by another plane, it will go around: it climbs to 2000 feet and ILS mode is deactivated. Give it new vectors to the ILS, now with more distance behind the leading plane.
  • At the top left you see your current game score. This number is the maximum of what your skill value has been in the current game. So your score can only increase. Then there's also the high score: the highest game score you ever reached on your device (unless you cleared the app data or reinstall).
  • Departing aircraft determine their heading and speed themselves; they only require an instruction to climb to a higher altitude. This can be done, when its safe, by just one click to select FL130. Other altitudes can be selected but keep in mind that eventually the plane has to continue the climb to FL130. Optionally, a heading can be given by disabling 'SID' mode temporary. When you disable SID, the climb is also restricted to FL100. Make sure to activate it again and continue the climb so that the plane has climbed above FL100 before passing the boundary of the airspace. The airspace boundary is displayed as the outer circle (radius 30 NM).
  • You can lose skill points when planes:
    1. fly too close to eachother (in general: overlapping circles and altitude difference <1000 feet),
    2. divert (leave the airspace at the 30 nm boundary), also if they are departures but fly at or below FL100 when leaving the airspace,
    3. aborted the approach (runway occupied, too high altitude etc.),
    4. are delayed (not landed within about 30 minutes)
  • An aircraft label has the following lines of info:
    1. callsign,
    2. current altitude and selected altitude (in feet divided by 100),
    3. ground speed (in knots), weight category (medium,  Heavy or Super), mode (ils/direct/hold).
    4. destination (if other than main airport)
  • When a plane is not in your control, it has a smaller label of just two lines.
  • When a plane wants your attention, it has a flashing blue ring, until select it.
  • You don't have to hand off (or hand on) planes from/to the tower or other controllers. To keep it simple, planes do this automatically. Handoffs are possible, but not necessary.
  • You can drag from an aircraft to easily set its heading. When you then drag onto a beacon (grey circle) then it flies directly to that point and the DCT button illuminates. Directs can also be given by pressing the 'DCT' button: then it will snap to a beacon/VOR/locator closest to the selected heading. DCT is, like ILS, a mode that alters the heading of a plane automatically. If a plane reaches a beacon without further instructions, it will fly circles above it, like a holding pattern. Avoid holding planes because it will cause delays and crowds the airspace. Longpressing DCT will 'HOLD' the plane at the current position, if you think that's handy. Some runways have a beacon (a locator) on the ILS path; planes can fly direct to it but won't enter a holding there but continue. You can also drag from a selected VOR beacon to set a heading in which the plane must fly after reaching the beacon. Departures fly to a randomly chosen beacon and then continue ahead.
  • In some cases, the separation minima (1000ft/3NM) are reduced: planes may fly closer to each other when:
    1. both planes are on a different ILS localizer ('LOC' status), so independent parallel approaches are possible,
    2. one or both planes are under the minimum altitude (1600 feet),
    3. two departures are on a divergent heading of 15 degrees or more,
    4. just after a go-around you'll get a short amount of time to regain a safe separation.
    1. In general, don't let the 3 NM rings overlap when the altitude difference is less than 1000 feet.
    2. For parallel approaches, maintain a vertical separation of at least 1000 feet until both the aircraft are established on the localizer. For example, join the localizer at 2000 feet for one runway, and 3000' for the other. When the planes then descend to the runway, rule 1 (stated above) applies so no penalties are given even if the rings overlap!
    3. Longpress ILS to enable the ILS* mode, which means the plane will cross one localizer and intercept the next one. This can come handy when parallel runways are in use and you want to guide some traffic to the other runway for better trafiic distribution.
    4. The number of planes you have to control is about the same number as the skill level. When the score increases above certain levels, new runways become active.
    5. Planes with 'RD' in their label (4th line) need to land on the secondary airport which has only one runway (this runway also has RD in the name, actually meaning EHRD or Rotterdam Airport). Regular planes, so without the 'RD' tag, may not land on this destination but have to land on the main airport: Schiphol. Landing on runway 06RD (the opposite direction) is not accounted for in the game, so only traffic via the northwest from/to RD is simulated. Note that the amount of traffic to RD is very low compared to the main airport. For London, the traffic rate to the alternate destinations (Gatwick, Luton and City) is a bit higher.
    6. Plane with destination 'EHRD'
      Plane with destination 'RD'
    7. The speed displayed at a plane's label is the ground speed, which is usually higher than the indicated airspeed: it has an offset increasing with the altitude (due to thinner air). When you change the speed, the label temporary shows the desired indicated airspeed instead, in yellow.
    8. If there is wind enabled, the wind speed increases with altitude. It will also affect track heading and groundspeed.
    9. Expedite a plane's climb/descend (that is: increase vertical speed) by doubleclicking on the altitude button when it's at its limit value.
    10. There are medium (no tag), heavy (H) and superheavy (S) weight planes. The heavy ones turn and climb/descend a bit slower, while their final approach speed is a bit higher.
    11. Due to wake turbulence, planes behind heavies need more distance than the general 3 NM circle. In this sim, turbulence separation only applies to planes on the localizer.
      • behind a heavy: 4 miles for a heavy, and 5 miles for a medium aircraft
      • behind a super: 6 miles for a heavy, and 7 miles for a medium aircraft
      • if these limits are infringed by more than a mile, you risk a go-around.
      • when a heavy plane is selected, two arcs display the required safe distance to a trailing heavy and medium aircraft.
    12. Planes are generated randomly, depending on the skill value you achieve. Runway usage is also randomly chosen at the beginning of a game. Tap the reset button (under 'new' in the menu) to start a new game. Your high score and goals are saved. In the full version, you can start a new game by selecting an airport.
    13. Planes below 3000 feet have the option to descend as low as 1600 feet to make even shorter finals possible.
    14. Planes flying into the 15 nm circle slow down to 220 knots.
    15. Planes intercepting the ILS reduce to 200 knots. At 6 miles from the runway they reduce further to 160KT. And at 4 miles, they reduce to final approach speed. You can always reduce earlier if needed.
    16. Changes to an airplane are applied when pressing the OK button, or when the plane is deselected. Pressing the C button cancels the current changes, and pressing C again deselects the plane.
    17. If you cap your skill value by using the cap button, the skill won't increase higher than the current value. The difficulty is then also limited because the number of planes is equal to the skill number. This results in a more relaxed gameplay, and can keep the amount of traffic at a more realistic level for a single air traffic controller. Without a cap, the traffic rate can get to extreme levels, and the challenge is to manage that as long as possible!
    18. You can score goals by landing a certain number of planes in a correct way, like 10 planes without separation incidents, or 5 planes without any mistakes (go around/divert/delay/missed approach/separation incident), or just land 100 planes in one game. However, to make it not too easy, you cannot use the cap mode if you want to score goals. If you used cap but want to score goals, you have to start a new game first by using the reset button.
    19. The game is automatically saved when you exit or pause the game. Next time you start the app, the game will reload.

    Game settings

    • Simulation speed can be set at 1, 2 or 4x.
    • Heading line can be set at 0 to 5 minutes.
    • Separation ring with radius 1.5 nm can be switched on/off/auto (nearby only)
    • Skill value can be capped, so the traffic rate is reduced.
    • Font size of the labels can be adjusted.
    • Doubletap to zoom in/out
    • Doubletap the menu button to switch the sidebar to the other side.
    • Sound can be set at mode 1 for alerts, 2 for speech, or 3 for speech with readbacks.
    • The full version also has multiple airports to choose from, with altitude restrictions, and optional weather and radar delay settings.

    Frequently asked questions


    Q: Runways 18C and 18R are too close to each other. How do I make good use of them without getting incidents?
    A: The approaches can be done completely independent; the trick is to intercept the localizers at different altitudes and at a large distance from the field. Read instructions above for more detail.

    Q: It gets way too busy, what can I do?
    A: Enable 'cap' mode in the menu before it gets too busy. This keeps the traffic to a constant level.

    Saturday, November 02, 2013

    Endless ATC

    My ATC radar game is available on the Play Store, Steam and itch.io:
    Get it on Google Play
    and on PC via itch.io or Steam


    I started to develop this game somewhere back in 2011, just for the fun of programming and creating something new. It started very simple, but slowly I started to add new features. Over two years later, it slowly became a quite realistic simulator, so I thought: why not publish it? Due to the easy interface, the sim was is fun to play not only on PC but on small screens like phones as well. In november 2013, Endless ATC was published on the Play Store.
    Screenshot from 2011

    Screenshot on N7
    Screenshot from November 2013, first android release
    Over a year later, the game has improved further with features like saving, panning/zooming, pilot delay etc.
    Screenshot from May 2015
    In December 2015, the app has been downloaded over 100.000 times, and a PC version with more features (text-to-speech, weather, areas, etc) was published on itch.io.
    Endless ATC on PC, with weather and restriced areas.
    Screenshot (PC) from October 2016

    In April 2017, a paid android version with multiple airports and more features was published in the Play Store.

    And in July 2017, the PC version was also released on Steam.
    Triple parallel landings, and parallel takeoffs, at Atlanta (KATL)
    Screenshot (PC) from July 2017

    Thursday, February 07, 2013

    Making a Star Trails Time Lapse

    Short tutorial about how I made this video using free software:

     

    Taking pictures of the stars

    Take lots of photos in manual mode with a long shutter speed (30-60 seconds) and intervals as short as possible. I used CHDK on an old Canon Powershot to shoot at intervals. Take a dark frame (by covering the lens with your hand for example) at the end; this can be used to subtract sensor noise.

    Stack pictures

    I used Python and PIL library to stack pictures on top of each other. The script I used can be found here. (I don't know if it still works). Put the .py file in the folder with the photos and run it. It can be slow.

    Create video

    You can use Virtual Dub to create an AVI file of the stacked photos.