How to Develop a Game for PS4

Alexander Savinkin
GeekForge.Academy
Published in
8 min readApr 17, 2019

--

What is your background? Can you please tell us a little bit about your career path.

I graduated from Northeastern University with a dual major in Computer Science and Game Design, and I received a Master’s degree in Computer Science. My approach has always been to follow my passion when choosing what to study and which projects to work on. Throughout college, my interest was split between mobile application development and game development, with as much overlap as possible. Underlying it all, I am addicted to critical thinking and problem solving at a software level, and game development checks all the boxes for me as a challenging and rewarding discipline.

Before forming GrappleHook Games, I met my co-founder, Eric Peterson, at Northeastern University in one of our game development classes. Our first game was born from a class assignment where we were encouraged to be innovative in our design. We decided to use the guitar controller, popularized by the Guitar Hero franchise, in a way that had nothing to do with music. What we ended up with was SquadHero: an endurance-style, shmup, arcade game where the player controls a fleet of five spaceships as they shoot down an endless flurry of enemy missiles. Each ship corresponds to a colored button on the guitar controller, and the goal is to rotate the formation of the squad to shoot enemy missiles with your own appropriately colored projectile. SquadHero was a big draw wherever we displayed it, and went on to win a couple of awards. This process showed me that I love the exciting and nerve-wracking nature of watching people experience something I created.

https://www.youtube.com/watch?v=4jYY6R3b4W0

Building on the lessons we learned from creating SquadHero, Eric and I worked on a few other projects over the years. One that really stuck with us was called Crater Kings, a game we started in 2013 that was focused on natural mechanics in a fast-paced, competitive, local multiplayer setting. We wanted to build a multiplayer game all about ricocheting shots: bouncing projectiles off walls and scoring goals.

https://www.youtube.com/watch?v=J8BSxujNLfQ

A few years later we decided that the space-theme wasn’t cutting it, so in 2016 we rebranded it to the mystical themed Skorecery. The basic pitch was that players gain control of the ball, shoot it at opponent “runes”, and defend their own with smart maneuvering, tight controls, and powerful spells. We built a lot of customization into the game with “curses” that change the rules of how the game is played, and they all stack. For example, you can add gravity to the ball, turn on friendly fire, and increase the speed of the ball every time it bounces. After several years of adding features, polishing, and navigating the world of console development, we finally released Skorecery on PS4 on April 4th, 2019.

https://www.youtube.com/watch?v=Tg-5xG31kTs

What is your current specialization?

Fresh off the release of Skorecery for PS4, I’m investigating the next steps for the game. Once the details roll in about how it is being received, we will plan our release on other platforms and any additional features we need to patch into the game. Outside of Skorecery, my specialization is really in rapid prototyping of game mechanics. I’ve been using Unity for almost 10 years, and my expertise of working in the engine makes it easy for me to quickly generate a proof of concept to try out new ideas. When deciding on our next game project, I will go through a phase of producing many different samples until something sticks. I’m particularly interested in the implications of augmented reality (AR) and virtual reality (VR), and I have a feeling my next project will go down that road.

AR in particular is very fascinating to me as it is a technology that can, as the name states, augment our everyday lives. We already see AR starting to pick up steam as companies like Apple and Bose start incorporating it into their products. I would like to explore how AR can introduce gamification to inject fun into some of the more tedious parts of our everyday lives. My hope is that this will improve productivity and encourage people to interact with each other directly, instead of indirectly through social media platforms.

What really inspires me is the endless amount of possibilities. I can go in any direction with new projects, and the creative process of coming up with an idea and then designing around that idea is what drives me.

What are the most important problems your customers are met with?

Since GrappleHook Games has such a small team, we have an incredibly limited budget. This is very much a passion project for us, and we’ve found that the barrier to entry for getting on consoles in particular is fairly high. There are numerous hurdles you’re forced to jump through; hours of paperwork to fill out, hidden costs, and obfuscated requirements, just to name a few. We have certainly seen this improve over time, but most indie developers still lean towards releasing on platforms like Steam in lieu of a console release. The issue with that approach is that there are so many more options that it’s hard to stand out. Combine that with the fact that many of these smaller indie developers come from a pure development background, and you end up with many games that don’t make much of a splash.

In our team we have a wide breadth of knowledge in several areas of expertise, but we lack significant experience in marketing, public relations, and sales. Most developers want as many people as possible to play their game, but they don’t know how to get their game in front of people. Each member of our team has their own career outside of game development, which puts us in a position where we are not relying on income from game sales. We can solely focus on producing a game that we’re truly proud of as a team. For those looking to quit their day jobs to pursue game development, it’s crucial that you understand the business side of the industry.

There are a few things we’ve learned by showcasing our games over the years. First, get your game in front of people as soon as possible. Playtesting is invaluable, and many developers wait too long before showing off their creation. It’s easier to change fundamental pieces of the game and work out the kinks early on. Second, give yourself more time than you think you need for your milestones. Estimating time is difficult for many developers. While being over-ambitious can push the team to aim higher and produce more work, it often leads to everyone feeling like they’re chronically behind schedule. The solution here is to set realistic goals, and always let your team know how much you appreciate their efforts. Finally, take breaks. A little distance from a project can really give you the perspective needed to make a breakthrough or come up with a really great idea.

What is the most remarkable experience you’ve had during your professional career in this field?

A few weeks before launching Skorecery, we had our production version approved and ready to go. Naturally, we were doing a ton of testing to try to find any issues. We found a doozie. Somehow, the game could get into a state where the player would experience about 0.3 seconds of lag every time they collided with the ball.

In cases like this, the hardest part is usually reproducing the issue in the first place. I was struggling to reproduce the lag. It didn’t appear in the Unity editor, only on the PS4, and it clearly wasn’t consistent. Even when I did finally reproduce the lag, I couldn’t determine the root cause. Then I got lucky and happened to unlock a Trophy. It all clicked for me, and I realized that the lag must be caused by the way we’re tracking statistics. After investigating, I found that we were synchronously saving stats to the disk and synchronously attempting to unlock Trophies.

The solution was simple: sprinkle asynchronous calls in place of the synchronous ones. I also took the opportunity to simplify the conditions under which we check for those Trophy unlocks, so it isn’t happening all the time. Ultimately, the lag produced by this bug made the game completely unplayable, and a quick, easy solution saved us from a disastrous launch.

What are the sources of knowledge you use to improve your skills?

During college, I realized that I learn best through experience. I naturally gravitated towards project-heavy courses and away from courses with exams based purely on memorization. Keeping this in mind, I like to push myself to take on things that are outside my comfort zone. Each year, I try to add something to my toolkit that wasn’t there before. It doesn’t have to be directly related to a game project either, as all of these added skills tend to come in handy at some point. The journey usually starts with a simple problem I want to solve; it involves reading articles, blog posts, and Stack Overflow Q&As until I feel comfortable trying out a solution. For example, a few years ago I decided I would set up a VPN to pass web traffic through a private server. Well, it turns out that Sony requires a static IP address for access to their developer tools, so I was already prepared with my VPN and private server complete with static IP.

Another way I like to keep improving is to take on different roles in new projects. Do you have limited management skills? Take on a project where you are in charge of other developers. Have you never written a database backend? Work on a project that is largely database driven. I’m over-simplifying things here because we can’t always be so choosy about our work, but the idea is that I always push myself in new directions.

Questions asked by

Former number cruncher in investment funds & strategy consulting. One of Geekforge Founding Fathers. Blockchain and technical singularity true believer.

--

--