In this edition, the team behind Zattoo explains how they approach app design for the living room experience, and how building a native app with a single codebase for both mobile and TV has been advantageous for them. They also discuss how they are using Login with Amazon and Amazon’s in-app purchasing to drive registrations and monetisation. All this has driven their results on Fire devices to surpass their expectations. Zattoo distributes live television and catch up services through the Internet to connected devices. Thanks to its rapid penetration in Germany, Switzerland, and other European countries, it is now the largest Internet TV provider in Europe.

The new line of Fire tablets set an entirely new standard for low-cost tablets, with the Fire 7’’ Tablet being sold at less than $50. Amazon has already sold millions of tablets, so it’s a great time for you to submit your apps and games to the Amazon Appstore. In order to provide a great experience to users, the first thing you have to think about is the user interface (UI) of your app. Designing the UI and UX (user experience) of an app could become a very challenging and time-consuming task, but there are some simple steps that you can follow to make your app look great on the new Fire tablets. Also, keep in mind that Fire OS 5, available on all the new Fire tablets, is based on Android 5.1, so all the standard approaches to develop Android apps UI also apply to Fire OS apps!

In this post, we’ll deep dive into understanding screen resolution and density of Fire tablets, disclose the best strategies to properly create and size the layouts and graphical resources of your app, teach you how to provide a correctly-size app icon for Fire OS 5, and how to explicitly declare support for Fire tablets in your Android app manifest.

Publish your first app to the Amazon Appstore between October 1st – November 1st and we'll help you drive installs, monetize, and scale with a Success Bundle worth up to $700 including:

• $100 Ad Campaign with Advertise Your App

• Doubled Earnings on up to $500 with theAmazon Mobile Ad Network

• $100 in AWS promotional credits

Your Apps & Games on More Devices

The Amazon Appstore is preloaded on Fire devices, Blackberry 10 and millions of other Android devices, including certain HTC, LG, Motorola, and Samsung phones to name a few, as well as certain Samsung and LG tablets. Fire tablets expand that reach even further - just in time for the holiday season. App purchases typically surge by 50% Thanksgiving week, and 400% during digital week. And when customers unbox their new Fire tablet, what’s the first thing they do? Start downloading apps and games of course! Now is the time to develop a new app or bring your existing Android app to Fire tablets.

Want to Learn More?

Join us for a special webinar on how to make the most of the Amazon Success Bundle:

Amazon today introduced all-new Fire tablets, including a new 7” tablet that sets an entirely new standard for a tablet under $50. The new Fire tablets are designed from the ground up for entertainment with a 7”, 8” or 10” display, an incredibly thin and light design, quad-core processor, front- and rear-facing cameras, and up to 128GB of expandable storage. The all-new Fire tablets also introduce Fire OS 5 “Bellini”, which brings the best entertainment experience on any tablet, with an updated user interface, deep integration of Amazon-exclusive services, and hundreds of new and upgraded features and platform updates. Key upgrades and enhancements include:

Starting today, developers have the opportunity to participate in a Developer Preview of Fire OS 5, the next generation Android-based operating system that powers Fire tablets, Amazon Fire TV and Fire TV Stick. And because Fire OS 5 is based on Android Lollipop, we can make this update while preserving even more compatibility with existing Android apps than ever before. This means that even more of your apps should work on Fire devices with no additional engineering effort. There are several ways you can participate in the Fire OS 5 Developer Preview.

Participate in the Fire OS5 Developer Preview

To ensure your app is available to millions of customers on the next generation of Amazon devices, you can now participate in the Fire OS 5 Developer Preview. As an Amazon Developer, we’re offering you early access to Fire OS 5. You can now see your app running on a Fire HD 6 or Fire HD 7 tablet, and identify any app compatibility issues well in advance of our new Fire OS launch later this year.

Free Fire OS5 Compatibility Testing in 90 Seconds or Less

Amazon Testing Service is a free tool that allows you to test your app for compatibility on Fire and Android devices. We’ve updated Amazon Testing Service to provide feedback on your apps compatibility with Fire OS 5 and Android Lollipop. To test your app, simply drag and drop your Android APK into the App Testing Service on the Amazon Developer Portal homepage page. In about 90 seconds, you will get compatibility results for Fire OS 5 and Android Lollipop.

Want To Learn More?

Now is the time to get started. Check out the resources below to learn more about Fire OS5 and the Amazon Appstore

During the indie developer showcase, hosted by Amazon as part of Quo Vadis game conference during International Games Week Berlin, local developers shared with us their experience getting their games onto the Amazon Appstore, as well as useful tips for other developers.

Meet the Developers

German developerSlashGames creates high-quality browser and mobile games, as well as consulting in software development, software engineering and producing. For Amazon, they showcased Freudbot, a single player mobile game following a supermarket employee and giving him ‘good’ advice to overcome his problems.

Black Pants Studio demoed their game About Love, Hate and the Other Ones, a fun puzzle game in which, according to PR Manager Florian Masuth, you “influence your surroundings by the force of hate and the power of love [to] find a way through caves and ice, castles and factories”.

Berlin-based publisher Exozet implement popular board games, such as Catan, and have newly implemented Carcasonne for Fire TV as showcase especially for this event. Their premium and free-to-play games are available on all major platforms, from mobile over console to facebook and browser.

Amongst the developers we had Black Moon Design, hailing from near-by Poland, with their fast action, HTML5 game Aliens Attack which “runs really well on FireTV” according to founder Robert Podgorski. Inspired by C64 and classic sci-fi movies from the 60s, Black Moon Design’s mission is to bring fun to players’ lives.

Also from Poland are NowaHutaGames, who presented their game Rounded Strategy. Wanting to make strategy games accessible to everyone, NowaHutaGames target casual and mid-core players instead of the usual hard-core gamers. As a result, Rounded Strategy is a mobile-first strategy game with an extremely low entry point.

