Some say the best developers code well because they optimize for their own laziness. They’ll invest time up front to automate a repetitive process, or extend existing code that gets them part way to where they want to be. In truth, most also struggle with the demon of NIH—Not Invented Here—because building something from the ground up scratches a programmer itch. It’s a fine line.
As the popularity of mobile devices has grown (exploded, actually) and mobile applications capture more and more eyeballs, competitive pressure is forcing more aggressive timelines. Many developers are leveraging game and application engines to speed time to market. As added benefits, these frameworks often simplify cross-platform development and reduce QA time as well.
In fact, ever since the original Kindle Fire was released in November of 2011, various game and application engines have been adding support for it. There are now several that enable building apps for Kindle Fire, can package them for the Amazon store, and provide direct support for Amazon services such as GameCircle and In-App Purchasing. I’ll list a few here and point you to more information for each, but first let’s mention their primary features and common benefits:
- 2D and 3D game development environments
Some game engines include sophisticated modeling environments that do the heavy lifting of code creation in the background, allowing you to concentrate on the story and game mechanics. They provide shortcuts to common patterns used in popular genres such as side-scrollers, puzzle games, and shooters.
- Cross-platform simultaneous development
Engines can help you create apps for multiple platforms simultaneously, automatically generating platform-specific code as the app is designed. In many cases, all you have to think about is how your game will appear at the various screen resolutions available on different devices.
- Ease of service integration
Most engines have plug-ins or extensions designed to allow easy integration of services like Amazon GameCircle, Insights, and In-App Purchasing. These service APIs can be pre-configured and included automatically when an engine-based project is built, so they don’t have to be added in a separate step.
Cocos2d-x (http://www.cocos2d-x.org) is a free, open-source 2D game engine based on C++. It supports multiple platforms, including Kindle Fire and iOS devices. A GameCircle extension to Cocos2d-x is included in the Amazon Mobile App SDK, simplifying integration of leaderboards, achievements, and Whispersync for Games into your Cocos2d-x projects.
For more information about our Cocos2d-x extension, see Amazon GameCircle Cocos2d-x Extension.
Corona SDK (http://www.coronalabs.com/products/corona-sdk/) is a 2D engine that allows developers and hobbyists to create games, as well as apps of other types, such as business, utility, education, productivity, etc. Using Lua, you can build and package apps for Kindle Fire, Android, iOS, and Nook using industry standards like OpenGL and Facebook APIs. Corona Enterprise SDK adds support for Objective-C and Java.
For more information about using Corona SDK with Amazon Kindle, see Signing and Building — Kindle Fire.
Unity3D (http://www.unity3d.com) is one of the most widely used and highly regarded 3D game engines for targeting mobile, web, desktop, and dedicated hardware such as smart TVs, set-top boxes, and consoles. Recently, Unity announced that Android developers can build games and apps with their engine for free. Unity includes a powerful 3D rendering environment featuring modern graphics and animation, and the Amazon Mobile App SDK includes Unity3D plug-ins to support GameCircle and In-App Purchasing.
Many more game and application engines are available in addition to the ones listed above, some supporting Amazon services and Kindle Fire devices. Check your favorite engine for more information.
The engines are running… the green flag is up… Go!