Friday, February 8, 2013
Yep, that's my game intro screen running on the Vita. I have spent the past couple of days porting my 2D game engine to PlayStation Mobile.
The PSM platform is C# based, so it was a really good match for me. Even though PlayStation Mobile uses MonoDevelop and I use Visual Studio, the two environments are assembly-compatible and I can still do the bulk of my work in Visual Studio and mostly just use MonoDevelop as a means for final deployment.
The hardest part of the process was getting the drawing code working. PSM provides a pretty low-level graphics interface, so it took me a while before I had my first triangle onscreen. When working with a new graphics api, the first triangle is always the hardest. There are a million different reasons (matrix transforms, shader issues, culling, bad vertices, bad indices, etc.) why your triangle won't render. Once you can see something, you can fix what is wrong. When you can't see anything you don't have much to go on.
After getting my first rendering working, the next step was sprite batching. PlayStation Mobile provides a batching implementation, but it is integrated with a higher-level scene interface. That is a great help to people who are doing new game development, but for someone like me who already has a game engine that I'm trying to put on top of PSM it doesn't work. Fortunately, I've written sprite batching systems before, so it wasn't too much of an obstacle.
Then it was off to the races. Input was easy. I've already integrated with multiple touch systems, so PSM touch input went in smoothly. I haven't done buttons/thumbsticks yet, but I don't anticipate too much of a challenge. Sound was easy - the PSM audio interface is clean and exactly what you look for.
I started working with PSM yesterday, and I had my first game (my ubiquitous test game "Sokoban for Beginners") running in the simulator this afternoon. With that validation, I pulled the trigger on a PlayStation Mobile publishing license. After a few hours and a bit of messing about with publishing and application keys, I had a game running perfectly on my Vita.
Look for some "Ascent of Kings", "Quiet, Please!", "Kung Fu FIGHT!" - and just maybe a bit of "Tunescape" and more speculatively some "Block Zombies" on a PlayStation Mobile device near you.