Unavailable for video interviews, but with great games nonetheless, were Mimimi Productions with their games daWindci, a highly praised 2.5D mobile puzzle game, and Ooops! Noah is Gone, inspired by the same-named animated movie in which the cuddly characters go on a great adventure and form genuine friendships. The 3-man team Studio Fizbin, focusing on story-based games and original and unique characters, worlds and tales, showcased their tablet game the Inner World, which won the Casual Connect “Indie Prize 2013”, amongst other awards. Finally, Hamburg-based Threaks presented their demo game Beatbuddy on Fire TV, though the game is not yet publicly available on Amazon devices.

Learn From their Experience

Echoed by all developers that we interviewed was the claim that launching on Amazon Fire TV was very easy. Porting their Android app onto the Amazon Appstore was “like a breeze”, explains Jakub Bladek from NowaHutaGames and adds: “We did it in an hour.” Black Moon Design had a similar experience; after adding Gamepad support, “all of a sudden it worked like charms”. Using the App Testing Service, Nick Prühs from Slash Games remarks that “it worked without us doing anything. […] We were live in an hour or two.”

For Black Pants Studio, apart from porting being easy, the showcase represented a first introduction to the Amazon platform: “Being approached by Amazon made us realize that for new games we canthink about putting them straight onto your store when we launch.” Similarly, Robert Podgorski from Back Moon Design points out that the Amazon Appstore is a valid alternative platform for Android games and adds that “Making games for Fire TV and seeing them on the big screen is really good, so consider that.” Linda Kerkhoff, developer at Exozet, seconds that and suggests that developers consider the living room as a new market to attract customers, as “it’s not such an effort to build the game from the device to the TV.”

Finally, Nick Prühs emphasizes the importance of having a good core mechanic. “What is really important is that youiterate very soon and very often”, Prühs explains, “make sure the core is fun and then iterate.” Jakub Bladek goes a step further. He admits that they screwed up their first version and therefore got two bad ratings, so his advice to other developers it to “be sure to have your first release finished 100%” before publishing.

The Game Developers Conference (GDC) is the largest annual gathering of professional video game developers providing a place for the industry to collaborate, network and share best practices for creating compelling game experiences. This year Amazon hosted a full Developer Day with sessions that covered building Android games for our full line of devices, Amazon Echo, Fire Tablets, Fire TV and Fire Phone, how to build better cloud gaming experiences, reaching fans with Twitch, and applying in-app monetization best practices based on Amazon's IAP data.

These sessions were previously only available to GDC attendees, and we’re excited to announce that we’ve made all of the Amazon GDC Developer Day sessions freely available online. Enjoy!

An Overview of the Amazon Devices and Services for Game Developers David Isbitski, Developer Evangelist, Amazon Alf Tan, Head of Games Business Development, Amazon Vlad Suglobov, CEO, G5 Entertainment An overview of Amazon's current developer ecosystem. Learn how you can take advantage of AWS services specifically targeted for Game Developers, Amazon's Appstore and the new line of consumer Fire devices like Amazon Echo, Amazon Fire TV, Fire TV Stick and Fire tablets, as well as monetization services such as in-app purchasing. Plus, hear how G5 entertainment has had success on the Amazon platform from G5 CEO Vlad Suglobov.

Top Tips for Porting Unity Games to Fire DevicesJesse Freeman, Developer Evangelist, Amazon In this talk, we cover important tips for porting Unity games over to Fire TV, Fire tablets and Fire phone. Through code examples, we'll demo how to support multiple resolutions for pixel perfect Orthographic and Perspective Cameras, abstracting player input to support keyboard, controller and touch, and optimization tips for C# for the best performance. We'll also show how to deploy to our devices and get your game up and running on Fire OS. You'll walk away knowing what it takes to publish to the Amazon Appstore and help expand your game's user base.

How to Evolve Players into FansPeter Heinrich, Developer Evangelist, Amazon We’ve analyzed the top mobile games to see what best practices make them stand out from the crowd. Several trends emerging now will amplify those best practices, and games will have more opportunity than ever to excel. In the future, the top games will have fully realized fan bases that will drive their user acquisition and engagement engines. That fan base will include players but also content creators, advocates and potential new customers — this will open up a wider range of monetization options. Hear more about how top mobile games drive greater engagement and revenue and learn how to you can do this with your own game.

Build and Deploy Your Mobile Game with AWS Dhruv Thukral, Gaming Solutions Architect, AmazonTara Walker, Technical Evangelist, Amazon Developing a successful mobile game today is about more than just the game: Users expect backend services like user authentication, downloadable content, and social features. Using our AWS Mobile SDK for iOS and Android, it’s easier than ever to build a game with these services. This session will provide a step-by-step approach to add features to your game such as user identity management, dynamic content updates, cross-platform data sync, and more. We’ll demonstrate how to use the AWS Mobile SDK to securely interact with services such as Cognito, DynamoDB, S3, and EC2. Finally, we’ll provide a few common architecture patterns and scalability tips for AWS game backends.

How We Made a Game No FunMike Hines, Developer Evangelist, Amazon There are lots of suggestions about how to make a game fun. Best practices are everywhere, but you can't just follow them blindly. To create a fun game, you have to figure out how best practices integrate into your specific game. Watch what we did wrong, and what we learned along the way.

Connecting with Your Customers - Building Successful Mobile Games through the Power of AWS AnalyticsNate Wiger, Principal Gaming Solutions Architect, Amazon Free to play is now the standard for mobile and social games. But succeeding in free-to-play is not easy: You need in-depth data analytics to gain insight into your players so you can monetize your game. Learn how to leverage new features of AWS services such as Elastic MapReduce, Amazon S3, Kinesis, and Redshift to build an end-to-end analytics pipeline. Plus, we’ll show you how to easily integrate analytics with other AWS services in your game.

