Vice City was released nearly 25 years ago! Also it's a game, so it's not really an apples-to-apples comparison. If you count the unique 'features' (or systems) of Vice City, you might find it's a comparable count to the number of features of a medium-sized mobile app.

You are joking right ? renderer, audio, math, physics, animation, AI, asset streaming,.... in addition to the gameplay itself, and you compare it to a medium-sized mobile app ???

Apps usually have tons of boilerplate, so pure LoC may be similar. But in density, no contest. I recently dug up an old objc app of mine and was shocked how few lines it took to send a REST request, parse and process it. Nowadays it is split into multiple files, usecases, repositories, protocols to accomplish the same. All in the name of testability or architectural “correctness”. Write that in a game and you’re fired because it kills performance.

There's a different bar for maintenance though. Many games exist in a single point in time, they ship and are done, whereas the goal with SaaS is to support the code forever.

Maintenance, sure, but also: games have one chance to be good, and that is at release. With a multi-year development cycle, what we get at release (of the good ones) is like a version 4 or 5 of an app. Everything is connected and changed (and thus maintained) over the years.

The physics of the car tires in vice city by themselves outweigh 99% of all apps in terms of complexity and features…

I feel you need to clarify which mobile apps are "medium-sized" for you, because if we just interpret this comment literally it's just laughable.