Beginners guide into game development using the
Gameplay3D game engine framework


Gameplay3D is an open-source, cross-platform, 3D engine that is aimed at supporting indie game developers who want to develop desktop and mobile games.
Gameplay currently supports:
    BlackBerry 10 and BlackBerry PlayBook 2.0
    Apple iOS 5.1 for iPhone and iPad
    Google Android 2.3+
    Apple Mac OS X
    Microsoft Windows
    Linux

Unofficially it also supports more because it’s open sourced.
IE: linux ARM devices like openpandora, the Linux single-board computers like the Raspberry Pi, beagleboard, Arduino etc and phones like the Nokia N9 & N900
Windows phone support has been done by somebody in the community.

Gameplay3D is mainly targeted at mobile devices and this is the lowest common denominator.
This means no advanced GPU features like dynamic shadowing, geometry shaders etc.

On the up side, Gameplay3D has a flexible interface for mobiles/tablets already built in!
This includes virtual gamepad (joysticks and buttons), gestures and basic User Interface (forms/tick boxs/radio buttons/buttons/sliders etc) - see all the features on their site.
Some game engines which target mobile do not implement these, leaving the developer to reinvent the wheel!

Below are some images from Gameplay3D samples:
Mobile-UI.png
sample06-racer.jpg

Not in the samples:
demo-survive-shooter.jpg
Click to enlarge.

The engine is led by Sean Paul Taylor, sgrenier and dgough from RIM’s Blackberry.
With contributions from the community.
Obviously, the benefit for RIM is that they will hopefully get your game on it’s Blackberry devices too!
There is no requirement for the game developer to be on BB devices nor to advertise their engine.
However, there are minor parts of Gameplay3D which haven’t been completed for iOS nor Android while BB’s implementation is there.
For example gamepad support, here is the open issue listing.
I guess this is fair enough, as they don’t work for iOS nor Android so the community can step in and submit these.

The source code is hosted on RIM’s github
With two branches, master(Current release) and next(Future release).

It doesn’t have all the flashy bells and whistles of more larger game engines.
It currently has no editor (like Unity 3D), instead adopting the philosophy that the 3d creation tool is the game editor.
This means, you are relying on your asset creation package for assets but also scene (level) design/layout etc.
This is actually very intuitive and closer to how larger game companies create their levels using Maya (bigger companies develop their own tools & formats).

If you interested in Gameplay3D, here is a good video intro:

And also watch this GDC presentation by the creators for a lower level understanding.

Let’s start by looking at 3D asset creation.
[Read More…]