Deploying a Low-Latency Multiplayer Game Globally: Loadout3:30pm-4:15pmNate Wiger, Principal Gaming Solutions Architect, Amazon This is a deep-dive straight into the guts of running a low-latency multiplayer game, such as a first-person shooter, on a global scale. We dive into architectures that enable you to split apart your back-end APIs from your game servers, and Auto Scale them independently. See how to run game servers in multiple AWS regions such as China and Frankfurt, and integrate them with your central game stack. We’ll even demo this in action, using AWS CloudFormation and Chef to deploy Unreal Engine game servers.

How Game Developers Reach New Customers with Twitch 4:15pm-5:15pmMarcus Graham, Director of Community & Education at TwitchErnest Le, Director Publisher & Developer Partnerships at Twitch Twitch is the largest live video platform and community for gamers with more than 100 million visitors per month. We want to connect gamers around the world by allowing them to broadcast, watch, and chat from everywhere they play. In this session, learn how game developers are creating engaging experiences and reaching new customers via the Twitch platform.

Amazon Fire TV Games on Twitch

Garnett Lee and Tyler Cooper hosted a steam during GDC this year on Twitch. The guys were joined by representatives from 2K games for XCOM: Enemy Within, Tellate for Game of Thrones, Ep. 2, Tripwire for Killing Floor Calamity and ended the night with Hipster Whale and a Crossy Road competition! If you are a gamer interested in seeing first-hand what the current batch of Android games looks like on the big screen be sure check out the stream here.

Ready to Submit Your App or Game?

For more information about getting started with the Amazon Appstore, Amazon Fire devices, or how to submit your game check out the following additional resources:

Amazon is hosting a Developer Day on April 25th at the Cross Campus in Santa Monica, California. Amazon Developer Evangelists will share industry best practices and help mobile developers learn how to grow their app business via the Amazon Appstore. Amazon technology leaders will be on-hand to answer developer questions and lead talks on topics such as building apps and games for Android devices, BlackBerry, Fire tablets, Fire phone, Amazon Fire TV, and how to build voice controlled experiences for Amazon Echo. Attendees will also learn best practices around how to make fun games and to market your game to influencers and build a fan base.

The format of the workshop will be split between morning lectures and afternoon “App Hours.” The App Hours will allow developers to get 1:1 support to publish and tests their own apps and games to the Amazon Appstore, guidance around building apps and games with Android, Unity and Xamarin, and hands on experience with the Amazon Mobile App SDK, Fire Phone SDK, Fire TV SDK and Amazon Echo SDK code samples. Developers will also be rewarded with Amazon gift cards for successful app submissions to the Amazon Appstore during the App Hours’ time period.

Agenda

Check-in and Breakfast9:30am-10:00am

An Overview of the Amazon Devices and Services for Mobile Developers10:00am-10:45amDavid Isbitski, Developer Evangelist, Amazon We will start the day off with an overview of Amazon's current developer ecosystem. Learn how you can take advantage of Amazon’s Mobile Apps SDK, Amazon's Appstore and the new line of consumer Fire devices like Amazon Fire TV, Fire TV Stick and Fire tablets, as well as monetization services such as in-app purchasing.

Building Spoken Language Apps and Experiences for Amazon Echo10:45am-11:45amDavid Isbitski, Developer Evangelist, Amazon Echo is a new device from Amazon designed around your voice. It's always on—just ask for information, music, news, weather, and more. Tucked under Echo's light ring is an array of seven microphones. When Echo detects the wake word, it lights up and streams audio to the cloud, where it leverages the power of Amazon Web Services to recognize and respond to your request. With the release of the developer SDK you can now build your own apps and experiences for Amazon Echo. This session will cover everything you need to know starting off with how to use the SDK, how to build your first app, and end with the app submission process.

Lunch11:45am-12:00pm

How We Made a Game No Fun12:00pm-12:45pmPeter Heinrich, Developer Evangelist, Amazon There are lots of suggestions about how to make a game fun. Best practices are everywhere, but you can't just follow them blindly. To create a fun game, you have to figure out how best practices integrate into your specific game. Come see what we did wrong, and what we learned along the way.

How to Evolve Players into Fans12:45pm-1:30pmPeter Heinrich, Developer Evangelist, Amazon We’ve analyzed the top mobile games to see what best practices make them stand out from the crowd. Several trends emerging now will amplify those best practices, and games will have more opportunity than ever to excel. In the future, the top games will have fully realized fan bases that will drive their user acquisition and engagement engines. That fan base will include players but also content creators, advocates and potential new customers — this will open up a wider range of monetization options. Come see how top mobile games drive more engagement and revenue and learn how to you can do this with your own game.

Break1:30pm-1:45pm

App Hours1:45pm-3:45pm Get 1:1 support to publish and test apps and games to the Amazon Appstore. Learn how to build apps and games with Android, Unity and Xamarin. Get hands on experience with the Amazon Mobile App SDK, Fire Phone SDK, Fire TV SDK and Amazon Echo SDK code samples.

Raffle and Wrap-Up3:45pm-4pm

Seating is limited so be sure to register for the event to reserve your spot. Hope to see you there!

Do you have an idea for a great mobile game? Have you been following Jesse Freeman's blog series on creating games for the Amazon Appstore? Are you looking for inspiration to finally dive in and get started?

Thanks to the folks over at Scirra, now is the perfect time to fire up Construct 2 and turn your amazing idea into a working game—without programming. Scirra just launched their Build a Game Challenge, which rewards game developers for submitting their Construct 2 apps to the Amazon Appstore. From now until April 1, 2015, you can earn up to $100 toward the purchase of royalty free assets available from Scirra, like graphics, animations, sound effects, and music.

Fast, Fun, Powerful

Construct 2 is a drag-and-drop game creation tool that makes it easy to build 2D games based on HTML5. No coding is required, so even beginners can get started quickly. Experienced developers will find it flexible enough to support demanding requirements like complex behavior processing, graphical effects, and specialized event handling.

Worldwide Reach with Amazon

Once you have created your HTML5 game with Construct 2, you can publish it to Amazon's Appstore and make it available to millions of players around the world. Your game will be accessible in 236 countries and territories, and will appear in our store right alongside the native Android apps there. (Learn more about publishing web apps on Amazon.)

