I'm a professional game developer from Wakefield, England, working as a senior programmer for Rebellion North.
I'm a married father of five and I a also sometimes do Retroburn stuff.
Martin 'Bytrix' Caine
Father. C++ Games Programmer. Cyclist. Guitarist.
emailfacebooktwittermessengersteamxboxliveretroburn
Tags
2013 3d alphalabs amazon apple archivirtual asynchronous battlefield bad company 2 ben 10 bepu beta blackmagic design blog blue marble bootcamp borderlands bsp calibration charity charvel childsplay comments competition content tracker counter-strike crash csgo css3 cycling dear esther deferred deus ex develop conference direct x discipline documentation doom 3 bfg dpi dr bott eidos elite force email deliverability eurogamer expo facebook focus fresnel game development game horizon game republic gamedev games gaming geoip girls make games global offensive grid guitar half-life 2 hawken hd7 hobbyist htc humble indie bundle imac indie indie trials indietrials intensity pro ip-countryside iron man 3 jamulus rift jquery kids kinect launch conference left 4 dead live lost mac mac osx manchester manhacks mass effect 2 matrox maya minecraft mirrors edge montreal morrowind movies museum of the microstar music mxo2 mini mysql nausea network networking nokia normal mapping obj oculus rift omnitrix ouya pedal for pounds php physics playstation suite port25 portal portal 2 positron posters powermta project aedra project euler promotion properties proton pulse ps vita ps4 psn racer reddit rendering retroburn game studios reviews rift racer riftracer roadkill roller coaster sdl2 shadow racers sharks shoct skyrifters snds space cadet spam trap star trek steam stencyl storage super stock sd1 fr superhot team fortress 2 tesselating tesselation texture editor thunderbird thunderclap ticktock games tiga track builder track bulder trials tv twitter uk ultimatrix usergroup vequencer video vireio visual assist visual studio vorpx voucher vr vr cinema war thunder warren web willow windows 8 windows 8.1 windows phone 7 workbench wp7 wp7dev xbla xblig xblig network xbox xbox live indie games xna xnaukug xperia play zombies on the holodeck
Archive
Links
Web
XNA
Games
Email Deliverability
Thursday, December 29th 2011 / XNA

From XNA to PlayStation Suite

Many months ago, way back in May I first heard about the PlayStation Suite, a new initiative from Sony to open up development on their platforms to a wider audience in a similar way to what Microsoft have done with XNA.

I then heard almost nothing about it for 6 months until in early December I found out there was a closed beta of the new PS Suite SDK about to launch so I signed up to have a play with it. A few weeks later I received my access and have had a good few days playing around with the SDK and thought I'd make a short post to talk about my experience using the SDK thus far.

Please note that currently PlayStation have not officially announced which platforms will support PS Suite, though it's expected that all Android devices which carry the PlayStation Certified badge will be supported (Xperia, Sony P tablet, PS Vita). This is also a beta product and there are undoubtedly going to be changes made before the SDK is released to the general public.

First, the SDK is a pretty hefty download (hundreds of MB) but the installer is well written and is literally a one-click process (it actually installs many apps step by step but for the most part works automatically). The most interesting part of installation (from an XNA guys point of view) is seeing it install the .NET Framework and MonoDevelop. I was already aware that the SDK was geared towards C# programmers and now I understand how it all comes together on the Android systems, and potentially on the PS3 too.

Loading up the documentation first gives us a nice API reference and we can see there are a whole load of samples included which cover all the basics of each API function. I always find looking at small samples like this the best way to learn how libraries or new APIs work and the samples provided are very minimal containing only the code required to get certain functions to work so it's very clear how to use the new API.

Loading up the PS Suite opens up a MonoDevelop window. I've never actually used Mono or MonoDevelop but it only took me a few minutes to get in to it and it's obviously based on the design of Visual Studio to help users migrate between products. I now proceed to create a blank PS Suite Application and start looking at some code.

