Saturday, March 23, 2013

GamePlay Engine

I came across GamePlay engine a while ago. It claims to be easy to pickup for people who have worked on cocos2d-x or similar libraries. I doubted that claim and was too full of myself to give it a go. After all i already have a class for loading 3D models in cocos2D-x.

Over the weekend i wanted to give it a go just to get a feel for how things work in GamePlay engine. Im' happy to report that It was pretty awesome and would definitely give it a go if i had to pick up a free 3D engine to work on a game.

There were a few things that threw me off though, took me a while to figure out what was going on..
my first hurdle was to fix the Xcode projects..

The missing Frameworks?
So the projects were all the basic stuff required for an app but the xcode projects from GamePlay were showing them as missing... so basically i just had to drag drop them from finder window to the project tree. Easy but lost a lot of time trying to figure this out, Basically lack of documentation / troubleshooting documents.

The best thing about the engine is that you can directly import collada(.dae) files to the scene by converting them to ".gpb" gameplay binary. This is done using "gameplay-encoder" tool. The thing is you have to spend some time trying to understand the samples provided with the source code. I quickly realized that i had to look at the samples and analyze the code rather than searching online with weird questions. I have really not checked the forums but i would definitely look at the samples before even looking elsewhere.

The UI can be created in a pretty straightforward way, just specify the control type, location, alignment etc. The usage is simple once you figure out the syntax and get used to the Framework. The one thing i struggled for in this mini project was figuring how to set the light and the material of objects.

The awesome Rotating Cube
The scene is easy to setup, accessing different nodes in the scene based on their name is easy and so is setting their properties. Importing material data is one painful thing right now, which i hope will be fixed soon. As per actual game to be made, with the default physics integration it should be easy but i can imagine it not being as easy as say.. using unity for doing the same. The engine does support lua scripting .. which im' still yet to try.