Supporting Games On Multiple Platforms (Part 3)

Now that I’ve discussed what it’s like to develop a game for Windows, Mac, and Linux, as well as mobile platforms, it’s time to finish off this series with PlayStation 4 and PlayStation Vita!

Unfortunately, this post won’t have any screenshots. I’d love to show off the development kits and some of the tools that Sony provides us, but all of it is protected by a non-disclosure agreement that I don’t have any interest in violating.

Step Five: Porting to PlayStation 4.

Luckily, the PS4 comes equipped with some pretty powerful hardware, so it doesn’t require anywhere near as much optimization as the game’s mobile version. However, much like the other platforms, the PS4 comes with its own set of issues that can sometimes make development quite a headache.

First, I applied for a developer account with Sony. This takes some time, because I needed to include a pitch for my game and explain how I planned to bring it to their consoles. After a few weeks, I received an e-mail from them saying that my application had been accepted and to wait for my login details. A few days later, I received an e-mail from several employees at Sony. One of them gave me my login credentials and introduced the employees that I was assigned to work with. Each person is responsible for something different: one is your account manager, one is in charge of marketing, one works as the leader of a quality assurance team, and much more. All of these employees are extremely pleasant to work with and reply to e-mails very quickly. I also requested access to development kit rentals for PlayStation 4 and PlayStation Vita development kits, and those arrived in the mail about a week later. These development kits are pretty much the same as the consoles you can buy in stores, except they look a little different and have some debug tools integrated into their operating systems.

First, not a lot of people use GameMaker to create console games. In fact, when I was porting Siralim and Siralim 2 to PS4 and Vita, I’m pretty sure I was one of the only people using it at all. The vast majority of my time was spent finding and reporting bugs related to the GameMaker export module for PS4 and Vita rather than working on the game itself. Many of these bugs were show-stoppers, and it was virtually impossible to submit a PlayStation game to Sony because the game simply wouldn’t compile. One of the employees who develop GameMaker started working with me directly to fix all the bugs I could find. I am very impressed with the level of customer support they provided. After several weeks of frustration, everything finally came together, and I could compile my game.

Next, I had to work out some more details with Sony. There’s a lot of codes and serial numbers to work with, and it takes a very long time to figure out how everything works. It also takes a while for Sony to create your codes, so I found myself working with a very volatile schedule: one day, I wouldn’t have anything to do, and the next day I’d be swamped with trying to figure out how to make the codes work that they sent me. There’s plenty of documentation to read and it’s all very informative, but there’s so much information to take in that it quickly becomes very overwhelming. After a lot of trial and error, I finally figured everything out. Fortunately, it’s one of those things you never forget how to do, so I can hopefully assume the worst of my career is behind me now.

Finally, it’s time to submit my game to Sony’s quality assurance team for review. I don’t know how much these guys are paid exactly, but regardless, it’s not enough. My heart bleeds for the poor souls who were forced to play Siralim for dozens of hours, trying everything in their power to break the game and submit bug reports to me. They found all kinds of things that players on other platforms would never even think about. For example, since “W” is the largest character in the font Siralim uses, they discovered that if you name your character “WWWWWWWWWWWWWWWW”, the name will bleed outside of the bounds of the screen on the loading menu.

After the QA team finished testing the game, they sent me a list of all the bugs they found and identified the ones that I needed to fix before the game could be released. I fixed what I could find, and re-submitted the game for QA testing once again. They had to go through the entire game and test it just like they did the first time. Unfortunately, they found a few new crashes and bugs, many of which were due to even more bugs with GameMaker. That means that I had to get back in contact with the GameMaker developers, have them fix the software on their end, then test the game, then re-submit it and hope for the best. Embarrassingly, I lost count of the number of times I had to re-submit the game to Sony. I suspect that several of their QA testers have played Siralim more than most players. I’m also very confident that they hate the game at this point. They probably wanted to throw up when they saw that there was a sequel.

Ultimately, everything worked out and the game was accepted. Sony asked for a trailer for the game along with a bunch of other marketing materials such as screenshots and logos. I was also asked to write a short blog post for the official PlayStation blog to introduce the game and interact with the community. They edited the hell out of it and even threw a couple grammar errors in there which makes me look kind of stupid, but that’s life.

After the trailer was uploaded to the PlayStation YouTube account, I was met with an onslaught of hatred as over half the people watching it gave it a giant “thumbs down”. I didn’t bother to read more of the comments after I saw someone mention that “this game gives [him] eye cancer”. Luckily, for every asswipe out there, there’s someone who is welcoming and respectful. Some of those people are probably reading this right now, so thank you for not being an asswipe.

So now it’s all sunshine and rainbows, right? Time to launch the game!

Oh, wait. There’s still PlayStation Vita to contend with.

Step Six: Porting to PlayStation Vita.

Alright, so take all the problems I mentioned in the PS4 section and multiply by 100. Not only were there far more GameMaker bugs with the Vita module, the Vita’s hardware is also far weaker than the PS4. In fact, it’s weaker than most smartphones. Again, before you say “but Zack, the graphics are so basic! How can hardware be too weak?”, keep in mind that there are probably more calculations going on in the background than pretty much any game out there except maybe for Dwarf Fortress. But if you’ve played the game, I probably don’t need to tell you that. Anyway, the bottleneck on the Vita is its low RAM. It has only 512MB RAM, a lot of which is consumed by the operating system anyway. If you don’t develop your game from the ground up with the Vita in mind, you’re going to have to do a lot of optimization.

