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:

Saturday, 12 September 2020

Installing the DVD Edition of Microsoft Flight Simulator 2020

Microsoft has released a new version of Microsoft Flight Simulator. It's called Microsoft Flight Simulator. It's a serious flight simulator that lets you fiddle around with trim and navigation beacons and petrol mixture etc, but you don't have to! You can turn it off and just fly around in the sky, admiring the clouds, as if you were Antoine Saint-ExupĂ©ry or a hippie.

In theory it's the latest in a long lime of games that stretches back to 1982, via Flight Simulator X (2006), Flight Simulator 2004 (2004), Flight Simulator 2002 (2002) and all the other versions of the game that came out before anybody was born, but in practice it's a brand new title, created by hitherto-obscure French developers Asobo. It has won almost universal praise for its gorgeous visuals, which use a mixture of handcrafted buildings, procedurally-generated cityscapes, and map textures streamed from Microsoft's Bing Maps. The clouds are particularly nice. The reviewers have grumbled about the steep system requirements and an overall lack of polish, but the game has been a surprising commercial success, topping Steam's charts on pre-orders alone, so hopefully it will be patched and expanded in the future.

Its commercial prospects were no doubt helped by the fact that millions of people are now stuck at home, incapable of actually flying anywhere. Completely by accident Flight Simulator 2020 has a wistful, almost nostalgic air; it takes place in The Before Times, when we were all free as birds.

But was it an accident? Perhaps Bill Gates is responsible for coronavirus after all. Perhaps he arranged it purely so that Microsoft Flight Simulator would be a hit. He doesn't even work for Microsoft any more. But does he? No, he doesn't.

But does he? No.

Flight simulators were once a killer app for expensive PCs, but the genre entered a long, slow decline in the 2000s. They require a tonne of commitment from the publishers and have a limited market. The rewards are potentially very high - flight simulator fans are stereotypically flush with cash, willing to spend money on extra aeroplanes and scenery packs etc - but from a publisher's point of view why bother accurately modelling a Boeing 787 when you can raise more money with recoloured weapon skins and lootboxes? Microsoft tried to capture the casual market with the simplified, free-to-play Flight (2012), but it was neither fish nor fowl and lasted less than a year on the market.

The success of Flight Simulator 2020 is therefore heartening, because Microsoft and Asobo didn't have to bother. Instead they went the extra mile and made a game that works as both a serious flight simulator and an attractive scenery generator.

But let's get down to business. The game is currently PC-only, but it'll almost certainly come out for the next-generation XBox. It's available online via Steam, plus the Microsoft Windows Store, plus the PC version of the XBox Game Pass. However it's a massive download - around 120gb - so Aerosoft in Germany has signed a deal with Microsoft to sell the game on DVD. The physical box is slightly more expensive than buying the game digitally, but the package includes a manual and keyguide. And of course a bunch of DVDs.

The game still has to be registered with a unique key, and after installing from DVD it needs several gigabytes' worth of patches, and it requires always-on internet, so as a physical backup the DVDs are of limited value. I don't know if someone else can use the discs to install the game on their machine, using their own registration code.

The game comes on ten DVDs. I thought I'd go through the process of installing it so that people in the future can say "there was a man".

I began by inserting the first DVD into the DVD drive and closing the tray. The first disc includes the installation program, which uses InstallShield. That takes me back. It has been a long time since I saw that name.

After disc one was finished I removed it and carefully reinserted it back into the box and inserted the second disc into the drive and closed the tray:

At that point the cabin crew served the main meal. No, I'm joking. There were no cabin crew. There was no-one else. Just me and a DVD drive. Me, a DVD drive, and a lifetime of nightmares. After disc number 2 had finished installing I removed it and carefully put it back into the box - I slipped it gently into the cardboard case, hopefully without scratching it - and then I inserted the third DVD:

DVD number three. When it was finished I removed it and put it back into the box, making sure to rotate it so that the number was easily visible in case I needed to use it again. In a nice touch the discs were already like that in the box, or at least most of them were. Half of them had come out of their slots and were rolling loose inside the package.

Still, after carefully replacing the third disc I inserted the fourth disc, disc number four:

