Strict Standards: Only variables should be assigned by reference in /home/noahjames7/public_html/modules/mod_flexi_customcode/tmpl/default.php on line 24

Strict Standards: Non-static method modFlexiCustomCode::parsePHPviaFile() should not be called statically in /home/noahjames7/public_html/modules/mod_flexi_customcode/tmpl/default.php on line 54

Strict Standards: Only variables should be assigned by reference in /home/noahjames7/public_html/components/com_grid/GridBuilder.php on line 29

Share This article

During the last console generation, HD remasters became a popular trend among many of the major publishers. PS2 and original Xbox games were given a fresh coat of paint, and re-released to the world. While the reaction to this trend wasn’t universally positive, it was more-or-less accepted because of the significant jump in fidelity between 480p and 720p. This time around, the situation is a bit more complicated, and the bloom is off the rose.

The PS4 and Xbox One have been out for about a year and a half now, and the number of significant exclusive releases has been pretty slim. To help pad out the line-ups, a massive wave of ports from the 360, PS3, and PC has hit both the PS4 and Xbox One. And since the vast majority of the original games were released in high definition to begin with, the “HD remaster” moniker doesn’t really make sense anymore.

While some releases are definitely more impressive than others, the definitions aren’t particularly clear here. At this point, the line between “port” and “remaster” is significantly blurred. Even if you’re upping the resolution, improving the textures, and reworking the net code, those two terms are used interchangeably more often than not.

DirectX 12 logo And while this generation of consoles has started to become more PC-like with x86-64 CPUs and standard AMD GPUs, PCs are starting to function more like consoles with DirectX 12 and Mantle. The definitions are changing rapidly, and it leaves most of us more than a little confused — even when it comes to day-one releases of multi-platform games.

So, why are some ports nearly spotless while others are train wrecks? Are the PS4 and Xbox One really just dolled-up midrange PCs? These kind of questions pop up frequently in tech/game enthusiast forums, and it usually devolves into a screaming match. I wanted to bypass the noise, and hear the story directly from the devs themselves.

Recently, I had the opportunity to interview developers from two game studios: Iron Galaxy and BlitWorks. Both of those studios are well-known for delivering ports on numerous different platforms, so their first-hand knowledge of this complicated field is exactly what I was looking for. Without further ado, let’s hear from the boots on the ground.

BlitWorks interview

Grant Brunner: Can you give some background on BlitWorks, and what your company does?

Tony Cabello: Well, basically, we’re specialized in porting games. With all the founders being involved in the game development industry for almost twenty years — we have a very deep technical background. Miguel, my partner, he’s a legend in the emulation scene. He did System 32, the Mega Drive, the Dreamcast, and a lot of other work.

Miguel Horna: Neo-Geo, Capcom System II & III, Sega Model 2.

TC: So, we started offering porting services. And over time, we are adding more services like publishing and remakes. Although it’s difficult to say what is a remake and what is a port, because there’s a fine line between them.

GB: There’s a common opinion in the enthusiast community that because the PS4 and Xbox One are using AMD CPUs and GPUs, it’s easy to port to and from the PC. Does this idea actually hold water based on your experience?

TC: Yes and no. The architecture is fairly similar to a PC, but a few details make a big difference. You have to fully understand each component in order to get the best performance. It’s easy to do a port, but it takes a lot of effort to get the max performance of each console.

This is where the traditional big difference between consoles and PC remains — on consoles you have low-level access to all the hardware. The OS runs in a reserved set of cores and memory, so there’s no overhead from it. You have specific memory mapped regions. You have very fine-grained control of what is going to be cached or how you build the display list, and things like that. There’s almost no graphics driver in between. You are feeding the commands directly to the GPU, and this requires a very different mindset.

And also, it’s important that you have very powerful tools. I mean, the profilers and the debuggers on the consoles are spectacular compared to what you get on PC. And this allows you to fully understand what’s going on. If the game is running slowly, you can always know why.

PS4

GB: Since Mantle and DirectX 12 are allowing developers to get closer to the metal, does that mean good things for PC-console ports going forward?

TC: Yeah, sure. The new APIs are following that direction. And, basically, they are getting things out of the drivers, so they are allowing you low-level access. In the end, all the GPUs are more similar nowadays than a few years ago[…]

GB: And in terms of CPUs, both PCs and consoles are doubling down on more cores with less of a focus on clock speed. Is that trend a positive thing when you’re porting games to and from these different platforms?

TC: Right. The trend really helps because the mindset is closer than back in the day with the Cell processor — it wasn’t exactly in the trend. Each core had specific memory, and there was a DMA [direct memory access] across the different cores. I mean, it was a very different architecture than a set of general purpose cores that you can find in current CPUs.

MH: That’s why the Xbox 360 was thought to be easier to program [than the PS3]. Because it had three general purpose cores[…] it was more like a PC. PS3 has a main CPU, but then the other CPUs are using a different instruction set, different memory, and everything has to be communicated by DMA. So it was very hard to work with it.

