Pages

Saturday, March 17, 2012

Cocos2D and PlayStation Suite

Some of you might already know the full details of this new Sony initiative (even though this Cocos2D inspired library might have slipped by too quietly), but if I had to make a short summary for the developers not working on iOS and Apple's tools (Xcode and Interface Builder), I would say... "somebody who cares about games and UI's landed on Android".

Albeit with the sacrifice of not allowing native code and being currently forced to use a Garbage Collected programming language and runtime (with the non deterministic stalls it brings with it), I have to admit that Sony Computer Entertainment (SCE) has developed something special and with so much potential to be a game changer on Android as well as other devices particularly thanks to the higher and higher performance improvements each new model introduces. Something can be done on multi-core devices to reduce the performance issue with a Virtual Machine and a Garbage Collector for example.
Unless you have a pretty much standardized architecture approach like Apple has with its iOS devices though, letting developers play with native resources or require specialized code for each supported device and its "quirks" has some very negative effects on how portable that codebase is and when you have to deal with OS and API fragmentation and wildly inconsistent performance characteristics this becomes an even bigger issue for developers, especially smaller studios. Sure, "breakneck pace of innovation" is an often used word to deal with Android OS's development, but I personally also hear "fragmentation, fragmentation, fragmentation", I hear "good luck finding enough actual devices running that OS version and allowing you to fully use those new API's", and I hear "cannot stop fixing all bugs, gotta work on a new feature now".

Sony decided to approach the problem
of advanced portable games and applications from all angles: portable
Virtual Machine (Mono.Net) + high level programming language (C#) + brand new tools (custom MonoDevelop IDE release, new UI layout tool) + game optimized frameworks and system API's + new UI software stack.
I have got to say that it seems they have looked long and hard at what
the problems were, what tools are currently best in class at attacking
them, and decided to use this accumulated knowledge to shape this new
platform's DNA.

Sony's own Interface Builder-like UI layout tool

It is the first time since the PlayStation 2 Linux program that I see SCE this much dedicated to an open source initiative that widens the reach of PlayStation platforms (and it is not limited to them) beyond the closed circle of large professional studios. Even before killing it due to security concerns and the cost of maintaining such an effort with a relatively low Return On Investment, the Linux efforts on PS3 seemed really incomplete. Beyond a neat platform to help developers learn how to use the CELL processor and test code quickly on it, I really saw little done with that platform that interested me and Sony did not seem interested in allowing the community to do much more with it either.
Along with a pretty nice list of high level and lower level components, covering things such as Audio processing, gamepad and touchscreen handling, motion API's, etc... I was very impressed to see what they are offering (all open source too) to game developers coming from other platforms, namely all the developers already experienced with a kick-ass first-in-class 2D framework such as Cocos2D.

When I think about a portable 2D framework inspired by Cocos2D and specifically conceptually similar API-wise to Cocos2D, I am not happy just because it is a good framework and a framework I have been accumulating more and more experience with, but because of the awesome tools and open source middleware that the Cocos2D community has built so far. I am especially excited about the possibility for Cocos2D to be ported to PS Suite and for awesome tools such as Sprite Helper, Level Helper, Tiled, and Texture Packer to help developers create amazing content on PS Suite too.

You can see its Cocos2D roots right there...

and there (it seems a 2D physics engine like Box2D or Chipmunk will be available too)

Let's be frank, I know I am always full of praise for those tools, but I believe one of the biggest challenging in making a game is the content pipeline: getting the contents produced by the artist to shine on device and allow the level designer to quickly test his or her ideas inside the game is a task these tools do provide a massive help with. We developers are constantly asking for more though and it is nice to see their authors so engaged with their software and the community around it.

1 comment:

Hay, Do you find any computer game or Game Device? you can visit this site to view an new game to play in your computer. Carton Game, mission game, playstaion game are available there. Please visit this site and choose a game and enjoy it.PlayStation