When I first ran the game on Vita, my character took about 10 seconds to move one square in any direction. If I entered a battle, the game would crash. I’ll spare you the details because I’ve already discussed optimization in my previous posts, but let’s just say it took a lot of Band-Aids to get things running smoothly on this device.

One little note: don’t mistake my snark for me hating the Vita. I have one of my own, and I love it. It offers some excellent games and I’m sad to see that they stopped production on it.

Anyway, I had to submit the Vita version of the game in the same manner that I did with the PS4 version. The poor souls working in QA had to play the same exact game that they did for PS4, except this time they could take it to the bathroom with them. I like to think that Siralim is an excellent bathroom game, so maybe they were happy about it. I don’t know.

Several QA failures and re-submissions later, the game was accepted for Vita as well.

Eventually, both the PS4 and Vita versions were released simultaneously. People were very happy with it. I received a lot of positive comments from the players, and I kept an eye on the reviews on the PlayStation Store and both platforms held a 4.5 star rating which is outstanding. It’s time to finally enjoy a nice, tall gallon of bourbon!

But wait… I just received an e-mail. And another. And now a Tweet. Now there’s a bunch of new posts showing up in our support forum. It’s time for a cold shower and some emergency coffee, because things are about to get rough.

Step Seven: EMERGENCY PATCHING

I don’t know how I didn’t catch this, and I really don’t know how Sony’s QA team didn’t catch this either considering how thorough they are, but it turns out the PS4 version of the game launched with a bug that caused your save file to randomly delete itself. It’s one of those things where you need to play the game a very specific way to trigger the bug, but with so many people playing it, they managed to make it happen. The strange part is that this bug only occurred in the PS4 version – nowhere else.

Words cannot explain what a horrible feeling it is to know that someone spent their hard-earned money on a game that will inevitably disappoint them as their save file is ripped out from underneath them like a rug. Somehow, everyone remained calm and the general player base was very understanding and patient when I told them I would look into the problem immediately. But now what? How do I patch a game? I know GameMaker doesn’t even support patching for consoles. And even if they did, what are the technicalities behind it? How do I submit it to Sony when it’s ready? Can they hurry it along so that people don’t get upset?

I started by contacting the GameMaker developers again, and they explained that while GameMaker can’t create a patch, I can make one myself with some clever workarounds. Easy enough. But what caused the bug to happen in the first place? I don’t know how to fix something when I don’t know what caused it to happen. As it turns out, it was another GameMaker bug. Luckily, they fixed it very quickly and sent me a private update for the software immediately so I could patch the game as fast as possible.

Next, I had to submit the patch to Sony for… you guessed it, quality assurance testing. I’m sure the entire QA team was sitting around a table having a pizza party in celebration of not ever having to look at Siralim ever again, and I mercilessly culled their happiness with one click of the mouse. Fortunately, Sony has an option to classify a patch as a “hotfix”, meaning it’s an emergency and the QA team will prioritize it over other patches and games. Long story short, the patch was accepted and applied to the game.

“Just got the patch and it works! Thanks for the fast support!”, said one person on Twitter.

“Best customer support ever. Awesome game, keep up the good work.”, said another.

“Congrats on the release! When will it be released in Europe?” asked a polite gentleman from the Netherlands.

Crap.

Step Eight: Oh wait, all that work was just for North America.

Yep, in order to sell your game in Europe, you have to go through the entire process all over again, except this time it’s with a whole new team of Sony employees. They also have slightly different requirements for what your game can have in it, and you also need to get your game description translated into about 20 different languages.

The worst part, however, is PEGI. For those who don’t know, PEGI is the European equivalent of ESRB. They charge $1500 (or maybe it’s $2000; I don’t remember anymore) per game, per platform, so I had to pay $3000-4000 for a rating that no one actually cares about, yet it’s required by law or I can’t sell the game in Europe.

It took a bit longer than expected to get everything passed through PEGI, though. Here’s an e-mail I received from them that explains the cause of the holdup:

Aside from this little hiccup, it didn’t take too long to release the game in Europe. Good times!


If you’ve made it this far, thanks for reading! I hope you won’t mistake my snark for dissatisfaction toward my job, because at the end of the day, I love what I do and wouldn’t trade it for anything. It’s been a long-winded learning experience, but I think the hard part is behind me now and I look forward to developing higher quality games at a much faster rate than ever before.

Until next time!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

5 thoughts on “Supporting Games On Multiple Platforms (Part 3)

  1. Good article thank you. Valuable insight.

    Looking forward to next part, where it’ll be fascinating to see which platform gets you, the developer, the best bang for you buck.

  2. Wow, that was an intense read! And people think it’s so easy to just release a game on multiple platforms – I mean, you’ve already written all the code so what can take you so long? 😉

    As a GameMaker user I get a bit angry when I see the amout of bugs associated with the PS4 export module. It was the same for me and the UWP module. I felt like I was one of the first users to really thorougly use it and there was a bug more or less on every step along the way. Luckily – as you said – YoyoGames is fast at fixing these bugs.

    Thanks again for writing this!

  3. Great article with the right amount of salt on it.

    Good to see you’re still on it (I hope it pays off) – keep up the good work!

    -Fhiz

Leave a Reply

Your email address will not be published.