Experienced Points

Experienced Points
The Perils of Porting

Shamus Young | 7 Jul 2015 15:00
Experienced Points - RSS 2.0
Batman Arkham Knight Logo Large

You could just make the factory level smaller. Maybe cut it into two levels. But that means re-doing a huge level. Literally dozens of people will need to re-design fights and set-pieces, and we'll need to add another "elevator" somewhere to the middle of the factory. Programmer time is expensive, sure, but the time of a dozen people is terrifyingly more expensive.

The other thing you can do is to give both platforms a loading screen. That's a little unfair to FunBox owners, since their machines are powerful enough to avoid it, but they'll never know what they're missing out on. On the other hand, critics might ding us for long loading times if we do that.

While you're pondering that, someone comes to you with a question about texture resolution. See, while the WizBang has less memory available for loading levels, it actually has more memory for graphics rendering. You can use larger, more detailed texture maps if you want to. The artists already created the ultra-high detail base images, which they then scaled down to fit in the FunBox graphics memory limit. But you don't need to do this for the WizBang. If you want, you can let WizBang owners see the environments in their full-resolution glory. The only question is: Are you willing to deal with the controversy and ill will from FunBox Corp if the community notices and makes a big deal about this?

While you're trying to figure out what to do about that, another minion comes in to ask you about another problem: Both machines have about the same hard drive speed. However, the WizBang also allows the user to play directly from the optical media (DVD, Blu-Ray, whatever) which is slower than a hard drive. We stream our cutscenes into memory as the player watches them. So the problem we have is that some small percent of WizBang owners will have really horrible stuttering while watching cutscenes. One of the programmers thinks she can add a feature to detect when the player is about to enter the cutscene and begin pulling the data in early, to avoid the stuttering. It's really complex and it will probably take some time to get it right. The other thing we can do is just drop the quality of cutscenes on the WizBang (which makes those users very angry) or drop the quality for everyone (which makes everyone slightly annoyed) or we can leave it as-is, and hope that people just accept the stuttering if they're playing directly from disc.

There's a new kind of special fire effect that looks really snazzy and (most importantly) looks fantastic in gameplay trailers. Marketing really wants it in the game so it can be in the trailers, even though it's a tiny part of the game that only appears once. However, this same effect is achieved in two entirely different ways on our two platforms. We'd need the artists and programmers to basically do the entire feature twice.

So porting is this horrible mix of political decisions, technology decisions, and artistic decisions, and nearly every choice involves a tradeoff where you decide who you want to piss off. It's expensive and arduous and if you work very hard and do things just right, then nobody will notice because the game looks exactly the same on both platforms and that's what everyone expects.

As release approaches, a lackey comes in to ask you a question about how the DLC bonuses are going to work on the PC. You forgot about the PC port, didn't you?

Did you know they can return defective games now?

Shamus Young is a programmer, critic, comic, and crank. Have a question for the column? Ask him! [email protected].

Comments on