Tell us a bit about yourself.
I like games! I originally wanted to be a pilot, but they wouldn't let me fly because I've got dodgy eyesight. Then I decided to do the next best thing, Aeronautical Engineering, but for some reason I ended up doing Computer Science and Maths instead. I did it for four years and ended up quite enjoying it! I'd always been quite interested in the idea of writing a game - Codey (our Creative Director) and I always used to say we wanted to make games together when we were at school.
What is your role at Paper Giant Studios?
Technical Director. My responsibilities include pretty much everything to do with engineering the game, so all the programming and the architecture of the code. I also coordinate between both the designers and other freelance programmers that we have on board. One of my main responsibilities at the moment is versioning control, a problem which arises because Unity Indie doesn't provide access to Unity Technologies' server. Ultimately, I coordinate and direct the programming effort to engineer a good game that works - and we're getting there!
What are the major difficulties of programming a game like Seed Pod Shuffle?
It's been a major learning curve, essentially because we've never written a commercial game before. That sets the required standard very very high. When you factor in extra issues that need to be considered, such as getting the game to run on multiple platforms (and running well), we really need to ensure that the code is well structured and robust. Testing is quite challenging because, well, testing is always a challenge! The major thing with this game is that we've never used any of this stuff before, and we've never worked together before - it's a major learning curve.
Have there been any specific technical challenges that stick in your mind?
We actually found it quite tricky getting the game board to behave properly in terms of symbol movement - I initially designed it to work one way, then when we got further into developing the game we realized that the way I'd designed it didn't cater well for certain effects and other things. It was a bit of a challenge to make sure everything on the board happened smoothly whilst ensuring that there were no errors.
Many people might imagine that creating a match 3 game board is pretty straight forward - why hasn't that been the case?
Trying to create what is largely a 2D game with a 3D game engine felt like we were going against the grain from day one - in some ways its been a very Procrustean approach to what should have been a very simple game.
But there must be some benefits for you as a programmer in using the Unity engine.
Yes, Unity is very powerful. I'm loving the fact that we can use multiple languages to program for multiple platforms in an integrated editor. It also allows good integration and coordination with the design team, and makes it easier for us all to see where we're going since what the programming and design teams produce can be brought together quickly. Other systems might make it more difficult for design guys to get involved with the building process itself, but with Unity they can go in and tweak things in the editor - it's very accessible. I particularly like how you can expose variables in the scripts in the Properties area. It's very simple but very powerful, and gives the designers control over lots of stuff.
Do you have a message for your fans?