Turn That Game Idea into Reality

Don't put it off any longer! Take Scirra's Build a Game Challenge and bring your game idea to life. You will have fun doing it and even earn rewards along the way.

Not sure how to get started? Stay tuned for our upcoming blog series on building a game with Construct2.

Amazon will be out at GDC San Francisco next month offering several opportunities to connect directly with you. Starting on Monday, March 2nd from 5:05pm to 5:30pm you can hear @MikeFHines talk about What Makes the Top 50 IAP Games Unique on the Amazon Appstore and lessons you can apply when generating revenue in your own games.

Then on Tuesday, March 3rd from 10am to 5:30pm we will be hosting an Amazon Developer Day covering games for Amazon Fire devices, how to build better cloud gaming experiences, reaching fans with Twitch, and applying in-app monetization best practices based on Amazon's IAP data. Technical evangelists from Amazon Appstore and AWS will be on hand to answer your questions as well as the Games Business Development team to discuss game promotion opportunities. We’ll also have devices for you to explore and test your games on, as well as a chance to win some Amazon Fire devices! Here is what the day’s agenda will look like. Click here to add a session to your GDC Scheduler.

An Overview of the Amazon Devices and Services for Game Developers 10am-10:45amDavid Isbitski, Developer Evangelist, Amazon Alf Tan, Head of Games Business Development, Amazon Vlad Suglobov, CEO, G5 Entertainment We will start the day off with an overview of Amazon's current developer ecosystem. Learn how you can take advantage of AWS services specifically targeted for Game Developers, Amazon's Appstore and the new line of consumer Fire devices like Amazon Fire TV, Fire TV Stick and Fire tablets, as well as monetization services such as in-app purchasing. Plus, hear how G5 entertainment has had success on the Amazon platform from G5 CEO Vlad Suglobov.

Top Tips for Porting Unity Games to Fire Devices 10:45am-11:30amJesse Freeman, Developer Evangelist, Amazon In this talk, we'll cover important tips for porting Unity games over to Fire TV, Fire tablets and Fire phone. Through code examples, we'll demo how to support multiple resolutions for pixel perfect Orthographic and Perspective Cameras, abstracting player input to support keyboard, controller and touch, and optimization tips for C# for the best performance. We'll also show how to deploy to our devices and get your game up and running on Fire OS. You'll walk away knowing what it takes to publish to the Amazon Appstore and help expand your game's user base.

How to Evolve Players into Fans11:30am-12:00pmPeter Heinrich, Developer Evangelist, Amazon We’ve analyzed the top mobile games to see what best practices make them stand out from the crowd. Several trends emerging now will amplify those best practices, and games will have more opportunity than ever to excel. In the future, the top games will have fully realized fan bases that will drive their user acquisition and engagement engines. That fan base will include players but also content creators, advocates and potential new customers — this will open up a wider range of monetization options. Come see how top mobile games drive more engagement and revenue and learn how to you can do this with your own game.

Catered Lunch 12:00-12:30pm

Build and Deploy Your Mobile Game with AWS12:30pm-1:30pmDhruv Thukral, Gaming Solutions Architect, AmazonTara Walker, Technical Evangelist, Amazon Developing a successful mobile game today is about more than just the game: Users expect backend services like user authentication, downloadable content, and social features. Using our AWS Mobile SDK for iOS and Android, it’s easier than ever to build a game with these services. This session will provide a step-by-step approach to add features to your game such as user identity management, dynamic content updates, cross-platform data sync, and more. We’ll demonstrate how to use the AWS Mobile SDK to securely interact with services such as Cognito, DynamoDB, S3, and EC2. Finally, we’ll provide a few common architecture patterns and scalability tips for AWS game backends.

How We Made a Game No Fun 1:30pm-2:15pmMike Hines, Developer Evangelist, Amazon There are lots of suggestions about how to make a game fun. Best practices are everywhere, but you can't just follow them blindly. To create a fun game, you have to figure out how best practices integrate into your specific game. Come see what we did wrong, and what we learned along the way.

Connecting with Your Customers - Building Successful Mobile Games through the Power of AWS Analytics 2:30pm-3:30pmNate Wiger, Principal Gaming Solutions Architect, Amazon Free to play is now the standard for mobile and social games. But succeeding in free-to-play is not easy: You need in-depth data analytics to gain insight into your players so you can monetize your game. Learn how to leverage new features of AWS services such as Elastic MapReduce, Amazon S3, Kinesis, and Redshift to build an end-to-end analytics pipeline. Plus, we’ll show you how to easily integrate analytics with other AWS services in your game.

Deploying a Low-Latency Multiplayer Game Globally: Loadout 3:30pm-4:15pmNate Wiger, Principal Gaming Solutions Architect, Amazon This is a deep-dive straight into the guts of running a low-latency multiplayer game, such as a first-person shooter, on a global scale. We dive into architectures that enable you to split apart your back-end APIs from your game servers, and Auto Scale them independently. See how to run game servers in multiple AWS regions such as China and Frankfurt, and integrate them with your central game stack. We’ll even demo this in action, using AWS CloudFormation and Chef to deploy Unreal Engine game servers.

How Game Developers Reach New Customers with Twitch4:15pm-5:15pmMarcus Graham, Director of Community & Education at Twitch Ernest Le, Director Publisher & Developer Partnerships at Twitch Twitch is the largest live video platform and community for gamers with more than 100 million visitors per month. We want to connect gamers around the world by allowing them to broadcast, watch, and chat from everywhere they play. In this session, learn game developers are creating engaging experiences and reaching new customers via the Twitch platform.

Mobile Ads Team at GDC

The Mobile Ads Team will be at GDC and has created a special offer just for attendees!

While attending GDC anyone who integrates the Amazon Mobile Ads API for the first time into their app or game will receive a $100 Amazon.com Gift Card.* The Amazon Mobile Ads API is easy to integrate and delivers highly-relevant mobile optimized ads from Amazon and brand advertisers ensuring a great experience for users. Members of the Mobile Ads team will also be on hand in booth #2429 to help you throughout the event.

