Monday 14 September 2020

An Aerial Tour of Hong Kong, Courtesy of Microsoft Flight Simulator 2020


It takes twelve hours to fly from London to Hong Kong, which is roughly the length of time it took me to install Microsoft Flight Simulator 2020. Then I spent another twelve hours tweaking the graphics and working out how to use the drone camera, and also redefining the keys.

On the positive side I can now visit Hong Kong again, without having to quarantine myself for fourteen days.

In a nice touch the cockpit displays in the external view are the actual cockpit displays, and they seem to update in real time. In fact one performance tweak widely shared on the internet involves reducing the refresh rate of the glass cockpit in order to improve the game's frame rate.

FS2020 is a technically demanding game. It requires a fast network connection and a speedy SSD to stream textures from the game's servers, and a fast CPU to take all the texture data and photogrammetrically-generated cities and shove them into the GPU while simultaneously updating a complex flight and weather model in real time. It can also stream live flight information, so good luck if you're on 56k.

Unlike most games FS2020 laughs at a fast GPU. It laughs at a fast GPU because the whole system has to be good, and I wonder if it will spur a mini-boom in PC hardware. My PC is essentially one step above the minimum requirements - a Xeon 1275 with a Geforce 1650 - but with medium-high settings it runs decently well at 1080, albeit that it tends to stutter when loading new areas. These screenshots were all taken at 1080 and downsized.

Let's take off from Hong Kong International Airport and do a counterclockwise circuit of Lantau Island.

Down there is Tai O, which has a bunch of houses on stilts. FS2020 has two pause modes. One of them is active pause, which freezes the plane in flight but keeps the world active, and the other is just plain pause, which by default is unassigned.

I found to my surprise that active pause freezes the plane but continues to apply physical forces to it, so if the plane is in a dive it quickly overspeeds and falls apart, even though it's not actually travelling through the air.

I was most amused by this and chuckled softly to myself as I took off again and flew over Tai O again but this time using just plain pause to take the screenshots.


FS2020 has an addictive weather system that lets you change the time of day and cloud cover by moving a slider back and forth. The screenshots above were taken in the exact same position, but with the weather tweaked because I didn't like the look of that cloud. You know what? When I was a kid I wished that 3D games could render the world out to the horizon without pop-in or distance fog. I grew up in the countryside and I'm used to seeing long distances. Operation Flashpoint could render huge distances but on the whole it's not something that developers have ever prioritised, so thank you Asobo.

Let's proceed to Kau Ling Chung beach. I've been there! It's that little beach, down there:




Technically the beach in the distance is Fan Lau, because we're looking the other way; the big rectangular building in FS2020's screenshots is Fan Lau Fort, which is an empty shell in real life. That's one of the limitations of building a world entirely from top-down images, but more of this later.

Proceeding around the coast the next major landmarks are Tai Long Wan and Shek Pik Prison. Lantau Island is swarming with massive spiders, and I suspect the prison was put there because the inmates would be too terrified to escape.


The prison is visible off in the distance - in the image above the aircraft is over Tai Long Wan, which is the spit of land sticking out into the sea.

Let's cut across the island north, to Shek Pik Reservoir:




FS2020's water is good, although I wonder if the game scales it up so that it's more noticeable. Its combination of roads and texture details isn't as good, but then again you're only supposed to approach the ground twice per flight.

Proceeding north the next landmark is Ngong Ping, which has a giant Buddha. There's also a cable car that leads down to Tung Chung, although that doesn't appear in FS2020. It would have to be hand-made, and it would probably play havoc with the AI pilot.


Does FS2020 model spiders? Not as far as I know, but perhaps it's a surprise. Like in Rescue on Fractalus, where you land and the pilot turns out to be an alien who smashes open your cockpit window. Those trees down below are full of spiders. No, mother, they aren't frightened of me. They aren't frightened of me at all.

Let's proceed to Hong Kong itself:


FS2020's airport coverage is surprisingly patchy. Earlier versions of the game had a limited number of handcrafted airports, but FS2020 draws mainly from Bing Maps' data pool, which has gaps in its coverage. Stuttgart Airport is deliberately censored, so it doesn't appear, and Seychelles International Airport is missing apparently because Bing's aerial footage of the Seychelles is obscured by clouds.



Let's check out downtown Kowloon. Compare the following two images, from FS2020 and Flight Simulator X (2006) respectively:



