Ports, when you hear the word what do you think of? If you thought “Boats” or “Alcohol” then I’ve got bad news for you. This is not the port you are looking for. However, if you thought “Ugh, please no. Just pull the game off the shelves right now” then you know exactly what port I am referring too.
So what’s the business of ports and why does it leave a sour taste in a person’s mouth?
So we’ve all been there. We are excited for a game and we hear it’s releasing on all the major platforms. The excitement is palpable, if only for a minute, before the big question is asked: From which platform is it being ported and will it be bad?
Sadly this is the current state in gaming. Ports just seem to be bad as a rule of thumb, not in the sense of the game being bad but rather the optimisation being terrible. Whether it’s controller translation and customisation not being up to scratch, a port to PC having no modification options for graphics quality settings or the port simply performing poorly on the desired port platform, it seems to be the norm in recent times.
The latest and best example of this is Batman: Arkham Knight. A port so bad that the publishers had to pull the game from Steam until they could fix the problems plaguing the port – which, to date, still has not been rectified – and as such is still not available for purchase through Steam.
What I often find myself wondering is why. Why do these bad ports even exist? Do companies not test their work before going out to the public? Is the port simply an afterthought? Why even bother if it’s not going to do well?
One of the biggest issues is that in most cases ports are outsourced to another company which leaves the developers in-house to focus on creating the best game they possibly can. While this sounds fairly simple and efficient, it often fails to deliver the desired results. It seem that it would be simple to have an external company just convert code to work on a desired platform and to make sure it’s optimised enough to run well on said platform especially with current-gen consoles being closer to PC hardware than ever before. Turns out it’s not. There is still a massive disconnect between console and PC due to console architecture, while being closer to a PC, still being low-level with dedicated bits for everything. PC’s still share resources and require drivers to point things in the right direction.
So is the answer to bring it in-house? Well when I set out to write this article I had a fairly solid YES answer. However, delving deeper in to the process of porting and what is going on I find the answer a little more murky. Yes, I think it would be better to be completely in-house as the developers of the game have the best idea of what’s going on code-wise and what’s happening in the backend, but the time and resources required (Especially the resource of manpower) for this seems to be fairly high. This makes one stop and wonder if being in-house would be worth it.
One interview I found exceptionally interesting while digging in to the process for porting was one I found on extremetech. It’s got some interesting points. It would seem that the only easy part of any port is the CPU portion as CPU’s generally all follow the same rules across platforms. It starts to get more tricky when it comes down to how the images are displayed on screen and processed via the GPUs on each platform. That means that if it had to be in-house you would need a dedicated team to get involved as it would require on the fly optimisation of code as it’s being created for whichever the primary platfrom is.
This would also then lead to time constraint conflicts placed by publishers. A game is planned for a certain date and the ports need to be ready at that time too. Publishers are perhaps the big culprits in shoddy ports. They push for dates and seem completely clueless on the time it takes to do a proper port. So perhaps the solution isn’t to bring it in-house but to rather incorporate port times in to the planned release date of a game. If your game is being ported then extend your development time and include a proper timeline for porting, including proper QA.
My biggest gripe still remains however. How. How do you allow it to be so bad? This simple fact remains: You must release a good quality product. As a publisher/developer you are required to make sure your own product is on par with what is expected of a product. Fail to meet this level and you can be sure the internet will rise up against you and make life fairly difficult for you.
Now there are many different approaches. You can develop and port in house. This reduces the risk of poor quality porting as your developers know the code. Know the game. Know the hardware and software tricks they used that would port poorly. It would allow a more complete and quality port to be released along with the game. Yes the downside is that development time then increases as you split your resources between coding and then porting that same code to other platforms. It’s time consuming and would require a completely different development cycle. So if you are planning on getting your game out before the release of the next best thing then in-house may not be ideal.
Or you could outsource as so many publishers do. However there are certain things that absolutely have to be checked. You need to make sure there is in-house QA being done on the port as it progresses. Have people who worked on the main game do the testing. They know how it must run, must look, must act, etc. They know the game inside out and are invaluable in making sure the port is up to scratch. Yes there are many components when porting to PC that could cause issues. PC’s have a wide range of hardware mixes that can all act differently, but that’s the job of the people doing the port to fix. You can easily test on multiple hardware configurations. When you’ve spent hundreds of thousands or even millions on game development, what’s a few thousand more for a few test rigs with different configs? Seriously. Get them in place. It’s an investment for future tests too. Don’t be lazy.
Perhaps there is no easy solution. Bring it in house and you suddenly don’t have enough time and resources to make development worthwhile. Outsource it and you run the risk of the outsourced company not meeting the timelines and quality the consumer is going to expect. Force publishers to push dates further in planning and you run the risk of releasing the game at an inappropriate time and risk being overshadowed by other, larger releases or even running the risk of not being noticed for delivering out of the normal “Release” times that people have come to expect.
So porting is tricky business. But is it ok to use “It’s difficult” as an excuse? I don’t think so. It’s a poor excuse at best. If you don’t want to put the effort in to getting a game out for all platforms then go exclusive to one type. Don’t get consumers excited and then deliver a poor title on one platform while people on other platforms are enjoying a superior product that should, for all intents and purposes, be the exact same thing.
I don’t know, perhaps I’m just overly critical and expect too much. Do I need to feel grateful that I have the privilege of being able to afford gaming as a hobby? I don’t know. When I buy a car I expect it to work. When I buy food I expect it to be edible. So shouldn’t I feel that my game should work when I buy it?
What are your thoughts?