Amazon Fire TV Twitch Broadcast

Then on Wednesday, March 4th we will be broadcasting live from GDC with a couple of special guests from 4pm to 7pm. The event is open to the public from 4pm to 6pm and you do not need to be a GDC pass holder to attend. Simply stop by the AWS Pop-up Loft on Market Street between 4pm to 6pm PST and join us in person for the Twitch stream.

We will be showcasing several new Amazon Fire TV games as well as interviewing the game developers who created them. Not at GDC? No worries, you will be able to watch the stream live on Twitch here from 4pm to 7pm PST.

If you’re a gamedev at GDC this will be a great opportunity for you to speak directly with Amazon Appstore, AWS and Twitch experts all in one place. Hope to see you there!

As the size of mobile apps get larger, and services and tools get more complex, they add more method references to our apps. Google Play Services alone adds 29,460 methods (reference). The result is that we are hitting the original design limitations of Android build architecture. Specifically, we hit the inability of a single Dalvik Executable file (dex file) to support more than 65K Method references. When that happens, your code will generate build errors and won’t run.

And a Few Methods More

When you compile your code and are short of the 65K limit, you may reasonably believe you don’t need to worry about this problem. That is, until you submit it to an Appstore. Most appstores, (the Amazon Appstore included), add additional method references as part of the ingestion process. If your code is ”too close” to the limit when submitted, your code may fail upon submitting to an Appstore after the additional references are added. This has always been the case. However, with the release of Android 5 (Lollipop) we have started seeing a lot more of these “too close” dex file problems. To help you avoid or work around this limitation, we have some suggestions below:

What Hitting the Wall Looks Like

You’ll know when your app references more than 65,535 methods because you’ll see an error something like this:

Or

If you see these errors, you can certainly address them before submitting to an Appstore. But even if you’re close, you’ll want to try some of these practices to stay comfortably away from “too close”.

How Close Are You to 65K Method References?

To find out how close you are to 65K method references, you can utilize a tool called dex-method-counts to get the method count and what is referencing them:

“Too close” will be different for each Appstore and each device OS, so there is no single correct answer. But Google sets max methods to 60K if Multidex is used, so you can be pretty sure that 60K methods is a safe number for newer Android devices. (Devices running older Android OSs may need that limit closer to ~55K methods).

Use ProGuard to Help Remove Unused Libraries

The first (and easiest) step is to remove as many unnecessary libs and methods as possible. To help in this task, you can use ProGuard (part of the Android SDK) with -dontoptimize –dontobfuscate in the configuration which will remove unused methods from the dex file during build time. (See this helpful blog post on using ProGuard by Crashlytics)

Using More Than One dex File

If removing unused libraries doesn’t work for you, you can try using the Multi-dex approach, which splits up classes.dex into multiple dex files.

There are few caveats to this approach however; the main one is the requirement to use Gradle. You may also find that it may not remove enough methods to go below the limit without performing a few extra steps which are outlined in the “Using the Multidex Library” section below. You can use the dex-method-counts tool referenced above to check the method count of your resulting classes.dex file.

Using the Multidex Library

With Android 5.0 Lollipop release, a new support library (android-support-multidex.jar) appeared in Android SDK ver 21.1.x and Android Support library 21.0.3. You can find it in:

