Interesting read on porting games
Here’s the link to the original comment: https://www.reddit.com/r/gamedev/comments/4pzhz7/do_people_pay_for_game_ports_anymore/d4p2k3e. As well as the text in full:
Hi! I’m a dev at SandstormInteractive, a game dev company where we make mobile games and console ports.
Here is a quick summary of my experience:
You said “Obviously if a game just uses Unity or Unreal, they don’t have to worry so much about ports” and, in my opinion, this is completely wrong. I can assure you that 100% of the games made in Unity we were given didn’t work out-of-the-box.
But why people pay for game ports? 2 reasons: Limitations and tailoring.
I’ll give an example. We were given a HUGE INDIE game made in Unity and we were supposed to port it to PS3 and PS4. First day, “switch platform”, didn’t work. After a lot of fixes it worked, at 1 FPS, but hey, it’s something. The game didn’t have culling and occlusion culling was broken for unity at the time, so we tried steaming. Again, low fps. So we made our own culling system and reached 10 FPS. After that there were not that many technical things left to do. So we started with the fine work ( shader optimization, combining meshes, baking lights, etc ) and we reached a steady 60 FPS on PS4. This whole process took about 8 months.
Another game needed to be ported to PSVita ( wich has horrible hardware ). We had about 2 months to go from 10 FPS and 1 minute loading screens to 50-60 FPS and 10 seconds loading screens at worst. It was possible only by the expertise of our team wich knows deeply the Vita system and its limitations.
Basically the point is: When you develop for X platform which has standardized hardware, you MUST make your game run at steady 45-60 fps. Which in PC you can just say "Hey, the min. requirements are a GTX Titan and 64 GB of ram"
Every platform has it’s own TRCs. Sony might call the d-pad ‘‘Directional Buttons’’, Nintendo might call it “Control Pad” and so on. Same with company logos and other things. TRCs are LONG and if you break any of them, they will reject your build.
Besides that, every game should feel like they belong in the platform. You might want to integrate Sony’s Cloud SaveLoad, change the color of the DualShock controller light based on the level you’re playing or implement a completely different second screen for the WiiU GamePad.
You can get a PC with windows and Linux, a Mac, a PS4, a WiiU and an XBOX and try to get into the developer program of all of those companies and learn their TRCs and how to tailor your game to those platforms, it’s technically possible, but if you’re not a giant I don’t think its worth the time and the money you would spend doing so. And that’s when you call a porting company to do that job.
TL;DR: Porting is hard. Doing your own ports might be harder, take more time and be more expensive than hiring a porting company.