Friday, March 08, 2019

Beginner's guide

Beginner's Guide for Endless ATC

Because the game is pretty abstract, it can be hard for beginners to find out how to land a plane. Here are some basic instructions to get started.

As an approach controller, you guide the planes, coming randomly from different directions, safely towards the runway.

By giving directions (vectors) you position the planes, nicely separated from each other, in front of the runway. The runway is equipped with a guidance system: the Instrument Landing System (ILS): a straight line at a 3 degree slope towards the runway.

In the simulator it looks like this: a simplified radar screen. The runway has it's own number and a thin line extending from it (the ILS line). Planes (squares) have a label with their callsign, altitude and speed.
The planes enter your airspace at a pretty high altitude, so you need to let them descend first. In this example you see a plane currently at 7000 feet, but descending towards 2000 feet, while flying at a speed of 276 knots. It will take a couple of minutes before the plane reaches its target altitude of 2000 feet.
Meanwhile you can give the plane headings towards a point somewhere in front of the runway. Finally, enable ILS mode to make the plane follow the blue line to the runway automatically. Without enabling ILS mode, the plane cannot land! The blue circles indicate the altitude of the glideslope which the plane will need to capture.
Make sure the plane captures the blue line at a shallow angle, or else it will fly straight ahead. This is just like how it's done in real life. Yellow arrows will help you. Also make sure that the distance to the runway is big enough, so the plane can pick up the glide path instead of overflying it.
This animated gif shows several planes capturing the ILS.

Quick summary:
  • Descend plane to 2000 feet
  • Guide plane towards the blue line, but far enough from the runway
  • When plane heads towards the blue line at a shallow angle, enable ILS mode
  • The plane will capture the ILS and land on the runway.

Thursday, March 07, 2019

About Endless ATC

Endless ATC
Copyright (c) 2013-2019 startgrid

This program contains free software licensed under a number of licenses, including the GNU Lesser General Public License. Here's a complete list of software used and their licenses:


Friday, December 11, 2015

Endless ATC on PC and android

New: since 19 July 2017, the game is also available on Steam!

The simulator Endless ATC can be downloaded for PC on Steam or Itch.io, and for android in the Play Store. There are also a free versions available.



Screenshot December 2016

Additional features include text-to-speech output, six airports, weather, manual handoff, areas with restrictions and adjustable radar update interval.

Note: I only published the PC version to Steam and Itch.io, so please download it from there, not another site, to make sure you get the original version with updates.

Monday, November 04, 2013

Endless ATC instructions

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

updated: 26 August 2019 (see changelog)
For users without any knowledge of ATC, there's a short beginner's guide. Full 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). For New York, departing planes fly on a heading initially, so you'll have to manually enable SID to clear planes to the departure fix.
  • 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. abort the approach (runway occupied, too high altitude etc.),
    4. are delayed (not landed within about 40 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 [no tag],  Heavy or Super J), 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 you 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 traffic 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 (J) 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 heavy planes need more distance than the general 3 NM circle. In this sim, wake turbulence separation only applies to planes on the localizer. The required distance depends on the plane category: if a medium flies behind a heavy, more distance is needed. There are 6 categories ('RECAT'), and an arc displays the required safe distance to a trailing nearby aircraft. If this limit is infringed by more than a mile, you risk a go-around.
    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 short finals possible.
    14. Planes flying within a 15 nm circle from the field slow down to 220 knots (unless a speed instruction has been given earlier).
    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. Planes handed over to the tower may reduce speed further automatically, but only within 10 miles from touchdown while flying too close to a preceding plane.
    17. 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.
    18. If you cap the skill value (by enabling custom traffic mode), then the skill won't increase higher than the cap value. The difficulty is then also limited, because the number of planes you have to control 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 (while in a normal game, the traffic rate can get to extreme levels, a big challenge!). If you lower the skill below 4.0 then the airspace will be closed entirely.
    19. In custom traffic mode, you can also switch to flow mode to set a constant flow of planes per hour from/to the main airport. For example, set it at 30 and you'll get 30 planes per hour departing, and 30 planes per hour arriving at the main airport. If you set a mininum and maximum flow rate, then the flow rate varies between those values, which results in alternating inbound and outbound peaks every hour. Manually increase the skill value first if you want more active runways/more traffic to secondary airports. There are also options to play a game without departures, or without traffic to secondary airports.
      Flow varies when a minimum and maximum value is set.
    20. 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 custom traffic mode if you want to score goals/set high scores. If you've used custom traffic mode, you have to start a new game first by using the reset button. In the full version, click on the currently selected airport to restart with a new game.
    21. To pause, press ESC or the back button.
    22. 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.
    • Radar range rings can be set at 2, 5 or 10 NM.
    • Sound can be set at mode 1 for alerts, 2 for speech, or 3 for speech with readbacks.
    • Adaptive or custom traffic rate.
    • The full version also has multiple airports to choose from, with altitude restrictions, and optional weather (wind and clouds) 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 'custom' mode in the traffic menu. You can cap (limit) the amount of planes you have to control to a certain amount, or set the number of planes per hour you want to handle.

    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.

    Wednesday, August 01, 2012

    Tutorial: Creating a timestamp on photos/timelapse

    Draw a timestamp on your time-lapse

    EXIF timestamp on photo created by script
    I think its nice to be able to see how much time has elapsed during a time-lapse video. To do this, a timestamp has to be drawn on each image. This can be done with batch processing in some photo editing software, but I did it using python scripts. Its free (apart from Windows) and more customizable. Here's a tutorial on how to do it.


    Software requirements: Windows, Python, PIL, (Aggdraw)

    Analog clock timestampTo run python scripts, you need to have Python installed. To be able to draw on photos, you also need the Python Imaging Library (PIL) which is only available for Windows. For drawing a nice anti-aliased clock you also need Aggdraw. Make sure all packages have the same version number, eg. 2.6.

    Script

    Now you need a script which opens each photo, take the EXIF date/time information and draw it on the photo. Below are two scripts you can use. Save it as a .py file and put it in a folder with .jpg files. Click on the .py file and the script should run. Done! Your images are now saved in a new subfolder.