How long did it take to install each disc? Roughly twenty minutes apiece. After the installation routine had finished copying files from the fourth disc I removed it and inserted disc five:

At this point I was half-way through the process. In the pipe, five by five. After disc five had finished installing I removed it and inserted disc number six:

I always feel uneasy when I install something from multiple discs. Should I wait a few seconds for the drive to spin up and inspect the disc, or can I press OK immediately? Will the operating system recognise that the disc is spinning up, or will it demand that I insert the disc again? How long do I have to wait? These questions swirled through my mind as I removed disc six and inserted the seventh disc:

Okay, I admit it. The whole thing is a big shaggy dog story. I really am going to show you every single disc. Because I want you to feel the pain I felt from spending three hours of my life pulling discs out of a cardboard sleeve - carefully, so as not to scratch them - using a lint-free cloth so that I didn't leave fingerprints on them, then waiting half a minute for the drive to register the disc, then repeating the process nine times, or ten times. Nine times? I did it once, then repeated that process nine times. So, yes, nine times.

We're in this together, you and I, and after my computer had its way with disc seven I put it back in the box and inserted disc eight:

The eighth disc was much the same as the others. The villain in Bill and Ted's Bogus Journey was called DeNomolos because one of the writers was called Ed Solomon and he used his own name but backwards.

What does USK mean? It stands for Unterhaltungssoftware Selbstkontrolle, which is the German rating agency for video games. Why is the game PEGI-3? Why not PEGI-0? I suppose because you can dive an airliner into skyscrapers, although the game cuts to black when you crash. After disc number 8 had been sucked dry of its precious, precious juice I removed it and inserted disc #9:

Disc nine is the second-to-last disc. By this time the DVD drive was starting to feel warm to the touch, so I paused for a couple of minutes before inserting the final disc, which is disc number 10. I also did some research and found out that PEGI-3 is in fact the lowest rating. Why isn't it PEGI-0? Perhaps the people in charge of the ratings aren't keen on two-year-old children playing computer games:

That was the final disc. It worked. It didn't bomb out right at the end. It actually worked. Sometimes nothing goes wrong. If only I could savour those moments instead of forgetting them.

After the whole thing had installed I inserted disc one again, because apparently the game requires that you leave disc one in the drive as a copy protection measure:

For the record the discs installed 93.6gb of data spread across 59,119 SSD-crushing files:

However the game still isn't done. After disc ten had been sucked dry the Microsoft Store popped up and downloaded a bunch of support files:

And after that had finished downloading the game's own internal content engine sprang to life and downloaded a further 16.09gb of stuff, all the time playing a short loop of muzak that lasted for about a minute:

Why did I photograph the screen? Why not use print screen? I wanted to interact with the computer as little as possible in case I accidentally hit a button that cancelled the installation. Apparently if you buy the digital edition of the game you have to listen to the muzak and look at the game's installation screen for however long it takes to download 120gb of data, so buying the DVDs bypasses that. Also, waiting three weeks means that I benefit from patch 1.7.14, above. I can delete TBM 930 whenever I want and the game won't crash.

Luckily after all of the above nothing went wrong. The game finally did install:

I'm not sure why it thinks I have the preorder edition. I bought it brand-new from a major internet retailer about three weeks after the game had been launched. But perhaps Aerosoft only made a single batch of boxed sets and the few remaining units are left over from the preorder period. The game is also available in Deluxe and Premium Deluxe forms, with more content. Aerosoft only sells the Standard and Premium Deluxe editions.

At this point it was past my bedtime, so I opened the game, flew from Pisa to Lucca in a Piper Cub - technically a Zlin Aviation Savage Cub, a modern recreation of the original - and to make things real spicy-like the game uses real-time weather and real-time... time, it uses real-time time, so I flew in the dark, because it was midnight in Pisa. It was lifelike, in the sense that we are all flying through unfamiliar skies in the dark. We are all flying through unfamiliar skies in the dark. And ahead of us there is only more darkness, until the lights go out forever. Then I discovered that you can adjust the time and weather, so I flew around Hong Kong, thus:

What was the performance like? Of the game? I'll tell you later.