The blue tower in FSX's image is Langham Place, in Mong Kok. FS2020 has a building in the same location, and it has a bit of detailing, but it's obviously not the same thing. Let's proceed over the Star Ferry terminal, in a completely different aeroplane:



Beyond the graphical detail, the difference is again obvious - FSX has a handcrafted terminal, albeit that it's very crude, whereas FS2020 relies on clever manipulation of satellite data, complete with two-dimensional boats. There's a gap in the market for a third-party recreation of Hong Kong.

Let's proceed to Hong Kong island:



Both games have Central Plaza, which is the building with the golden detailing and the pointy bit on top. The two games also have the Convention and Exhibition Centre - it's the structure right at the bottom of the FS2020 image - but curiously FSX has it where Happy Valley racecourse should be, off in the distance there.



Reversing the order of the images, both games have the Two International Finance Centre - it's the tall, highly-conspicuous building near the waterfront - but only FSX has the distinctive, polygonal Bank of China tower. FS2020 has generic skyscrapers instead. I wonder if there was a copyright issue?

Let's fly up to the peak and try out the weather system. As a nod to contemporary politics I have put the white bread Anglo-Saxon weather - clear skies, daytime - at the end of the first batch of images instead of at the beginning because I don't want to imply that clear skies are normal and other forms of weather are "the other".



The game's night-time views are surprisingly drab, but otherwise FS2020 is a visual feast. FSX was striking in 2006 but was launched just on the cusp of the modern age of shaders and extensive post-processing, so it hasn't aged well:


In particular the lack of shadows makes everything look flat. That reminds me. One fascinating aspect of Microsoft Flight Simulator is that it has a simulator-within-a-simulator, because several of the planes have a Garmin G1000 glass cockpit system. The G1000 is a combined instrument panel, autopilot, and navigation system. FS2020 even has a little SD card plugged into the unit, a nice visual touch:



In fact I realise now that FSX's version of the G1000 (bottom) also has an SD card. I hadn't noticed that before. Garmin sells a G1000 emulator for home computers so that trainee pilots can brush up on their skills, but after using Flight Simulator's version for a while I think I understand the basics. I have no idea how accurate it is, but I can't think of another game - outside the flight simulator world - that has a detailed simulation of an actual computer as an integral part of gameplay. 

But that's enough of FSX and the G1000. Let's check out Kai Tak and Chequerboard Hill:


In the picture above the former Kai Tak airport sticks out into Victoria Harbour on the left, Chequerboard Hill is just below us, and the glidepath into Kai Tak is on the right. Pilots had to make a sharp descending right turn to line up with the runway because, for a variety of reasons, they couldn't just fly straight in (the winds made a south-to-north approach difficult and a combination of hills and the Chinese border made a north-to-south approach infeasible).

Kai Tak was decommissioned in 1998. Nowadays the far end is a cruise liner terminal, but the area just inland is still a giant construction site. FS2020 models Kai Tak with bumps, but in reality it's flat. Here's what it looks like from the far end, looking back at Hong Kong:


One thing FS2020 doesn't model is the rash of skyscrapers that were built on the glidepath after the airport was decommissioned and the height restrictions were lifted. But that's enough of Kai Tak. I have the impression that Hong Kong is always looking forwards, never back, so let's fly off to Shenzhen, just across the border with Hong Kong's New Territories:


The river marks the border, and also the extent of Shenzhen's sprawl. I wonder if one day Shenzhen will cross the river and gobble up Hong Kong. Then Hong Kong will be a district of Shenzhen. Who can tell.

The Y-shaped fork in the river is Lo Wu, the final stop on the MTR, and the point at which people cross the border. Bing and Google Maps both have satellite coverage of the Hong Kong-China border, but for technical and political reasons the streets are all over the place. I decided to fly left a bit and check out Window of the World, a theme park in Shenzhen. I've been there as well! It's mind-boggling.



Thankfully the People's Liberation Army Air Force didn't object to me flying across the border in a light aircraft.



FS2020 retains the basic shape of the theme park but not the recreations of global landmarks. In the image above the photogrammetric engine has made a decent job of modelling the entrance plaza and its fountain, but the miniature Eiffel Tower just behind it is a flat X-shape.



And with that I decided to land at the nearest airport, but not before noticing a van moving back and forth, back and forth, back and forth beneath me, trapped in a loop: