Few have made as many successful, high quality apps as pfg2009, so it made a lot of sense to start our interviews with him.
Cocos2D: Hi pfg2009. First of all, thank you for taking your time to answer our questions. We all know that after you started using Cocos2D, you became a world famous celebrity. How does it feel to mingle with the Kardashians?
pfg2009: Ha! “Celebrity” may be just a touch too strong a term. However, you may call me “your eminence” if you’d like. :)
Cocos2D: On a more serious note. You are a well-known poster in the Cocos2D community. Could you please tell us a little about yourself?
pfg2009: Sure. I grew up in the former Czechoslovakia, that has since peacefully split into Czech Republic and Slovakia. That’s where I first became interested in computers. My brother, a couple of friends of ours, and myself started a “game development company” called Sybila Soft (quotes are very deliberate). I was pushing 8, my brother and our friends were in their early teens, but we did manage to create and distribute a couple of text-based adventure games on the ZX Spectrum that became quite popular. The games were traded and painstakingly copied from person to person, yet we would occasionally receive fan letters from people all the way across the other end of the country. We felt very cool.
Eventually I made it to a college in the US and stayed in the country after I graduated. I worked a couple of years from the cubicle trenches of the corporate world, until I said “enough is enough” and quit in 2008. I spent about a year being a vagabond, traveling and backpacking around the world. One of my favorite stops included volunteering at Kalani, a wellness retreat center in Hawaii. I worked in the kitchen peeling carrots and chopping salad. I didn’t make a dime but it was by far the best job I’ve ever had.
I now live and work in Seattle, WA. It’s got the best coffee in the world! When I’m not coding or thinking about coding, I like to be out and about. I like being outdoors, I’m a big fan of the many obstacle-course races that started popping up around the country, I’m a die-hard mushroom hunter, and I’m also an avid marimba player (marimbas are traditional, xylophone-like instruments from Zimbabwe).
Cocos2D: What was the first game you played, and do you still play games?
pfg2009: When I was a kid? For me it was “Horace Goes Skiing”. Check it out! Back then I didn’t speak English but I very quickly learned what the game-over phrase “No Money, No Ski” meant.
Now-a-days, I tend to gravitate towards games that are, in one way or another, stunning; where I can see that the devs spent time polishing tiny little details over which I salivate. “Limbo,” “Trine 2,” and “Journey” were among those that I just swallowed whole. Also, I’m holding my breath until I can snatch a copy of “Elite Dangerous”. Talk about a blast from the past!
Cocos2D: How did you get started with game development, and why did you choose Cocos2D?
pfg2009: As I mentioned before, I started poking around game development as a kid in the ‘80s on an awesome little machine called Sinclair ZX Spectrum – 16 colors, 48k of RAM, the works! You’d store programs as screeching noises on audio tapes which took about 5 minutes to load. It’s crazy to think that a single app icon today would fail to squeeze into those specs.
Fast forward a little bit to when the iPhones made their debut and I found myself facing a deja-vu. Once again there was this cool, little device on which a single indie developer could actually create something intriguing. The scope of the app world was just right for what I could deliver and I was hooked.
And now with the advent of the internet, I also discovered other indies with whom I could easily connect, share stories, and pass on some encouragement. That’s why the Cocos2D community found such a soft spot in my heart. What an awesome environment in which to be creative!
From a technical perspective, I became a fan of Cocos2D because it was a well-rounded, well-written framework. The basic API was quite powerful, yet still simple enough to be easily extended, which meant that you could create custom components that may have been missing and share them back with the community afterwards. Cocos2D was also the fastest performing framework out there, especially in the early days. I loved that. I loved squeezing as much excitement out of every millisecond and Cocos2D delivered on that front beautifully.
And then, of course, there was Chipmunk Physics which was even more impressive in what it accomplished so elegantly and with so few lines of code. I look through that code base still to pick up a development trick or two.
In a nutshell, I was impressed with what Ric Quesada and Scott Lembcke, respectively, were able to pull of. I wanted to be part of that effort.
Cocos2D: How many games have you developed using Cocos2D, and which game are you most proud of?
pfg2009: The total count right now is at 11, although most of the earlier titles I already pulled from the store because they were a pain in the butt to maintain and their moment in the sun has come and gone.
As far as personal accomplishment is concerned, though, I was very excited about each one of these apps for different reasons. They tended to build on top of one another and each allowed me to sink my teeth into something new. For example, “Three Little Pigs” bombed financially, but the app forced me to create a book framework of sorts on which I then created “Bobo Explores Light”. “Bobo” ended up being a great success.“Axl & Tuna”, on the other hand, was a project from hell because it just wasn’t coming together for the longest time. However, I’m very proud of the end result and the app made an exciting splash of its own.
Each project gave me the opportunity to learn something new on the technical side of things, or understand first-hand what works and what doesn’t in a given genre. I loved that.
Cocos2D: What was the inspiration for “Axl & Tuna”, and how did you come up with the idea?
pfg2009: I was already in the realm of robots with “Bobo Explores Light”, and I was intrigued with the fluidity of animation and expression lent to the main character Bobo by the physics rig behind it. I was curious to see how far I could push that behavior in a dynamic, fast-paced game. The first mock-up I created had a headless, armless Axl (aka. a box on springy unicycle) going down a hilly track. The animation of the body was exactly what I was looking for and so I pushed forward with the project.
pfg2009: There were two of us total, myself and a stupendously awesome illustrator Dean MacAdam based in San Diego, and it took us forever and a day to ship!
In one form or another, we worked on the project for about a year and half. There were technical challenges for sure, but the biggest time hog was experimenting with different gameplay dynamics, searching for those that worked and tossing those that didn’t. It took significantly longer than I had expected.
Axl started life as “Felix on a Helix”. At one point, Dean and I were brainstorming what the introduction to the game should look like when Dean doodled a grumpy-looking bird made out of an old tuna can glaring at us from the corner of a sheet of paper. We loved the character so much that we weaved him into the story and “Axl and Tuna” was born.
Cocos2D: Have you used publishers with your games, and if so, how is your experience working with them?
I haven’t. I’ll keep you posted if that changes.
Cocos2D: What was, in your opinion, the most vital aspect of the development cycle, and if you could have done anything differently, what would that be?
For me, the most important mantra of the dev cycle, and one that doesn’t come easily to me at all, is to prototype and test the app early and constantly. I’m always scared to demo my projects too early for fear of people not seeing and not being able to comment on the full picture. However, putting an app into other people’s hands early is essential in gaging what works and what doesn’t and, more importantly, in stumbling across new features and design directions that you might not have explored otherwise. I find this piece to be absolutely critical for successful app development and one in which I’m constantly reminding myself to engage.
Another concept of which I need constant reminding is to not implement a feature just because I can and know how. There were a few times in the past where I found myself getting lost in the joy of coding, sinking days into a piece of code that I didn’t need. Live and learn…
Cocos2D: Are you currently working on any new games / other cool stuff?
pfg2009: Of course! I’ve been a little quiet on the forums these days mostly because I’m heads down working on a new game about which I’m very excited. It has nothing to do with robots but it has lots to do with things that are shiny. And layers. Lots and lots of layers. If you follow me on Twitter (@GameCollage) or check into my blog (http://gamecollage.com/blog/), I’ll be posting more info and looking for beta testers soon. Stay tuned!
And that concludes the first Cocos2D interview.
Again, thanks a lot to pfg2009 for his time on this.
Discuss this blog here
pfg2009, on what appears to be a normal day on the job …