I’m Sean Paul Taylor, Team Lead for Gaming R&D here at Research In Motion® (RIM®). We’re very excited to announce the latest release of our open-source, cross-platform C++ game development framework – gameplay.
The gameplay project is contributed to and hosted on github.com by the two co-founders of the project, myself and Steve Grenier. We are focused on ensuring that the BlackBerry® 10 game development platform is at the top of its game and Steve and I, along with a team of top-notch graphics and game developers here at RIM, will be diligently contributing to the framework and sharing with the community.
My vision and goal with gameplay is to contribute and share outwardly our expert knowledge of advanced graphics and game technologies. Not only has my team been busy porting all the leading open-source game technologies for BlackBerry, but we have been having a ton of fun too!
In the past, I have worked on previous research projects using advanced rendering technologies like deferred shading, post processing and scene graph rendering. We see a roadmap where the mobile and pc/console gaming worlds converge and we are working hard to take BlackBerry gaming to the front of the lines.
The gameplay project is a contribution that is directly targeting the indie game developer ecosystem. We realize developers want to easily target as many platforms as they can to monetize and we want to help you do this… If you are familiar with other popular open-source 2D game engines like cocos2d-x and now want a high-quality 3D solution, then gameplay might be exactly what you are looking for!
Current features in gameplay
- Written completely in C++ and well documented using doxygen.
- Solution and workspaces for Visual Studio 2010, XCode 3.2.1 and Momentics IDE’s.
- Platform-Game abstraction layer separating all operating system code from game engine code.
- Input system support for Mouse, Keyboard and Touch.
- Full vector math library with classes for Vector2/3/4, Matrix, Quaternion, Ray, Plane. Also Frustum and BoundingBox/BoundingSphere classes for object culling.
- Solid OpenGL 3.2+ (for Desktop) and OpenGL ES 2.0 (for Mobile) based rendering system with classes for RenderState, FrameBuffer, Mesh, Material, Effect, Pass and Techniques.
- Easy-to-use and efficient Font and Sprite classes.
- Scene-graph components such as Scene, Node, Light, Camera and Model.
- Binary encoding tool for creating optimized bundles for loading TTF fonts and 3D game assets supporting both COLLADA and FBX formats.
- Extensible animation system with classes for Animation, AnimationClip and Curve with built-in AnimationTarget’s on Transform and MaterialParameter’s classes.
- Complete 3D audio system with additional support for compressed audio using OGG and supporting HDMI gaming.
New features in gameplay v1.2
- Newplatforms now supporting:
- BlackBerry Tablet OS 2.0 and BlackBerry 10 ready!
- Apple iOS 5.1 for iPhone and iPad
- Google Android 2.3+
- Microsoft Windows 7
- Apple MacOSX
- New shader-based material system with built-in common shader library.
- New declarative scene binding.
- New declarative particle system.
- Improved physics system with rigid body dynamics and constraints.
- New character physics and ghost objects.
- Improved animation system supporting animated skeletal character animation.
- New declarative user interface system with support for declartive theming and ortho, and 3D form definition with built-in core control classes such as Button, Label, TextBox, Slider, CheckBox, RadioButton. Also includes Layout classes such as Absolute/Vertical and FlowLayout.
- New cross-platform new game project wizard scripts.
- New game developer guide.
- New game samples and tutorials.
Survive Demo Game (in progress)
The ‘next’ feature branch for v1.3, v1.4, v1.5
- Optimizations and Performance improvements
- Terrain and Sky
- Gamepad input for Wii, Xbox 360 and Bluetooth® HID controllers
- Scoreloop Social integration
Check out the code and samples at our BlackBerry Github page and let me know what you’re working on.