GB: So if the PS3 is on one end of the difficulty spectrum, is there a platform on the other end? Something incredibly easy to port to and from?

TC: I would say the PS4 and Xbox One[…] everything else falls in between like the Vita and the 3DS. They’re in between because they have different challenges. They are less powerful, but still, they use a normal architecture.

Spelunky

GB: BlitWorks has ported games with a very strong focus on precise timing (Meat Boy, Necrodancer, OlliOlli). Are those kinds of games harder to execute on properly than, let’s say, a menu-driven RPG?

TC: Yeah, every time you have to deal with real time, a lot of unexpected things happen. On every platform, you’ll find a different bottleneck that keeps you away from 60 frames per second. Actually, 60 frames is very difficult. It’s so tight — it’s 16 milliseconds. If anything unexpected comes, you’ll miss a frame. And it’s so easy to miss a frame in the middle of an animation, and [ruin the smoothness].

For instance, in Spelunky, we hit some particular rendering issues on the Vita. People complained because it made the game harder to play during specific moments. Being a hard game already, people got upset. So, we had to further optimize the game, and keep a solid 60 frames per second since it was affecting gameplay.

MH: In games like OlliOlli, any alteration on the timing can make you miss a trick. The common issue with this particular game is when using TVs that do excessive signal processing. Either you activate the game mode on the TV set or you’re going to have a hard time getting used to compensate the lag in your brain, as you will have to press the buttons a few milliseconds in advance. Necrodancer is also a good example, as it has a calibration screen at the start of the game in order to compensate the lag for you.

GB: What about compensating for different controllers? Button positioning, dead zones, and the overall feel is different between controllers. Do you ever have to make tweaks to make the game feel “right”?

TC: Yeah. In every game, we have to do some degree of fine tuning of controls. This is a very subjective topic, and it’s not always clear what to do, so both our testers and the original game creator exchange very valuable feedback so the intended feel is preserved. But there’s no simple rule, just play and see how it feels.

MH: When you have a touch game for Vita like OlliOlli, and you want to port it to PS4… The menus were only built to be used by touch, so we have to create that new menu system so it can be navigated with gamepads.

Unsharper

GB: On the BlitWorks website, there is a page dedicated to something called “Unsharper.” You folks call it a “semi-automatic tool for converting C# code into C++.” How large of a role does automation play in a typical port from BlitWorks?

TC: Well, we started this tool because when we ported FEZ, we used an already existing tool for converting from C# to C++. This tool missed some features, and we had to finish the port manually by filling the gaps in the generated code. But with bigger games, like Bastion, on which we’re working now, this way would have been impossible. The amount of code is much bigger, so we needed to automate the conversion. The manual part is still there, but it’s not the same amount of work we did with FEZ which was very, very time consuming.

GB: Do you do the manual changes before or after the automation process?

TC: The tool is generating C++, and we do the manual changes on the C# side, so we’re constantly converting to see the improvements. The tool is actually a compiler if you look at it this way. What we do is, we adjust the C# to fit the requirements of our compiler, which is not perfect, and does not support everything.

GB: Is there anything about game ports (or the porting process) that you think ExtremeTech readers should know about?

TC: Well, what I would say is that ports can be very technical, but good ports always carry a lot of product level kind of work — adjusting the controls, getting a proper UI, getting smooth graphics. In a sense, a good port is like going back to the time when the game was being developed, changing some of the assumptions, and reworking the affected parts.

I think this is the biggest difference from doing something like an emulator which is a 100% technical thing. You just have to get the game to behave the way it did originally. In porting, there’s a lot of care about the product — exactly like when the game was developed originally, but on a different platform.

MH: If you do ports like… an automatic machine, your ports aren’t going to be good. They need a lot of care — a lot of attention. A lot of love from the team to make the port in the best possible way.

Iron Galaxy interview

Grant Brunner: Tell me a little bit about your personal history in game development, and what Iron Galaxy does.

Dave Lang: I was pretty fortunate as a kid that my parents encouraged me in whatever I wanted to do. Along those lines, in the 6th grade they got me a computer (Commodore 64) and I taught myself how to program. I didn’t really make anything too serious until I got into college, but I always had fun making dumb little games, and just seeing what I could do.

A career making games never really occurred to me until my final year of college, when I saw some “help wanted” ads in the back of Next Generation magazine. I pretty much dropped everything, and applied to everyone I could find. I was lucky enough to get on at Sculptured Software in 1996, and that was my foot in the door. From there I went to Kodiak, then Microsoft Game Studios Salt Lake (Access Games), before settling in at Midway in 2003. I stayed at Midway until near the end, before forming Iron Galaxy in 2008.

We started off doing tech consulting and port stuff because I knew we’d be really good at it. The original vision for the company was to basically just do that forever, but eventually we decided to grow into doing larger titles like Killer Instinct.

