We all learned new skills making Coconut Dodge, and thought it would be a good idea to share our individual experiences so that other people can get a bit of a head start developing games for miniS.
So we asked each other a bunch of questions and sent them around via email.
The following people took part:
The answers are below. We hope someone finds them useful!
KR: Why did you choose to develop Coconut Dodge for PSP first, when so many other miniS developers have had success on the iPhone beforehand?
JM: Our first priority is finishing our music puzzle game, and since we were already into full production when it was cancelled, it made sense to use the code base to do something for miniS.
Secondly, the iPhone has a very high noise-floor, whereas the miniS category still has less than 100 games, and there was nothing like Coconut Dodge on miniS.
KR: There's a general feeling that the PSP platform is failing compared to the iPhone's massive success, what do you think about this?
JM: We think Sony have done a good job with miniS in response to the success of the AppStore. The level of support is very good, and there's the added bonus of miniS being playable on PS3.
To echo what Black Lab Games said on the pspminis.com forums, the miniS platform is the perfect balance of barrier to entry and quality.
KR: Do you have plans to port Coconut Dodge to other platforms?
JM: Not at the moment. We're focusing on our next miniS projects.
KR: How have you found the process of publishing?
JM: It's been exciting, and made all the more exciting by the people at Sony. We've been given all the help we could ask for, including the opportunity to write for PlayStation Blog, so it's been great.
JG: This is your first commercial game project, but you've been making Flash games for quite a while. How did the production schedule differ from making Flash games or other web projects?
JM: It was very different. Most of our Flash projects have been for clients with a me-too mentality. In other words we are asked to make games that directly copy mechanics of other games.
Despite looking like a simple game everyone has seen before, Coconut Dodge does have a unique combination of gameplay mechanics, which evolved over time. We couldn't have scheduled for that evolution, so we just had to keep going until things felt right.
JG: Did you hit your original target for the release of the game, or were there any setbacks?
JM: Having started development late in October, I naively thought we'd be able to release in January! Once we realised things were going to take longer, I estimated the end of March.
This is our first publishing experience, so I had to contend with rating the game with PEGI, managing the translation of store description text, organising testing of the game, as well as thinking about how we were going to promote it once we'd finished production. All these things alongside designing the levels and trying to finish a very ambitious Flash project in parallel too!
This was all very challenging, and put us back by about two months in total.
KR: If you could make the game again what would you do differently?
JM: With the experience we now have in terms of the processes for publishing, we'd definitely have a clearer schedule mapped out, and we'd spend a little more time up front designing the game on paper before forging ahead with development.
JG: How did you find working with Sony from a programmer's perspective?
RJ: Sony has a private forum for developers, which represents a pool of information going back several years. At any one time you can pick the brains of current developers and the Sony programming support staff. Over the last year Sony have also been working hard with their software partners to make sure development on the PSP is better supported for both Windows and Linux users. Recently integration into Microsoft Visual Studio has become much more intuitive for example, and free to all registered developers.
JG: What advice would you give to someone familiar with C or C++ but unfamiliar with the PSP SDK?
RJ: The PSP SDK is the platform support documentation for an entire computer architecture; essentially three or more processing units along with the software libraries and infrastructure to make them work.
That can be a bewildering amount of information at first glance. My advice would be to get your development environment set up via the documents available then head straight for the Samples directory! Having a main.c and some basic graphics up on screen will make further development easier, and give you a springboard to start developing your ideas. If you have never developed for a console before you should also look up the TRC (technical requirements every game must pass) and factor it into development from the beginning.
JG: How did you find the support from Sony?
JM: The support team were great actually. The majority of our support tickets were answered within just a few hours.
We also took advantage of the free technical training available to all registered developers. We spent a day with five of Sony's engineers at Sony's London headquarters, which was very helpful.
DB: What tools did you use to create the graphics in the game?
JG: Flash, Illustrator, Photoshop and After Effects.
RJ: We also used Blender, an open source 3D package, which is my first port of call if I want to create actual graphics in-game.
It can export to every format under the sun, including Targa with auto-transparency. And it's free!Continuing with free software we also used GIMP, an open source alternative to the likes of Photoshop. It has the best format handling capabilities in the business - and happens to handle the sort of formats used on the PSP without error.
Other tools like PPFonter was used for creating bitmap fonts, and PaintShop Pro for dealing with things like dithering, also proved invaluable.
DB: How did you find creating graphics for the PSP compared to web projects?
JG: Creating the graphics for coconut dodge was a real change from dealing with graphics for web use.
The process was actually much closer to producing an animated piece. Sprite animations were taken from Flash as animated SWF files and imported into After Effects to be positioned and scaled. The sequences were then rendered out as TARGA sequences and had to be in powers of two (4, 8, 16, 32, 64, 128 etc).
All sprites then had to be run through GIMP which gave every frame of the animation the same anchor point.
I was also responsible for the in-game typography which was a lot of fun. I was obviously inspired by Outrun with its sunset style gradient. We felt it was a good fit for Coconut Dodge as it's an arcade game with an equally sunny setting.
JG: What tools did you use to create the sound effects and music in the game?
DB: I used Cubase for composition with the Kontakt 3 sampler for pretty much everything except the organ line and bass, for which I used the Yamaha SK30!
JG: The game music is very catchy, how long did it take to write?
DB: Actually it wasn't written for the game. James pinched it from a collection of tunes I was writing for a band...
JM: Dan subconsciously wrote it for Coconut Dodge :p
JG: After working on the game for several months listening to the same music loop, does the Coconut Dodge theme now drive you crazy?
JM: No, a tune needs to hold up to repeated listens when the context of the game remains constant like Coconut Dodge.
You need a tune that can keep you whistling along whilst remaining subtle enough not to detract from the action when things get hectic.What's more, if you can compose a tune that sticks in your mind when you're not playing the game, it makes you want to return to the game just to hear the music.
What, no game design questions?
JM: We've decided to link directly to the article on PlayStation Blog, which describes how the game was evolved from our very first Flash game into something worthy of publishing in the miniS category on PlayStation Store.
You can read it here: From Flash to PSP™