The first thing I notice is how similar this looks to XNA, there's Main, Initialize, Update and Render (Draw) there right from the start which will be familiar to any XNA dev (and is pretty much standard for any platform really but with this also being C# it really looks very similar to an XNA project). As I start to look through the samples and start hacking together a little demo of my own I start to notice more and more similarities between PS Suite and XNA such as the naming of namespaces and inbuilt classes and structs which seem to be conveniently named in a similar way to how they are in XNA. I know it's obvious, but Sony have really tried to design this SDK with the intention of poaching devs from other platforms and want to make it as easy as possible for them to jump across to the PS Suite.

I can't go in to much detail about how the whole thing is put together due to the license agreement that comes with the SDK (not allowed to show tools, code, or programs made using the SDK) but suffice to say, in just two days I managed to port an entire XNA game to PS Suite with minimal fuss. The largest difference between the two will probably be the graphics pipeline since PS Suite uses OpenGL ES2.0 but the SDK provides plenty of high level functions which are comparable to what XNA provides which for example make it easy to set up VertexBuffers and render meshes and models with ease.

The emulator is relatively basic but works just fine and lets you run and debug your creations but I haven't yet figured out if we can deploy to any devices (since I can't get any devices to be recognised by MonoDevelop and I own an Xperia Play). I'd love to test my game on the phone to see how it performs, I have infact already begun development of an Android port for this game but due to the range of different spec Android phones it's more complicated as you have to (or should) support older models too. Atleast with PS Suite it's a single executable (or atleast a single code base) which can then go and run on all compatible devices all of which share a common (more or less) specification.

If I was to compare XNA directly to PS Suite I'd say XNA is probably still friendlier for noobies as it provides a lot more high level functions for common game related functions but as I said PS Suite is still in beta so could be fleshed out much more prior to release. I'm looking forward to seeing where PlayStation takes PS Suite and if they can make it worth developers time to bring their games over to the platform. Please also note that there is much more to the PS Suite, there's a whole UI API which I've not touched for developing apps (similar to what you have on iOS or SL for WP7), I'm a game developer first and foremost so I've not needed to touch the UI API yet.

Before I go I thought I'd also leave a note for any iOS or Android devs out there looking at PS Suite. Since I have experience working on all these platforms I would say that the massive similarity to XNA is obviously going to draw in XNA devs to PS Suite but Android and iOS devs should be able to get up to speed with PS Suite quickly too as technically the platform itself is closer to their own, especially if you're used to OpenGL graphics on either of those platforms. I also know I'm biased having been using C# and XNA for a few years now but in general I find hacking things together much easier in C# than I do in C/C++/Java on the other platforms. It's a very nice language and above all the tools (Visual Studio and MonoDevelop) are very mature and easy to use. I often get frustrated with Xcode and Eclipse but again perhaps that's just my preferences.

I'd recommend any budding game developer to jump on the opportunity to get started with PS Suite straight away. With any kind of new venture like this it really does help to be on-board from the start and currently there only seem to be a handful of devs actually spending any time working with the SDK. For any XNA devs out there I would seriously recommend you check it out as porting an XNA game over should be relatively simple. It's taken me 3 years (on and off) to write my XNA engine, and yet it only took two days to port the majority of it to this new platform since very little was platform specific (rendering, audio and controls mostly). At least just sign up so you have access, even if you don't do anything with the SDK at this point in time.

Unfortunately I'm not permitted to post any public screenshots or videos of anything I'm working on (this is a beta product) but if you sign up as a participant you'll have access to developer-only forums where I'm going to post some media for fellow devs to check out. Here's the link to sign up to the closed beta:

http://www.playstation.com/pss/closedbeta/index_e.html

[update]
I managed to get my game deployed to the Xperia Play, turns out I just needed to enable USB debugging (again, had it switched off for some reason) and it deploys just fine now.

If you found this post helpful please leave a comment below:
 
Comments
Guillaume / 2011-12-29 13:40:09
Hi! Very interesting article!

That's too bad that the closed beta seems to be limited to US/UK/Japan (those are the only choices in the form).

Guess I'll have to wait for a 'french' choice :/ I don't want to send wrong info in the form.
Erick / 2011-12-31 01:36:24
Fantastic! As Microsoft, Sony is discovering that lure devs and customers from other platforms is good business
A rahman / 2013-01-23 13:58:43
Nice article
3