\android-sdk\extras\android\support\multidex\library\libs. It contains two new classes: MultiDex and MultiDexApplication and simplifies the Multidex loading process. According to Multidex documentation (http://developer.android.com/tools/building/multidex.html) it does not provide additional functionality on Android 5.0, which already has built-in support for secondary dex files. Rather, on previous versions of Android, it allows additional .dex files from the APK archive to the classloader. The library allows the archive to become part of the primary DEX file of your app and manages access to the additional DEX files.

If you have any additional libraries in your project, be sure that you disable pre-dexing on them. Unfortunately the --multi-dex option is not compatible with pre-dexed libs.

You can do this by adding the example below to your app/build.gradle file.

Step #6

You have to configure build instructions to endure that your Multidex app is optimized for the Amazon Appstore and our ingestion process. As of this writing you have three options:

Option #1 – Manually create the main-dex-list file.

In app/build.gradle file we have to add:

There are two params:

--multi-dex - enables splitting mechanism in build process

--main-dex-list - file with list of classes which have to be attached in main dex file (we will address this one in Step #5)

To ensure your Multidex app will ingest and publish properly in the Amazon Appstore you should use the --main-dex-list param to put the following in the main .dex file:

Custom Applications

Activities

Services

Receivers

Providers

Instrumentations

Annotations

Option #2 – Ignore the multi-dex and multi-dex-list parameters.

If you are using studio 0.9.0+ gradle 0.14.2 and use the dx.additionalParameters to manually set the max number of referenced methods in your main classes.dex file, then the main-dex-list will be auto-generated and you don’t have to set the multi-dex and multi-dex-list parameters. It will look similar to:

Option #3 - Ignore the multi-dex and multi-dex-list parameters if you are using studio 0.9.0+ gradle 0.14.2 and let the build tools automatically limit the dx.additionalParameters parameter to 60,000.

This should work for most applications, however if you have a very large number of classes in your app you may find that you will need to manually set your max number to something less than 60,000 to have your app ingest properly in the Amazon Appstore.

Welcome to the final part of this five part series on making games for the Amazon Appstore. Part one, two, three and four helped you build the foundation for your game’s design and in this final post we will talk about how to actually market your game.

So you have finally finished your game and are ready to release it to the world. While there is a lot you can do after you have completed your game to help make it a success, you should always be thinking about marketing your game from the very beginning. The following section will help you with everything from naming your game to how to help it stick out in an overcrowded mobile store. While marketing a game is not an exact science, and its success has a lot to do with the quality of your game and pure luck, you can still take the necessary steps to ensure it gets the most attention possible out of the gate.

Naming Your Game

The name of your game is going to be the single most important decision you make. Companies spend huge amounts of money doing market research to come up with product names, and what you come up with for your game has lasting effects. The most basic thing you can do to help your game be more successful is to simply give it a descriptive name. Look at other games and how they came up with their names:

“Mario” – Named after the main character. While it doesn’t describe what you will be doing in the game, it helps establish the lead and his name defines the brand.

“Legend of Zelda” – The word legend implies a deep story told a long time ago, and saving Princess Zelda is the main objective of the game.

“Grand Theft Auto” – The name alone implies stealing cars and breaking the law. It clearly describes the main gameplay mechanic the player is going to expect to be doing.

“Angry Birds” – Doesn’t get any more basic than this. You play as a bunch of angry birds.

Naming a game isn’t always an easy task, but make sure your game’s name is clear, descriptive, and easy to remember. Also, make sure your game’s name makes sense for sequels and continuations if you find yourself with a hit on your hands.

Getting People to Play Your Game

This topic really goes back to the beginning section on what platform to build your game in. The key to success is really getting your game in the hands of as many players as possible. To do that, you will need to pick a platform with the most reach possible. While HTML5 has the incredible advantage of being published to the Web, you will find that it is more difficult to publish to a native store. Frameworks like GameMaker and Unity will allow you to publish to multiple platforms, but they charge extra for that service. Some features are free, and while GameMaker allows you to export an HTML5 version for the Web and Unity has a Web Player for its game, you really need to do your research and pick the right tool from the beginning.

The ideal scenario is that you are able to release your game on all of the major platforms: Web, iOS, Android, FireOS and desktop. From there, you have some granular options to decide on, like what devices to support on each mobile platform, and even what version of the OS you can support. Don’t forget Web stores, such as Chrome Market and Firefox’s new Web-based Phone OS. Also, there are online game portals that do revenue sharing based on ads around your game. While mobile is all the rage, don’t forget how many people still use Web browsers, and every modern mobile device also supports playing Web games, so you get even more bang for your buck. I am now working on having all of my games as Web-playable demos pointing to the app store versions to help broaden my audience, since being found on the Web is much easier than in an app store.

If the Web isn’t your thing, also keep in mind cross-platform desktop publishing. A lot of indies have had success with Steam Greenlight, as well as bundle deals like Humble Bundle. Both of these distribution solutions leverage desktop compiling and usually want games that support Windows, Mac, and Linux. If you intend to ever get your game on Steam, make sure you are able to offer a desktop installer.

Charging for Your Game

With all of this talk about distribution, you are probably thinking through all of your monetization options. Let’s take a look at the three most common options out there now:

Flat rate – Your first instinct is probably to charge a flat rate for your game, like 99 cents or more. Some games can command a very high premium on the mobile market, but gone are the days of charging $5, $10, or more, especially if you are just starting out. When it comes to pricing your game, you should do a lot of research on your game’s genre, its competition, and what it costs. If you see a lot of high quality free games similar to yours, it’s probably best to consider an alternative option.

Free with ads – This was popular for a long time before in-app purchases were introduced. Basically, you make the game free and use ads to help generate money. While there are clear advantages to making your game free, which allows anyone to download it, it is also incredibly hard to monetize from ads. As an example, my most successful game on Android with almost 50k downloads (roughly 1-2k players a day) only generates $1 or less each day. In order to really make money with ads, you will need at least 100k players a day or more, and show larger, more obtrusive ads that tend to slow down the game’s flow or frustrate players.

IAP (in-app purchases) – The final approach, which has gained considerable popularity lately, is relying on IAP (or in-app purchases). Usually, the game is free and you try to upsell so users buy more levels, items in the game, or even ways to speed up their in-game character’s development. What’s good about this approach is that your game is completely free, so you get my people playing your game, and if they like it or you have compelling IAP, they end up paying more than they normally would had your game been sold at a flat rate. This model is extremely hard to pull off successfully, and it’s a fine line between adding additional value to your game and trying to exploit the player’s compulsion loop.

The reality is that, if this is your first game, chances are high that you will not make a lot of money off of it. Having a successful game is kind of like winning the lottery. I am not telling you this to discourage you; I want first-time game developers to have a clear idea of what they are in for. Even seasoned game developers have a difficult time monetizing their games without help from marketing firms. Even getting good reviews on game sites, which is hard to do, doesn’t always translate into lots of sales. The best thing you can do is get featured on the app store itself, but once that promotion is over, unless you have a real hit on your hands, you will see a natural drop off in your game’s sales or downloads.

The last thing I want to talk about, which leads into our next topic, is that making games is a learning experience. The more games you make the better you become as a game developer and grow your chances of making a hit game. While it’s very frustrating for first-time game developers to work hard on something and not see people download it or buy it, you shouldn’t give up. One of the best things your game can be is a promotional tool for you and even your next game. Always be sure to have links to your other games inside of your game to help promote everything you are doing. You may be surprised to realize that, over time, you actually end up building up a following of people more willing to pay for your next game if they continue to play and like the ones you are releasing now.

The More Games You Make the Better

I talk to a lot of game developers each day, and they all have the same story: the more games they have in the store the better their sales are. This happens for two reasons. The first is that, when you make more than one game, they are all featured on your game’s download page under a section that highlights other games made by the same author. That means that each additional game you make basically gives you free advertising for your other games. The second thing that happens is that, when a person likes your game, they naturally want to play more games you have made. This means they will look at anything else you have created, which is the basis for building your own fan base. So each successive game you release will naturally help drive downloads and sales of your past games as well. This is another reason why you should not give up if your first game isn’t an instant success and just keep making as many games as you can!

Conclusion

The good news is that publishing to the Amazon Appstore is free and easy, especially if you are already building Android games. Simply sign up for a developer account at the developer portal to get started today. Here are some additional links to help you gets started:

We’ve come a long way from the custom 3D renderers and affine transformation tricks that used to be the stock and trade of every game programmer pushing the graphics envelope. Modern GPUs and frameworks let us concentrate (mostly) on the game we want to make, instead of the low-level drawing.

That doesn’t mean we are completely off the hook, though. We still have to (get to?) make choices about how the game looks and performs. We control the rendering technology—even if we don’t have to write it—and it’s up to us to tweak and optimize its behavior to suit our needs.

Texture maps are a great example. Applied almost like decals to the polygons of 3D objects, these images are essential assets that add depth, beauty, and realism. The price for this visual interest is a little extra configuration and resource management. Here are three simple ways you can improve your game’s appearance and performance when texture mapping on Fire tablets.

Know Your Limits

The latest generation of Fire tablets support OpenGL ES 3.0 and below, while older Kindle Fires support OpenGL ES 2.0. OpenGL ES makes working with textures easy, even if you are targeting multiple devices with varying capabilities. You can query the device at runtime to learn what is supported and adjust accordingly to optimize performance.

Maximum texture size, for example, describes the largest width or height possible for image data used as a texture. In the past, manufacturers tended to support only small sizes (e.g. 1K, 2K, or 4K on a side), and it was common to allocate video memory for textures based on the maximum size available—simple, if not especially efficient. With newer hardware supporting textures 8K or 16K across, though, this shortcut can rapidly exhaust all video memory.

Fire tablets support much larger texture sizes than other devices on the market, so allocating memory based on that limit by default is a bad idea. Instead, the best practice is to allocate memory based on your actual size requirements.

Get Compressed for Less Stress

If you don’t plan on manipulating texture data at runtime, you can improve memory efficiency and performance by compressing your textures in advance. Compressed textures allow OpenGL ES to optimize video memory usage, making more of it available to your game and sometimes making what you have perform better. How you compress your data depends on your requirements and the device(s) where your game will run.

ETC1, a limited compression format supported by Android and Fire OS as a standard feature, is available on all Fire tablets. It does not support an alpha channel, though, which means textures compressed with ETC1 cannot have transparency. The ETC2/EAC format remedies this, supporting transparency as well as higher compression and better visual quality. It is a standard feature of OpenGL ES 3.0 and available on the latest Fire tablets, though not earlier models supporting only OpenGL ES 2.0.

Fire tablets also support GPU-specific texture compression formats. ATC compression works on devices with Qualcomm Adreno graphics processors, while those using PowerVR chips support the PVRTC format.

Qualcomm Adreno 420

Fire HDX 8.9 (4th Gen)

Qualcomm Adreno 330

Kindle Fire HDX 8.9” (3rd Gen)

Kindle Fire HDX 7” (3rd Gen)

PowerVR G6200

Fire HD 7 (4th Gen)

Fire HD 6 (4th Gen)

PowerVR SGX 544

Kindle Fire HD 7” (3rd Gen)

Kindle Fire HD 8.9” (2nd Gen)

PowerVR SGX 540

Kindle Fire HD 7” (3rd Gen)

Kindle Fire HD 8.9” (2nd Gen)

PowerVR

Kindle Fire (1st Gen)

It is possible to combine multiple texture compression formats in a single APK. You can even include ATC and PVRTC textures together if you don’t want to release separate versions of your game based on GPU. In that case, you would determine at runtime which compression format was supported and load the appropriate set of textures.

“Much in Little”

Generically, a bitmap is a collection of picture elements related by proximity, palette, or some other characteristic. Similarly, a mipmap is a collection of related graphical objects, only these represent different levels of detail (LOD) for images. (The Latin multum in parvo, “much in little,” is where we get “mip.”) You can dramatically improve the appearance—and sometimes the performance—of your 3D game by pre-scaling certain images, especially those used as textures. The idea is to create high-quality “down-samples” that OpenGL ES will choose between, based on distance from the camera or 2D render size.

OpenGL ES can even interpolate between adjacent mipmap images (called trilinear filtering) to smooth the transition as objects move closer to or farther from the camera viewpoint. Because fewer texture pixels must be processed to render the down-samples (compared to simply scaling the full-sized image), they are drawn faster. Since they are anti-aliased as part of the pre-scaling step, the load on the GPU also decreases.

Using mipmaps in your game is straightforward, because OpenGL ES includes a function to generate them for you. It also allows you to specify the smoothing strategies it will apply when reducing and enlarging the images.

Conclusion

Even though much of the low-level drudgery of rendering has been pushed to frameworks and graphics processors, we are still in the driver's seat and ultimately control how our games look and how well they perform. These simple tips will help you fine tune the way OpenGL ES works with textures on Fire tablets, keeping your games running fast and looking great.

We are now 4 topics into this series on how to make games for the Amazon Appstore. If you missed the original posts, make sure to check out part one, part two and part three to get caught up.

Once you have your game up and running, and you begin to approach being able to release it, you are going to want to go over all the details and make sure it’s polished. Sure, you can put a game out there just to see how it does, but in today’s saturated market of mobile games, you need to make sure you put your best foot forward when releasing your game. Here are a few things you should do in your own game before you release it.

Consistent Design

One of the most important things you should do in your game is make sure your art style is consistent throughout the game. Your in-game graphics and your UI, and even the splash screen, should all look and feel like they belong together. The best example I have of this is Mega Man 2.

As you can see the box art for “Mega Man 2”, on the left, is completely different than what the actual game looked like, on the right. While there is a time and place for being creative with your game’s art style, just make sure you don’t set the wrong expectations for your perspective players. This is especially important when it comes to creating screen shots to entice people to pay for or download your game. In the end, keeping everything consistent will help make the overall game feel more polished.

Supporting Multiple Resolutions

How to support multiple resolutions is probably one of the most common questions I get asked at all of my game design talks. Outside of supporting mobile resolutions, which are all over the place, desktop monitors have been driving game developers crazy for years. When it comes to designing for multiple resolutions, you just need to understand how aspect ratio works and decide whether your game will attempt to maintain it. To help myself out, I always start with a comp of the three main resolutions I want to support.

Here you can see that the native resolution of my game is 800 X 480. This is a 5:3 aspect ratio. From there, I can easily scale my game to 1024 X 768, which is a similar aspect ratio of 4:3. My game will also support 1366 X 768, which is a 16:9 aspect ratio. The key to this system is that my game camera simply shows more of the game screen as I change aspect ratios, and the UI moves based on the resolution as well. Here is an example of the game at two different resolutions.

Here is the game at 800 X 480. As you can see, the camera shows less of the action, but I make sure the UI scales down nicely to support the lower resolution without any overlapping.

And here is the game at 1366 X 768. As you can see, both versions of the game are fully playable, but you end up with a little extra screen real estate at the higher aspect ratio.

Perceived Performance Optimizations

The last thing I want to talk about when polishing your game is perceived performance. A lot of the time, developers spend days upon days trying to optimize their code when they end up forgetting that a few minor tweaks to the way their game runs will help give the impression of better performance to players. Sure, optimizing artwork is a key part of any performance optimization, but why not make your loading screen look more interesting while people wait, or work on making the transitions from screen to screen more seamless. Even tricks like lowering the FPS could actually help out if your game is struggling to maintain 60 FPS. Most games can easily get away with 30 FPS. Also, having more animation transitions and frames can help remove the feeling of slowness or unresponsiveness in gameplay.

Conclusion

The hardest thing to really understand is how to support multiple resolutions. Once you understand that you will be on your way to being able to make games across multiple platforms and screen sizes. To help get you started here are some resources to help you better understand our Fire Phone, Fire Tablet and Fire TV resolutions and tips for optimizing:

As we continue our game design series we’ll focus on one of the most important aspects for any game, adding artwork and sounds. Don’t forget to check out part one for picking a game framework and part two for game design 101.

If you don’t come from an art or music background, you might find this part of the game creation process the most stressful. Building a game for the first time will stretch all of your skills, like programming, creativity, design, and more. It’s easy to get bogged down in the details and forget the most valuable part of making a game, which is building something fun to play. In this section, I will talk about some approaches to adding artwork and sounds into your game.

Working Without Art and Sound

The first thing I tell people just starting out is to use placeholder art and sound while building a game. It may be hard to believe, but you can always get artwork later, and sound is just as easy to find online or get help making. To be honest, if you build a compelling enough game, you may even be able to convince an artist or musician to work for you and share the profit from the game. But none of that will happen if you don’t have a fun game to begin with. It also helps to take a look at other games that use minimalistic or dynamically generated art as inspiration as well. The following are a few very successful indie games that do that.

While “Thomas Was Alone” looks deceptively simple from the screen shots, there are a lot of subtle visual effects that add depth to the art style. But, at the end of the day, the game is really about a set of primitive shapes and basic geometric levels.

“Super Hexagon” was a hit as soon as it was released. It revolves around the simple concept of not touching the walls that rotate and move to the music. As you can see, the levels appear to be dynamically generated, and while its creator uses a really great soundtrack to move the levels along, all of the visuals can be sorted out once you have the basic gameplay mechanics down.

Let’s talk about how to make art and some ways to package it up into your game.

Working with Artwork

I love pixel art. It’s super easy to make, and most of the games I build are based on old Nintendo games I used to play as a kid. While pixel art isn’t for everyone, here is a list of some design tools to get you started:

Photoshop – This is one of the most popular and expensive art tools out there, but with Adobe’s new Creative Cloud plan, you can pay for it monthly. Photoshop is great for creating rasterized artwork, and you can do vector art as well. I use Photoshop for all of my game design and layout work.

Illustrator – Just like Photoshop, this is the most popular vector-based art tool out there. I suggest using a vector-based editor if you are going for a cartoony look or want to make sure your game’s artwork can scale to any resolution. Not a lot of game engines support vector artwork like Flash did, so that’s something to keep in mind.

Aseprite – If you are doing pixel art, this is one of the best editors out there. Not only is it free and open source, it’s just great for making pixel animation and even supports importing and exporting sprite sheets.

GIMP – If you are looking for a Photoshop alternative, I suggest checking out GIMP. I was never able to get into it, because I’ve been using Photoshop since version one, but GIMP is free and a lot of game developers and artists I know use it.

I could probably write an entire book on tools for making artwork for games, but you should take a look at other online tools I may have missed or that you might already own. At the end of the day, it’s all about doing the best you can when it comes to making artwork, and if your game is good enough, you will eventually find someone to help clean it all up. I actually outsource all of my artwork even though I have a background in art because I want to focus on the game and let someone else carry the burden of making good game art. You can find my own collection of open source art work at http://jessefreeman.com/category/game-artwork/

Working with Sounds

Just like artwork, creating sound effects can be a daunting process. I suck at sound design, and it’s another thing I try to outsource as much as possible. I do have a secret weapon, though, called Bfxr, which you can use online or install on your computer as an AIR app from http://www.bfxr.net/.

This app is perfect for generating simple 8-bit sound effects for your game. It may look intimidating at first, but as you can see on the left-hand side, there are a bunch of pre-defined sound templates, such as pickup, laser, explosion, and jump sounds. But the most important button is Randomize. I use this all the time to come up with new sound effects, and you can use the Synth option in the middle to modify it. I use these as placeholder sound effects in most of my games, and over time, I have built up a nice little collection of sound effects I can use from game to game to help speed up my development. You can download my collection at http://bit.ly/gamesfx.

Once you have some sound effects, you are going to need a way to convert them. Bfxr likes to generate .wav files, but you’ll be hard pressed to find a game frameworks that still use that file format. That is why I use a program called Audacity, which you can get at http://audacity.sourceforge.net/.

For example, when it comes to HTML5 games, you are going to need to output .mp3 and .ogg files, since each browser supports a different file format.

Conclusion

While this is just a small part of what you will need to produce artwork and sound effects, I have a few links below to open-source artwork and additional resources to help you get started: