Sunday, November 25, 2012

PSVita Adventures - Part 1

I've been messing around with Sony's PSM SDK for the past several months. Despite not having much work experience with C# and the DotNet platform, I have to say that it is a very comfortable development environment.

I first started checkout out the sample projects and the documentation that gets installed in my computer. They are all pretty good, props to SCEE for giving us developers a great SDK and starting samples. Those things helped me getting started pretty fast.

My first real project was a 3d Card Matching game: Chemical Memory Challenge (CMC). Unfortunately, it is still a work in progress. Thanks to all the people that contributed to the project. You all know who you are :)
Most of the development for CMC was done while PSM SDK was in Beta. Since last week, version 1.0 is available. One can even upload games to Sony's PlayStation Store. Though, you need to be approved by Sony in order to do so. I'm still waiting for my approval.

After thinking about the possibilities, and idea came to mind. My good friend Sebastián García has been developing C# based games for some years now. His framework is compatible with APIs such as SFML and OpenTK. This guy is awesome.

So the idea was: Let's make his gaming framework PSVita-compatible.
Then, when I get my publishing approval, we'll get one of Sebas games in there :)

I proposed my idea to him, talked it over, and was pleased when he accepted the offer.

We did some Skype sessions where he would walk me through his gaming framework (SebaTools) and its architecture. There is a lot of thought into that, I was very pleased with what I saw.

My current status is that I'm adding PSVita support to SebaTools and it's games.

It doesn't look to be that hard, actually. The main problems I've been having so far have to do with Mono not having all the features available in Windows. No surprise there.
Classes like System.Diagnostics.Debug have fewer functions, System.Console and System.Diagnostics.TraceListener are non-existent. Stub classes have been created to deal with this issues, and in some other cases, Platform dependent conditional code has been added to SebaTools.

My goal is to have PSVita support ready in the next two week, though it can be a challenge to find time to be in front of the computer for long periods of time.

Until next post.