I have been following RIM’s Gameplay 3d engine for some time now and they have been improving it at a pretty impressive rate. Well, they just announced the release of version 1.5. If you’ve never heard of Gameplay, it is a cross platform mobile game development kit written in C++, but scriptable in Lua.
Gameplay3d currently supports the following targets:
- BlackBerry 10 and PlayBook 2.0 (using BlackBerry Native SDK)
- Apple iOS 5.1 (using Apple XCode 4.3.2)
- Google Android 2.3+ (using Google Android NDK, SDK API level 9+)
And can be developed using the following platforms/compilers:
- Microsoft Windows 7 (using Microsoft Visual Studio 2010)
- Apple MacOS X (using Apple XCode 4.3.2)
- Linux (using CMake or CodeBlocks 10)
As to what’s new in 1.5:
- Linux support. (tested on Ubuntu 12)
- CMake support for makefile generation for Linux.
- CodeBlocks 10 IDE support for Linux.
- Gamepad controllers support for desktops.
- Touch gesture support for tap, swipe and pinch.
- Vehicle phyics support via new PhysicsVehicle and PhysicsVehicleWheel classes.
- Adds new racer sample (sample06-racer).
- Adds gameplay-tests project as a test app for various basic engine features with some initial tests.
- Adds support for Scene files for wildcard identifiers.
- Adds Visual Studio Plug-in support for BlackBerry PlayBook and BlackBerry 10.
- Adds configurable multi-sampling anti-aliasing support.
- Adds updates to latest FBX SDK 2013.3.
- Adds file formats documenation for game.config .scene, .material, .animation, .physics, .particle
- Adds Game/Platform::canExit for testing device capabilities to quit. (only ios)
- Web community forums at http://www.gameplay3d.org/forums.
- Changed keyTimes from unsigned long to unsigned int. (breaks compat. in AnimationTarget and Animation::Channel)
- Fixed inconsistencies from Bundle::getObjectID() to Bundle::getObjectId() (breaks compat. in Bundle)
- Fixes the texture coordinates of Mesh::createQuad(float x, float y, float width, float height).
- Fixes line-wise distortion when loading RGB png's into texture that are non-power of two.
- Fixes inconsitencies in createXXXX methods. (breaks compat. in Scene)
- Fixes Rectanngle::contains.
- Fixes Lua print logging.
- Fixes Lua errors to be treated as runtime warnings.
- Fixes setVertexData to pointers instead of constant data.
- Fixed AudioSource so that it doesn't loop by default.
- Fixes minor UI scrolling issues.
And what’s in the works:
- AI Pathfinding
- Terrain and Water
- Asset Pipeline improvements
You can download Gameplay on Github. For a quick guide on getting started check here, it’s a bit old but should still be mostly relevant.
Good work Gameplay team!