On Demand Resources and Games

Alright, this article over on imore.com that was linked by Darring Fireball talking about how on-demand resources isn’t going to be a problem for games got me a bit riled up.

On-demand resources is fine for some classes games. However, this is not true for games like XCOM. The desktop version of this game clocks in at 20GB (Enemy Within)1. There is no amount of tagging, stripping, or slicing that is going to get a company like Firaxis Games to deliver a desktop quality game on Apple’s supposed desktop class hardware because desktop (and console) quality games are bigger than 2GB.

Let’s take the defense of this, from the article:

But: You have a 4GB game! How do you get those other 25 levels?

Easily, thanks to the power of background processing. On-Demand Resources works in conjunction with whatever your user is actively accessing, and will flush older, unused content to make room for additional resources. If a user is playing level 24 of your game, the system automatically flushes a few 100MB tags of old levels (say, 1-5) to make room for levels 25-30. As the user gets further into your game, older levels drop off and get deleted from the Apple TV, and your new levels (also in tag bundles) get installed – all in the background.

Let’s just play out this scenario: I am playing a game and I’m on level 25 (older levels are now purged because 2GB is enough for any game). Now, my son or daughter comes in and they want to play, but they need to start a new character because they haven’t played before. Ok, they to go play the game…

beach ball of death

Oh… pardon me, I need to download those levels… Meanwhile, while this is downloading, other resources are being dumped out (I sure hope they are not the levels that I’m playing). You see, there’s no telling how much overlap between game assets are going to be between levels 1-5 and 25-30. If a game is 10~15GB, it’s reasonable to assume that there is not a lot of overlap of resources between levels as you progress through the game.

The kids get tired of waiting for the levels to download, so they go do something else. I then go and try to play my levels, and of course… data has been purged and more assets are coming in. This is fun!

There is another description for this phenomenon in computer science: thrashing.

Now, this probably works better of iOS devices because those are mostly single-user devices. However, the TV is centralized and consumed by multiple individuals.

It’s decisions like this and the game controller decision (which is a fascinating case of stealth documentation changes) that tell me Apple just doesn’t care to really enable high-quality gaming on tvOS. Instead, companies are going to basically bringing their iOS versions over, which I find so disheartening. Especially since disk space is so cheap these days; put a 1TB fusion drive in the device and charge $50 more or stop teasing us with actually making the iOS and tvOS platforms a contender for more than just casual games.

  1. Now, Firaxis stripped out a LOT and was able to get the iOS version down to 2GB. However, it took a big hit on what it could actually deliver. ↩
On Demand Resources and Games