Having an Amazon Fire TV and the LAOLA1.tv app will come in very handy this weekend! One of the most-watched football games in the world, El Clasico, is taking place this Sunday, March 22nd. Spanish rivals Real Madrid and FC Barcelona will face each other, along with hundreds of millions of supporting fans worldwide. Previously available online and via mobile devices through video on demand only, LAOLA1.tv decided to tap into a new segment by distributing unique content live on the big screen. LAOLA1.tv and Amazon are offering customers in Germany exclusive television coverage of El Clásico with the LAOLA1.tv app on Amazon Fire TV. Plus, the game will be free to watch on mobile devices for Amazon Appstore customers in Germany and Austria.
“We know we can reach millions of customers through ConnectedTV, especially via Fire TV, and monetize well on Amazon Appstore, therefore we decided to double down our investment and commitment in the Amazon ecosystem. Together with the Amazon Appstore team, we were able to build the perfect story, not only for the start of LAOLA1.tv live streaming on set top boxes and ConnectedTV, but also for the growth of the Amazon Appstore and Fire TV in Germany and Austria" says Felix Blank of LAOLA1.tv.
Follow LAOLA1.tv’s example. Find out more about how to build your app for Fire TV and reach millions of customers in the living-room.
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.
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.
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.)
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
David 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
Jesse 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 Fans
Peter 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.
Build and Deploy Your Mobile Game with AWS
Dhruv Thukral, Gaming Solutions Architect, Amazon
Tara 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
Mike 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
Nate 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
Nate 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
Marcus 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.
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.
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!
*Visit exhibit #2429 for more details. Send us an email at firstname.lastname@example.org with your Amazon Developer Portal registered email ID to qualify. Existing apps already sending ad requests do not qualify. Existing developers who integrate the Amazon Mobile Ads API into another qualified app for the first time are eligible for the offer. One Amazon.com Gift Card per participant while supplies last. Amazon.com Gift Cards ("GCs") may only be redeemed towards the purchase of eligible products on www.amazon.com GCs cannot be reloaded, resold, transferred for value, redeemed for cash or applied to any other account. Amazon.co.uk is not responsible if a GC is lost, stolen, destroyed or used without permission. See www.amazon.com/gc-legal for complete terms and conditions. GCs are issued by ACI Gift Cards, Inc. All Amazon ®, ™ & © are IP of Amazon.com, Inc. or its affiliates. Amazon may modify or cancel this offer at any time.
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.
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:
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.
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.
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:
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.
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!
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:
- Jesse Freeman (@jessefreeman)
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.
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.
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.
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.
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:
- Jesse Freeman (@jessefreeman)
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.
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.
“Thomas Was Alone”
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.
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:
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/
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.
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:
- Jesse Freeman (@jessefreeman)
As we continue this multi-part series on how to make your first game for the Amazon Appstore we’ll dig into the fundamentals of game design. If you are just finding this post, make sure you check out part one which covers picking a game framework that supports exporting to the Amazon Appstore.
For most people, it usually starts the same exact way. You have a game idea and just want to start building. Making a game is more than just having a good idea and the skill to code it; you have to think through the gameplay, the target audience, and map out what it is you are going to build. I love this tweet by Sean James McKenzie of @baconandgames about your first game idea:
To help you simplify your idea to something manageable you should start by getting it down on paper. No one builds a house without a blueprint, and you shouldn’t make a game without a solid plan either. This could be something as simple as a task list with everything you need to do or something more specific, such as a document outlining all the details. Either way, your game design process is going to start with a blank page. Let’s talk about how to fill it in.
In traditional game development, you are encouraged to make a game design document. This is usually a large document outlining every aspect of a game. It’s the blueprint that the rest of the team must follow when building out the game. If you are a single developer, this is overkill. You can easily boil down a GDD into a single list of tasks with a few introduction paragraphs and any collateral or references, such as screen shots and links to other games or game mechanics you like.
It’s up to you to find the best way to document your idea, but the more you work through the details the better the project will end up. It’s very “cheap” to work out your ideas on paper or in your head before you start coding. Once you begin the coding process and need to go back, you amass what we call technical debt that can make your code unmanageable or, even worse, kill your productivity altogether by forcing you to constantly hack together new solutions or refactor code you’ve already written.
The most important part of this documentation process is sharing your idea with others and getting their feedback. I know you want to protect your idea with your life, but the reality is that most people starting out making games need feedback from others. We all start out with the lofty goal of “making a game I want to play,” but the reality is that you are just one person and, in order to be successful, you need to appeal to larger markets. I’m not saying you should post your game ideas online for all to see, but find a select group of trusted friends and run it by them. You’ll find that some feedback is hard to take, but being able to filter out what will actually make your game better is a valuable skill to have.
Perhaps the most important thing outside of documenting your own ideas is to start playing games … a lot of games. As a game maker, your hobby should be playing games, taking them apart, and figuring out what makes them tick. You should keep a notebook of all the games that you play, and even the ones you don’t play but see online. Use something like OneNote, or any note-taking app. The idea is to write down what you like about the game, what you don’t like, and some of your big takeaways from playing it. There should be screen shots if you like the art style and links to any collateral information on the game that will help you with your own ideas later. Since you never know how a game will inspire you, it’s important to be as detailed as you can. It sounds like a lot of work, but it’s honestly the most valuable tool you will ever have when it comes to finding inspiration and avoiding common pitfalls.
Once you have mastered these three steps for writing down your ideas, vetting them out and finding new inspiration you will be on your way to making your own game. To help get you started, here are a few games I suggest trying out on the Amazon Appstore which inspire me:
- Jesse Freeman (@jessefreeman)
Since it’s launch in April, the Amazon Fire TV and Amazon Fire TV Stick has quickly become the best-selling streaming media box on Amazon. With this, app developers have an exciting set of new customers to reach using your Android games running directly on the TV.
To transition a tablet or phone app to Amazon Fire TV, it’s most critical to support the TV remote and/or Game Controller.
In this video blog post, we’ll build an app from scratch for Fire TV using Unity. You’ll see how to get a game object reacting to events from the TV remote and Game Controller and you’ll see how to test your app on the Fire TV or Fire TV Stick. You can also learn more about building Fire TV support into your app on the blog.
Add the game object that we’ll control with the controller.
In this segment we create the script that will receive TV remote and the Game Controller events and cause the Game Object to move with the D-Pad or joystick. We use the Unity Input Manager and the default horizontal and vertical inputs so that both keyboard and controllers work.
For reference, here are the Unity Input Manager and KeyCode values for the Fire TV Controllers
Next we add support for Back, Menu and the A buttons. This illustrates how you’d pause, show a menu, and perform game actions like jump or shoot.
Now you need to build the app from Unity and run it on device using Android Debug Bridge (ADB). In this segment, we’ll go through that step by step.
If you don’t yet have ADB, here’s a post to help you set up ADB.
More importantly, you’ll be able to see how easy it is to respond to controller events in your app.
Now, how will you to integrate controller support into your game play and UX?
Please let me know if you have any questions.
-Paul Cutsinger (@PaulCutsinger)
In this five part series you will get the basic foundation you will need to get started. In part one we’ll cover picking a framework and why you should use one designed specifically for game development.
To help you pick the right game framework, I have highlighted a few of the most popular ones which work great on Fire OS devices and are perfect for people getting started making their first game. I have arranged these from easy to hard based on the above criteria.
Construct 2 is as easy as it gets for making a game. It employs a drag-and-drop behavior system, where you build up game logic from pre-made scripts that are attached to your game’s elements.
Construct 2 games are built in HTML5 (although you never have to touch the code itself) and, because of this, it’s ideal for publishing your game on the Web. Construct 2 games also run on a number of different platforms too The only down side to Construct 2 is that you are removed from the coding aspect of making the game, so you are fully dependent on what Scirra has provided. And, while you can add additional functionality via plugins, it’s not ideal if you come from a coding background and want to manually tweak things yourself.
GameMaker is a great tool for making 2D games. It’s incredibly powerful, and a lot of well-known indie success stories got their start in GameMaker (“Spelunky,” “Hotline Miami,” etc.).
Right now, Unity is a very popular game framework. Similar to GameMaker it also has it’s own IDE and you can drag and drop behaviors but Unity requires a baseline of coding skills to get up and running.
The IDE is very polished and easy to use, but being a 3D tool means that there is a certain level of knowledge you will need before getting started. Unity supports three languages: UnityScript (which is similar to JS), C#, and Boo. Unity now has a free version that supports exporting to desktop and mobile that displays the Unity logo on startup. The pro version gets incredibly pricey but adds lots of must-have features for more advanced game developers. Also, Unity released a new Sprite workflow for anyone interested in making 2D games.
Sometimes you want to control every aspect of your code. HTML5 is a great place to do that, and it’s one of the only game platforms that allows you to target multiple platforms with the same code base, and include the browser on desktop and mobile as well.
There are a lot of really great HTML5 frameworks out there, but the two most popular are Impact ($100 license) and Phaser (free). The one thing to keep in mind is that you will have to manage browser compatibility across desktop and mobile, and native app distribution is still an issue. Also, in many cases you will need to bring your own tools, but seeing a game work perfectly in a mobile browser without a plugin opens up a lot of doors you would not get in a native mobile app store. On the flip side, we make it incredibly easy to test and publish HTML5 games on our devices via our Web App Tester.
Godot is a new and completely open source game engine that just caught my attention.
While I’ve not used it, it looks incredibly promising and one I wanted to put on other developers radars. It uses a scripting langue similar to Phython and promises to export to multiple platforms. It’s one that I hope to dig into a little more in the new year plus being completely open source means you can tinker with how the engine works under the hood.
While I could probably write an entire book on different game frameworks and platforms, I don’t want to overwhelm you. The good news is that, if you are just starting out, there is guaranteed to be a framework that is right for your skill level or game idea. If you are looking for some more resources on how to get started, we have a few blog posts to covering Phaser and Unity, which you may want to check out:
- Jesse Freeman (@jessefreeman)
The thing I’ve enjoyed most in the past year is connecting with so many amazing app devs. We’ve talked in person and on this blog about monetization, opportunities on FireTV, Fire Tablets, Fire phone and some cool new features. But, one line of questions consistently tops the list…
“How hard is it to get into the Amazon Appstore?”
While it’s easy to respond with “It’s easy, in fact most apps just work — it’s Android”, it’s always more fun and informative to say “Let’s try it right now!” Frankly, it’s the only way for an app developer to really know. As a dev myself, I’ve heard “it’s easy” a million times when it’s really a more complicated answer and depends on my specific situation. So, maybe a better question would be “What’s the minimum amount of work that I need to do to understand the true cost of publishing my app to Amazon." (hint: it’s easy!)
With that in mind, I’d like to highlight a set of blog posts that help you answer that question by giving you specific answers for your specific app in minutes.
All you need is your APK. Drag and drop it into the tool’s website. We’ll run a test pass and in minutes you’ll get a report including specific action items (if any), links to the documentation you need for each action item and screenshots of your app on device.
I’ve sideload apps with many developers and each time it’s really cool to see them light up when their app fires up. There’s a whole new set of Amazon Appstore customers available and it’s so close. Here’s how you can enable ADB and sideload on each of the Amazon devices and see your app running for yourself.
Happy New Year!
Paul Cutsinger (@PaulCutsinger)
As an end of the year gift to all of our readers we have unlocked the GDC Vaults and made our Amazon Developer Day content free to watch! Recorded live at GDC Europe in Cologne, Germany this invite only workshop includes everything you need to get your apps and games into the Amazon ecosystem. You will learn first-hand from Amazon developer evangelists about the Amazon Appstore, Fire phone, Fire Tablets and Amazon Fire TV. You will also learn how to build your own scalable mobile game backend using Amazon Web Services. So pull up a chair, sit back, relax and enjoy this free developer workshop. Happy Holidays!
This session covers everything you need to know about the Amazon Developer program, the free cross-platform Amazon Mobile SDK, and Amazon Fire devices.
This session will get you up and running with Android Studio and Amazon’s Dynamic Perspective and Firefly SDKs. See how you can quickly add 3D elements to your existing Android games with minimal coding. Multiple code samples are covered as well as live demos on Amazon Fire devices.
This session will show how you can get your existing Android games running on Fire TV. Setting up the developer environment, debugging on the Fire TV, tuning for the living room experience and publishing to the Amazon Appstore are all covered.
This session covers an overview of AWS Mobile Services and shows how you can quickly use it to scale your own games for millions of players.
For more information about getting started with Amazon Fire devices and the Amazon Appstore, check out the following free resources:
Amazon Appstore and Devices
Amazon Fire TV
Amazon Fire Phone
AWS Mobile Services
Xamarin is a cross platform development environment that leverages the power of the C# programming language and takes full advantage of native hardware acceleration. Xamarin generates fully native code for each mobile platform instead of translating at runtime. Because Xamarin apps are built with standard, native user interface controls apps not only look the way the end user expects, they behave that way too. Xamarin also includes a suite of tools that allow you to test, build, and analyze your apps across all of the major mobile platforms. Utilizing Xamarin you can now publish your own apps and games to all Amazon Fire devices. This includes Amazon Fire tablets, Amazon Fire phone, Amazon Fire TV and the recently announced Amazon Fire TV Stick.
Please join me in welcoming special guest Mike Bluestein, who as a Developer Evangelist for Xamarin, helps developers be successful with the Xamarin platform. Mike is going to walk us through the steps to get your own apps and games running on Amazon Fire TV and Fire TV Stick with Xamarin Studio.
The version of Amazon FireOS that runs on Fire TV is based on Android Jelly Bean (API Level 17), so you can take your existing Android skills and code there by just targeting API 17. In fact, without even using the Amazon Fire TV SDK, you can run most API 17 apps without much modification. This of course depends on what you use.
The Amazon Fire TV SDK Add-on is available in the Android SDK Manager via an Add-on site, as described in the Amazon documentation. Once added, it appears under API 17:
To develop with Xamarin, the Xamarin component store includes an Amazon Fire TV component, which includes support for Amazon notification and game controller APIs respectively:
However, as mentioned, API 17 will work even without using the component. Try it yourself.
adb connect [Fire TV IP Address]
The app will deploy to the Fire TV device and you’ll be able to debug within Xamarin Studio just like any other Android application.
The Fire TV remote maps to normal Android keystroke handling. Therefore tapping the center button results in a button click in the Hello World app:
When developing for Fire TV devices, you’ll want to design especially for it. For example, here’s a simple photo viewer of the Conceptdev Monkeys. It has adequate thumbnail size and padding around the screen edges so that the user can see it fine from a few meters away.
The user can easily navigate between monkeys using the remote. When selected a large view of the monkey is displayed.
What’s really great, from a programming perspective, is this is just Android. Therefore all your skills move forward.
Apps are great, but Fire TV devices really shine in its ability to bring Android games to the TV.
I previously blogged about a simple space game I made for the Fire TV Stick, using CocosSharp, where I used the remote to control the spaceship. Let’s take a look at how to extend the game to use an Amazon Fire TV controller with the GameController API.
To use the GameController API (available in the Xamarin component) you have to:
CocosSharp games build upon MonoGame, which on Android uses the AndroidGameActivity. To use the game controller API, you must call GameController.Init after setting the ContentView:
In this case, we’ll be using the right joystick of the game controller to move the ship around the screen in any direction. Therefore, we need to forward generic motion events to the controller:
With this in place we can get input from the controller in the game layer and move the ship accordingly:
Then when we run the game, the ship moves via the right joystick:
The Amazon Fire TV family of devices and the associated SDK are fun to develop for. You can use your existing skills and resources and open the doors to a world of potential new customers!
One of the things to remember is that you’ll want to design your applications with the TV experience in mind. Applications designed for a phone won’t have a great experience on a large TV where people sit several meters away and interact via remotes and controllers, as opposed to touch.
For additional tips on optimizing Android apps for the TV experience be sure to check out this free video and this blog post. For more information about getting started with Xamarin Studio and Amazon Fire devices, check out the following additional resources:
Amazon Fire TV, including both the Fire TV and Fire TV Stick, now supports HTML5 web apps. The Web App Starter Kit for Fire TV is a new open source project intended to help developers get up to speed quickly creating a simple media-oriented app for this exciting new web platform. Features of the project include an example user interface designed for the 10-foot user experience, support for the Fire TV remote control, and sample components to create and customize a media app. You can find this project on its GitHub project page here.
Here's an example of a media app using video content from the recent AWS re:Invent conference:
Over the summer of 2014, we ran an early-access beta program with a dozen or so web app developers who were interested in collaborating with us to bring their HTML5 media apps to Fire TV. The program was a huge success, pinpointing technical issues that needed to be resolved before we opened access to web apps to the larger developer community. One of the most important pieces of beta feedback was the request for some sort of template to target the "10-foot Experience" on Fire TV. Though web browsers have been on TVs since the mid 90s, developers have never really targeted big screens and thus there is a notable vacuum of examples, guides or code available that web app developers can use to get started.
To address this need, we decided to create an open source HTML5 web app "starter kit" that developers can use to quickly create a simple media app, ready to be customized and published in the Amazon Appstore. The project contains code developers can re-use in their apps, as well as a design template for the couch-focused user experience as well. Interacting with HTML5 via a remote control is a very different experience than that of a mouse or touch screen.
The project is written as a simplified MVC-based web app with few external dependencies. It's been componentized so that developers can pull functionality into in their own app, such as support for the Fire TV remote, or they can decide to simply use the code "as-is" and only customize the existing app by modifying the style and image files.
Baked into the starter kit is the code needed to both provide the large screen experience consumers expect, as well as to pass Amazon Appstore testing during the app submission process. This includes support for remote control key codes, warnings before quitting the app, handlers for when the app is backgrounded, full-screen media playback, and more. At the bare minimum, the developer only needs to provide access to their media sources as a JSON document that includes a list of media files, thumbnail images, titles, descriptions and categories. The app then uses that data to display the media as a selectable list of categories and a rotating carousel of media content.
We've included documentation covering all aspects of the starter kit: A ReadMe document introduces the project, and architecture and styling guides walk developers through the options they have to use or customize the app for their needs.
Being on GitHub also opens the opportunity to both improve the documentation as time goes on, as well as receiving "pull requests" from those in the developer community who wish to help improve the starter kit in the future.
Let's run through the basic steps in getting a media web app up and running using the starter kit. (See the documentation on GitHub for full details.) For an introduction to Web Apps on Fire TV be sure to read our other blog post, Publishing HTML5 Apps to the Fire TV.
First, you'll need to grab the code from the Amazon GitHub repository using git - the open source version control system. (If you haven't learned how to use git yet, GitHub has a great online tutorial which will walk you through the basic steps, or you can download one of their easy to use GUI clients.)
Local Web Server. Once you've cloned the repository to your system, you'll need to launch a local development web server to test it out. This can be done through various means, including using either Python or Node.js. Open a terminal or command line, and change into the base directory of the project, and use one of the following methods to create a local web server:
Using Python, create a simple HTTP server with this command:
Using Node and NPM, install the Serve package, then create the server:
Web App Tester. Though we can do development using our desktop browser by navigating to http://localhost:3000, you'll want to see what the app looks like on a big screen powered by a Fire TV device. To do that, we'll be using the Web App Tester to view the content. The Tester is an app provided by Amazon which you can install on your Fire TV. It lets you test your web app on a real-world big screen before you submit the app to the Amazon Appstore.
Once you've installed the app, note the IP address of your computer where you are serving the starter kit's content, then navigate to http://your-local-ip:3000, highlight the Test button and press select and the sample app will be displayed .
Now that you have the starter kit installed and running, you will want to customize the look and feel of the app as well as provide your own content to populate the video list and category list. Below are the files you'll need to change.
Logo. To modify the logo, use your favorite text editor to open the index.html file found in the root of the project and search for the "app-logo" class. This is where you will add the URL to your new logo.
Later, once you are familiar with the design of the web app, you can modify more of the HTML to better reflect your content or brand. Again, the documentation provided with the starter kit will point out the overall architecture of the project.
Look and Feel. The project's CSS file is automatically generated from a Sass template found in the root of the project called firetv.scss. Check out the Sass website for info on how to install and use sass templates. Rather than needing to go through the entire CSS file looking for things to change, there is a variable file called _variables.scss which allows you to change the fonts, colors, etc. of the app by simply changing the values used in the main Sass file. Once you have modified the variables, you'll need to generate a new CSS file to be used by using Sass from the command line:
You can find more details on how to style an app in the project's documentation.
Content. The last step to creating your first big screen web app for the Fire TV is to create a JSON file with the details of your media content, providing the file names, URLs and meta data needed. A sample JSON file can be found in the ./assets folder of the project and can be modified, or the URL can be changed completely by editing the index.html page to change the settings.dataURL value.
The JSON file contains an array of these basic fields:
For more information about the JSON format and other architectural questions, check out the project's documentation. To find out more about developing web apps from scratch for the Fire TV, check out the Developer Portal's Getting Started with Web Apps for Fire TV, which has lots of useful information and notes you should be aware of.
Once you've customized the Starter Kit and have your Fire TV web app created, you can publish it to the Amazon Appstore within minutes - without having to do any native development. Developers have a choice of either hosting the app's asset files on their own web server and submitting just the URL, or uploading the assets to Amazon's servers, where it will be bundled into a standalone packaged app.
Follow the steps below to submit your web app:
1. Create a Free Amazon Developer account.
2. Go to the New Web App Submission page and provide details about your Fire TV web app:
3. Choose whether or not to submit a hosted web app or a packaged web app. (In this case, the latter).
5. Choose both the Fire TV and Fire TV Stick in the Device Support section.
For information on submitting both hosted and packaged apps, see Submitting or Updating Your Web App to the Amazon Appstore.
The Web App Starter Kit for Fire TV is just in its beginning stages, so if you have any questions, suggestions, or (most importantly) pull requests, please use the Amazon GitHub project page to send them to us. We really look forward to seeing all the cool new media apps created by web developers!
Today we are announcing full support for publishing HTML5 apps to Amazon Fire TV and Fire TV Stick as part of our existing HTML5 web app publishing toolset. This now opens up a new opportunity for web developers to publish HTML5 powered apps to the living room. In addition, developers with web apps already published to Fire tablets and Fire phone will now be able to release their existing hosted web apps on the Fire TV family of devices using the same workflow they are already using. To help support web apps on Fire TV devices we have made additions to the Amazon WebView, which powers web apps on our platform, to give developers access to the following features:
By adding full support for Fire TV devices, developers can publish the same web app across all of our Fire devices and take advantage of the great performance enhancements the Amazon WebView offers.
In addition to our launch partners, we are excited to see what developers come up with to help push HTML5 forward onto the big screen. Through the Amazon Appstore on Fire TV devices developers can now deploy web apps and games to a whole new audience. HTML5 is a great cross platform choice for developers and we are now enabling them to reach even more customers than before. While traditional media apps make sense on the Fire TV, we are also looking forward to seeing HTML5 games and media apps evolve on this new platform. With support for WebGL, Gamepad API and accelerated canvas, high quality web games can now run on the TV. This opens up an entirely new world to HTML5 game developers hoping to build console quality games with the tools and frameworks they currently use to reach millions of web and mobile web gamers every day.
Bringing your web app to Fire TV is easy. If you already have an app optimized for the 10-foot experience, you can get started by downloading the Web App Tester from the Amazon Appstore on your Fire TV or Fire TV Stick. Once installed, you simply enter in the name of your app and its URL online.
Likewise, you can also supply a .zip file to package up your app by following these instructions. After all the details are supplied, you can see how your web app will run on the Fire TV via the preview option.
If you are looking to get started building Web Apps for Fire TV or Fire TV stick, we have also provided an open source template on GitHub. Make sure to check out the online documentation that will walk you through everything you need to know about publishing HTML5 apps to the Fire TV family of devices.
- Jesse Freeman (@jessefreeman)
Vision Mobile recently shared a new chart showing a higher percentage of Amazon Fire developers above the app poverty line versus other platforms. More specifically, 59% of developers distributing their apps on the Amazon Appstore make more than $500 per month versus <50% on other platforms. The chart also showed that developers continue to experience increased monetization in the Appstore - Amazon had a bigger proportion of developers making $5,000+ a month compared to developers on other platforms. We’re excited to see developers like you expand their reach and monetize apps through the Amazon Appstore.
Today the Amazon Appstore is available on more than just Fire devices including the all-new Amazon Fire TV Stick. The Amazon Appstore for Android is also pre-loaded on BlackBerry 10 devices and carriers including O2, EE, Deutsche Telecom and others on millions of Android devices. This wide reach gives your app access to even more customers. Plus, the latest Amazon shopping app fully integrates apps and games into the shopping experience enjoyed by millions of customers. So when customers are searching for products in the Amazon shopping app, they’ll also discover relevant apps and games that they may also enjoy. Here’s what some developers are saying about their experience with Amazon:
– Elad Kushnir, VP of Business Development at Playtika
– Jean-Baptiste, CEO at DJIT
P.S. The holidays are the best time of the year to submit your apps. Read our latest blog post to learn more: Three Important Stats About Holiday Device Sales