What does it take to be a Senior Gameplay Programmer on our team?
Sweeney: I think there are a couple of things that are important. The first is to be passionate about games, passionate about what you do (in other words, love it and live it!). The second important trait is having good communication skills - being able to go out and talk to other team members. You can’t just sit IMing and emailing the team. It’s good to go and see people, talk to them, and sometimes even act out the types of things you’re trying to put into the game to give an idea of what you’re trying to achieve. It also fosters a team mentality where people all feel like there’s a vested interest in what we’re all trying to achieve, so I think that’s a big part of being programmers. In addition, it’s important to have a strong programming and technical background.
Yssef: Especially for the gameplay programming role, you’ll need to enjoy playing games so that you have a sense of what you would like to see in the final product. Gameplay is very close to the God of War games, but in this role, you’ll be part of a three-prong approach to the team, which includes gameplay programming, design and animation. So, you will need to be very open to talking to designers and animators about what the goal is, as we’re all working towards it together. You should be interested in these other disciplines as well, and you should be able to give and take feedback from animators and designers.
How much do we value personality traits in relation to tech skills?
Sweeney: I think it’s an equal amount. I think being a good programmer means you need to understand data structures, different pathfinding algorithms, how animation ties into the gameplay A.I. and have very strong math skills because anything with animation or A.I. is going to involve understanding a wide spectrum of linear algebra, matrices, vectors and being able to calculate out various things. But at the same time, we don’t want someone who is going to just sit in their cube, program and go home. In the end, it’s a team effort to achieve a specific goal and create the highest quality product available.
Yssef: We look for programmers who can iterate; someone who can work fast and prototype quickly with animators and designers to see if we’re on track. Also, the goals tend to change and evolve as we are working on them, so constant contact with the team is very important. Like James said, having strong individual skills related to your discipline is key too.