GB: On gaming forums, you’ll often see people claiming that porting between the PC, Xbox One, and PS4 is “easy.” Does that idea hold any water with you?

DL: Generally the only factor relating to the difficulty in porting from one platform to another is “Is the target platform more, or less powerful than the original,” and in the case of the PC the answer is sometimes “both.”

GB: Do you (or your team) have favorite or least favorite platforms to work with from a technical side?

DL: Mobile is always super tough, especially Android. There’s just so many different versions of hardware and performance targets when porting to mobile. Makes things difficult.

GB: Iron Galaxy worked on the Borderlands 2 ports for the Vita, PS4, and Xbox One. Can you give any examples of specific quirks or issues that arose from porting the same game to these different platforms?

Borderlands

DL: In the case of the Vita it was “How do we take this super huge game and fit it on this handheld?” and for Xbox One and PS4 it was “What cool stuff can we add to take advantage of all the additional power?” This is how we ended up with four-player split screen on the console version. The extra power let us do some cool stuff.

GB:Killer Instinct seems like a particularly interesting situation. Iron Galaxy took over development from another studio, and then proceeded to add new content and even increased the resolution of the game. In a way, that seems a bit like remastering a game on its original platform. Did that project offer any unique challenges that you wouldn’t see with a typical “port from platform X to platform Y” job?

Xbox One Killer Instinct

DL: The skillset of the Killer Instinct team is completely different from what we’d staff on a port project. For Killer Instinct we have five designers, about 25 artists, audio designers, etc., in addition to the normal team of engineers you’d have on a port-style project. As we’re generating all the new content for that going forward, the challenges are completely different. For ports you typically don’t worry about “is this game fun,” the question is “does this behave exactly as it did on the original platform,” whereas for Killer Instinct making a super-fun fighting game for the fans is the top priority and takes up most of our mental energy.

Divekick

GB: With Divekick, Iron Galaxy worked to actually create the original versions, and then later ported it to other platforms. Are there significant advantages or disadvantages to having worked on the initial development when it comes time to port the game?

DL: There can be, but typically in game development, be it making original games or ports, the biggest factor is development time. Having worked on the original game gives you a huge leg up, but if you give a team enough time to get their feet under them that can be overcome.

GB: Iron Galaxy has worked on a number of PS3 releases, and I’m wondering if you have any insight into why so many developers have struggled porting to and from that hardware.

PS3 ThirdDL: The Cell architecture was really, really foreign to a lot of people, and the tools Sony provided at the time were awful. I think the fact that the PS4 is off to such a great start is due largely to the more-standard hardware and much-improved tools. Sony did a really good job this time around.

GB: When you’re developing a port/remaster, is there a single aspect of the process that is the most challenging across different projects?

DL: Well, time and budget are typically proportional, but if I had to pick one I’d say time is the most precious resource.

GB: Is there anything about game ports/remasters (or the process of developing them) that you think ExtremeTech readers should know about?

DL: Never underestimate the value in having someone on the team who’s super into the original game. If you’re not familiar with how the original game behaves, it’s going to be impossible to track down all the bugs at the end of the project. We ended up with all these super-subtle bugs in Street Fighter III 3rd Strike Online Edition that only the hardest of the hardcore would ever catch. Example: Ryu brings a bag onto the stage with him, and he sets it down before he fights. If you throw someone, and they land by the bag, it will flop over. In the version we did the bag didn’t flop over at the same times as the original version, and the hardcore fans caught it right away.

Any port in a storm

While the business reasons behind the overwhelming number of ports/remasters may irritate many of us, it’s important to remember that the developers are doing their damnedest to deliver a good experience wherever you play the game. Hardware quirks and toolsets definitely come into play, but resource limitations seem to play the biggest role in the most notable recent gaffes.

Porting doesn’t ever seem to be a simple process — despite what gaming forum denizens would have you believe. Money, time, tools, and manpower all impact the quality of the final product — even when the platforms are relatively similar. It’s fine to be upset when the game you purchased isn’t up to snuff, but it isn’t because the devs are “lazy.” Making top-notch ports requires a lot of nuance, subtlety, and care. Unfortunately, deadlines and budgets aren’t always conducive to that.

Update: The BlitWorks interview has been edited for clarity.

Read more http://www.extremetech.com/gaming/210753-why-some-video-game-ports-are-spotless-while-others-are-train-wrecks


Strict Standards: Only variables should be assigned by reference in /home/noahjames7/public_html/modules/mod_flexi_customcode/tmpl/default.php on line 24

Strict Standards: Non-static method modFlexiCustomCode::parsePHPviaFile() should not be called statically in /home/noahjames7/public_html/modules/mod_flexi_customcode/tmpl/default.php on line 54

Find out more by searching for it!

Custom Search







Strict Standards: Non-static method modBtFloaterHelper::fetchHead() should not be called statically in /home/noahjames7/public_html/modules/mod_bt_floater/mod_bt_floater.php on line 21