Appstore Blogs

Appstore Blogs

Want the latest?

appstore topics

Recent Posts

Archive

Showing posts tagged with Gamedev

March 13, 2015

Jesse Freeman

I have been teaching programming for a long time now and I work with a lot of people who have never coded before but want to make a game. I put together the following 5 part series to help teach people the fundamentals of game programming. In the past, this course has been a great success and figured I would share it again to help you get started learning the fundamentals of programming. Over the next few posts we’ll go over JavaScript.

It is easy to create something with JavaScript right in the browser, there are lots of resources on how to build JavaScript games and JavaScript can be written with a simple text editor. I highly suggest using a resource such as Code Academy’s online JavaScript course to get you started. I designed this to be a cheat sheet of sorts for those still learning JavaScript and want to start making HTML5 games. With that in mind, these examples all revolve around use cases you would find in games and are designed to help you think about how this code is applicable to game development.

Variables

The first thing you will ever hear in programming is that "a variable is a container". We use variables to store data. In JavaScript we use var to denote a variable. Here is an example:

var playerName = "Jesse Freeman";

There are 3 basic types of "primitive" variables:

  • Strings – this is text and is always put into quotes
  • Numbers – these are numbers and can be positive, negative, whole number or fractions
  • Booleans – this is a true or false statement. Also you can use the value 0 for false or 1 for true as well. 

The most common thing you would probably want to store in a game would be things like the player's name, their score and whether the player is alive or not. Here are some examples:

//String
var playerName = "Jesse Freeman";
//Number
var score = 0;
//Boolean
var isAlive = true;

In addition to these 3 simple examples you can actually store anything inside of a variable. Let’s look at some more complex data structures.

Arrays

Arrays are similar to variables but they can contain more than one value. Think of Arrays as lists. In games we could use Arrays to keep track of items in the player’s inventory. Here is how you set up an empty array:

var inventory = []; 

Likewise you can also create an Array with items inside of it like so:

var inventory = ["item0", "item1", "item2"]; 

In this example we have 3 Strings inside of the inventory array but we could also have Numbers or Booleans as well. In order to get the value of an array we have to access its index. This is a unique ID related to the position of the item in the Array. In JavaScript Arrays are 0 based so the first item is always index 0. Here is an example of how we would get the value of the first item:

inventory[0];

As you can see, we simply reference the Array itself and use brackets to supply the index we want to access. Arrays also have special functions (we’ll learn about functions later) that allow you to add and remove items from the Array. Here is a quick example of how we can add something to the array:

inventory.push("item4");

You can also get the total number of items in an Array like this:

inventory.length;

This would return 3 but remember if you wanted to use this to find out the last value of the Array you would need to subtract 1 from it since the starting index is 0. Here is how you get the last item in the Array:

inventory[inventory.length-1];

Arrays are incredibly versatile and are used to holds lots of different kinds of data structures. One of the most common is a table like structure with rows and columns of values. This is the basic structure we would use for tile maps and would use something called a 2d Array to store the data. A 2d Array is an Array containing other Arrays. Here is an example:

var map = [[1,1,1,1,1],
    [1,0,0,0,1],
    [1,0,1,0,1],
    [1,0,0,0,1],
    [1,1,1,1,1]];

This simple map example uses two tile values: zero for empty and one for solid. If we were to visualize this map it would be a square room with a solid block of wall right in the middle. Accessing the value of these tiles is similar to how we did with our inventory Array. Let’s say that we want to get the center wall in our room, here is how we would access it:

map[2][2];

One way to help you think of this is that the first index is the row and the second index is the column like this:

map[row][column];

Remember that arrays can contain anything so the nested Arrays don’t have to necessarily store numbers, they could be Strings or even Booleans.

Variables and Arrays are the cornerstone of programing and one you get your head around how they work you can begin building event more complex structures in your own games. In the next post we’ll cover how to create Objects and Functions so you can begin to build out more complex logic.

Ready to Submit Your App or Game?

- Jesse Freeman (@jessefreeman)

 

March 11, 2015

Jesse Freeman

If you are looking to build your first game or just interested in trying a new platform we have a great collection of tutorials on our blog. Each of these posts are designed to not only help you release your game on the Amazon Appstore but also cover the basics of programming, game design, marketing and of course publishing. To get started, checkout our series on game design 101:

Next up, if you are looking to get started with Unity we have a two part series on how to use Unity’s IDE as well as a primer on C#:

Interested in making a game in HTML5? We have an in depth series on building your first game with Phaser:

If you are looking for something a little more advanced, make sure to check out these posts on building a splash screen for your game and also adding dynamic perspective. We have one in Unity and the other in HTML5 so you can see what the processes is like for both platforms:

Finally if you are already a seasoned game developer and just looking to learn more about why you should publish your game to the Amazon Appstore, check out this post on Making the Amazon Appstore Your Game's Home. We also cover more advanced game design on how to support multiple resolutions across each of our devices (Fire TV, Fire Tablet and Fire Phone) in the Responsive Game Design post.

Ready to publish? Here are some important links to help you out:

- Jesse Freeman (@jessefreeman)

 

February 25, 2015

Peter Heinrich

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.

Ready to Submit Your App or Game?

  • To learn more about the Amazon Appstore, click here
  • Click here to register for free as an Amazon Developer. 
  • Click here to download the Amazon Mobile SDK. 
  • Click here to submit your app

-peter (@peterdotgames)

 

February 19, 2015

David Isbitski

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:45am

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
10:45am-11:30am

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
11:30am-12:00pm

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.

Catered Lunch
12:00-12:30pm

Build and Deploy Your Mobile Game with AWS
12:30pm-1:30pm
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
1:30pm-2:15pm

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
2:30pm-3:30pm

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
3:30pm-4:15pm

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
4:15pm-5:15pm
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.

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!

-Dave (@TheDaveDev)

*Visit exhibit #2429 for more details. Send us an email at amazon-mobile-ads@amazon.com 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.

 

February 16, 2015

Paul Cutsinger

Twitch is a place for gamers to watch live game streams and interact with other gamers. For the past few months we’ve started to see devs use Twitch to reach out to their audience in a new way. They live stream development, interact with players, and build a fan base on a channel dedicated to game development.

I’ve really enjoyed watching these and I thought you might too. So, time to share! Here are a few streamers that I currently follow on the Twitch Game Development channel.

Vlambeer

With over 8 million views, these folks are the ones to check out first. They’ve built several games including Ridiculous Fishing, Nuclear Throne now Luftrausers.

UnrealEngine

The team from Unreal Engine runs tutorials and answers questions. If you’re curious about how to use Unreal Engine, check this one out.

2DHeroes

This is the team behind Bit Brawlers – the game I break out at nearly every party on my Fire TV.

BonzonoApps

Matt has a console dev background and is building his new game in Unity. I like getting that deep perspective.

Notch

Because Notch.

slickentertainmentinc

While most channels feature developers writing code, there are a few that feature artists. I enjoy these. In addition to showing how the art is created, I find they tend to talk more about the back story of the game. This show is particularly engaging.

Mankej_

This one is a bit different… They sculpt game characters out of clay. Just cool.

There are many more and you can see which devs are streaming right now by going to the Game Development Channel, here.  Our own Jesse Freeman has started streaming as well.  You can check out his stream here and my stream here.

As you think about your social media presence, consider streaming on Twitch. It’s a highly engaging experience and there are a lot of opportunities to reach a new audience. Minimally, watch a few fellow game dev streams just to throw a little support their way.

Ready to Submit Your App or Game?

  • To learn more about the Amazon Appstore, click here
  • Click here to register for free as an Amazon Developer. 
  • Click here to download the Amazon Mobile SDK. 
  • Click here to submit your app

-Paul Cutsinger (@PaulCutsinger  PaulCutsinger)

 

 

 

February 13, 2015

Jesse Freeman

Crossy Road is an incredibly popular game that recently launched on the Amazon Appstore. The best way to describe the game is a mix between frogger and flappy bird. It’s super addictive with a unique art style and rock solid gameplay. We sat down with the creators and asked them how they created it, what their plans are for the game, and where they see it going next.

Can you give as a little background about yourself and the company?

Hipster Whale was formed midway through the development of Crossy Road. Once Matt and I (Andy) realized that the game had potential we decided to form the company.

Left to Right: Ben Weatherall, Andy Sum, Matt Hall.

Matt and I first started talking about game ideas after GCAP 2013, an Australian game developer conference. We kept bouncing ideas backwards and forwards online and eventually found something that we both really liked. Matt and I live about 90 minutes away from one another and so we did all of the development remotely, only meeting up once during the entire 12 weeks of development.

How long have you been making games for?

Matt: Andy and I have both been creating games since we were just kids.  For my 8th birthday I was given a Commodore 64 and I played and made games with it for 10 years.  It’s the one hobby I could never quit.  I became an independent developer in 2008 making games for PC first and then for mobile.

Andy: I've been making games since I was about 10. I started with some basic visual tools, making free games as a hobby and for competitions. I began making games for PC commercially in 2008 and now Crossy Road is my first mobile game.

What language/framework are you using to build Crossy Road?

Crossy Road is built with Unity3D and C#.  The art was created with a brilliant tool called Qubicle.  I discovered it a few years back.

Crossy Road has some clear inspirations from arcade games like Frogger; can you talk about other influences?

The crazy success of Flappy Bird earlier this year was one of the key catalysts for creating the game and the alliteration in ‘Crossy Road’ was a wink toward Dong’s game.  While others aped the design of the game we just wanted to carry on that same spirit.  The idea of combining Flappy Bird with Frogger popped into my head and Andy thought it was a great idea.  There are lots of other influences including Skylanders, DOTA 2, Disco Zoo, Temple Run, Subway Surfers, FEZ and Tiny Wings.

How does the procedural generation work in your game?

The procedural generation in Crossy Road is something we spent a lot of time tuning to get the right balance of difficulty and fun. We wanted a system that would allow new players to enjoy the game, while giving experienced veterans a worthy challenge. The game gets harder and harder the higher your score goes, as cars, trains and logs all move at a faster rate. After about 150 hops forward you'll start to see more difficult world configurations, such as ten lanes of traffic in a row or alternating rivers and railroads.

In future updates we’ll add even more hazards, but we won’t spoil those just yet.

What do you think is the reason behind Crossy Road's current success?

There’s no one reason other than we set out to try to make the stickiest and most viral game we possibly could.  Every feature added was carefully considered to make the game fun to play and share with friends.  It was important to us that nothing got in the way of the “play again” button.

We are excited to have Crossy Road launch in the Amazon Appstore and Fire TV. What are your thoughts of micro console and Android powered streaming boxes that play games?

I’ve been excited for years with the possibility of really easy to access video games on the TV.  Mobile gaming is so popular because it’s right there in your pocket and the touch interface is perfect.  But there’s so many types of games that would benefit from a physical controller.  That the Fire TV has done so well is fantastic!.

Now that Crossy Road is growing in popularity, what do you plan on doing to help keep retention and continue to grow your audience?

We have a long list of ideas for things that we want to add to the game, including adding more depth and unique elements to existing characters.

We're going to keep adding new characters every month, which will hopefully keep players interested for a long time. There has been very positive feedback from players about the current secret characters and we're thinking up exciting new ways for players to unlock more.

If you could do one thing over again for Crossy Road, what would it be?

It’s been really frustrating to have so many players want to play the game, but couldn’t.  Our team is really tiny and so we have had to slowly stagger our rollout so that it wouldn’t overwhelm us.  If we knew it was going to be this popular we would have gotten some more developers onboard to help ensure the game is available everywhere as close as possible to launch.

What advice do you have for devs trying to launch an indie game on mobile and tv?

If you're really interested in making a game for the Fire TV then make sure you spend a lot of time designing how it will work with controllers. The best games on TV have carefully thought out control schemes and make navigating around menus feel very natural.

For mobile games and game development in general it's important to watch other people play. Take note of what they struggle with and think about what you can do to help them understand concepts better.

Wrapping Up

We are glad that Hipster Whale took the time to talk about how they made their game and also release it on the Amazon Appstore. Make sure you check it out and if you are looking for additional resources to bring your own game to the Amazon Appstore and Fire TV be sure to check out the following links:

- Jesse Freeman (@jessefreeman)

 

February 10, 2015

Jesse Freeman

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:

- Jesse Freeman (@jessefreeman)

 

February 06, 2015

Jesse Freeman

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:

- Jesse Freeman (@jessefreeman)

 

 

 

February 02, 2015

David Isbitski

Today’s mobile developer must engage customers with app experiences that run across an array of devices and platforms yet remain responsive and powerful.  The AWS Mobile SDK can help bring the power of the cloud to your apps while enabling you to build high quality mobile apps quickly and easily across multiple platforms including iOS, Android and Fire OS. 

AWS recently launched an update to the AWS Mobile SDK for Unity developers. The developer preview of AWS Mobile SDK for Unity helps your games handle cloud storage along with identity and user state management directly from within the Unity developer environment. The AWS Unity SDK contains a set of .NET classes that enables games written with Unity to utilize AWS services. Supported AWS services currently include: Amazon Cognito, Amazon S3, and Amazon DynamoDB. The AWS Unity SDK also contains sample code that illustrate how to call AWS services from a Unity Game. The AWS Mobile SDK for Unity is compatible with Unity 4.0 and onward, and supports both Free and Pro versions.

My colleague, Mudeem Siddiqui, elaborates more on some of the key benefits here:

Safeguard AWS credentials: When you use Amazon Cognito, your game is provided with temporary, limited-privilege credentials that it can use to access AWS resources. This means your game can access the resources it needs and that you can follow security best practices by not hard-coding credentials.

Store and sync across devices: Amazon Cognito allows you to store user data for your games, such as user preferences and game state, in the Amazon Cognito sync store. You can then sync this data across a user’s devices to help make their experience consistent across their devices. Amazon Cognito can automatically send a silent push notification to a user’s devices when data in the sync store changes so you can synchronize the latest data right away.

Store game assets in the cloud: With Amazon S3, you can store your game’s assets such as images and videos in the cloud and download them at run time. This reduces the size of your game’s binary, thereby avoiding the AppStore Over the Air download limit.

Store game data in a NoSQL database: You can store your game data that is shared across users in Amazon DynamoDB, a NoSQL database that offers high throughput, and low-latency at any scale.  


For more information on the AWS Mobile SDK for Unity check out the following links:

If you haven't registered for an Amazon Appstore account yet, you can create a free developer account here and immediately get started testing your app on Fire devices. For more information about getting started with Amazon Fire devices and the Amazon Appstore, check out the following free resources:

-Dave (@TheDaveDev)

 

 

 

 

January 28, 2015

Jesse Freeman

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.

“Thomas Was Alone”
http://www.amazon.com/Bossa-Studios-Ltd-Thomas-Alone/dp/B00LXFHI60

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”
http://www.amazon.com/Terry-Cavanagh-Super-Hexagon/dp/B00BVDNKSY/ref=sr_1_2

“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:

- Jesse Freeman (@jessefreeman)

 

January 22, 2015

Jesse Freeman

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.

Document Your Idea

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.

If you are having trouble getting started I highly suggest checking out the 1 Page GDD by Javi Cepa (@JaviCepa).

Getting Feedback

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.

Play More Games

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.

Conclusion

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:

Ready to Submit Your Game?

  • Click here to register for free as an Amazon Developer. 
  • Click here to download the Amazon Mobile SDK. 
  • Click here to submit your app

- Jesse Freeman (@jessefreeman)

 

January 21, 2015

Corey Badcock

Congratulations to the following games from the Amazon Appstore on their nominations for the 2015 D.I.C.E. Awards! The D.I.C.E. Awards recognize games, individuals and development teams for their contribution to the entertainment software industry. The apps below have been recognized for their outstanding achievements in gaming in 2014. The awards ceremony will be live streamed through Twitch on February 5th, 2015 at 10pm ET. Tune in to see who takes home the biggest awards of the night!

You could be nominated next!

80 Days

Publisher: Inkle Ltd

Nomination: Mobile Game of the Year

 

 

 

Banner Saga

Publisher: Versus Evil, LLC

Nomination:

Role-Playing/Massively Multiplayer Game of the Year

D.I.C.E. Sprite Award

 

Hearthstone: Heroes of Warcraft

Publisher: Blizzard Entertainment

Nomination:

Mobile Game of the Year

Strategy/Simulation Game of the Year

Outstanding Achievement in Online Gameplay

Outstanding Innovation in Gaming

Outstanding Achievement in Game Design

Game of the Year

Kingdom Rush Origins

Publisher: Ironhide Game Studios

Nomination: Mobile Game of the Year

 

Monument Valley

Publisher: ustwo Studio Ltd

Nomination: 

Mobile Game of the Year

D.I.C.E. Sprite Award

Outstanding Innovation in Gaming

Outstanding Achievement in Game Direction

Outstanding Achievement in Art Direction

Skylanders Trap Team

Publisher: Activision Publishing Inc.

Nomination: Family Game of the Year

Threes

Publisher: Sirvo LLC
Nomination:

Mobile Game of the Year

D.I.C.E. Sprite Award

 

Valiant Hearts: The Great War

Publisher: Ubisoft

Nomination:

Outstanding Achievement in Art Direction

Outstanding Achievement in Sound Design

Outstanding Achievement in Story

Adventure Game of the year

Wolf Among Us

Publisher: Telltale Games

Nomination:

Outstanding Achievement in Story

Adventure Game of the Year

Shout out to the following games from the Amazon Appstore for their console franchise nominations at the 2015 D.I.C.E Awards.

FIFA 14

Publisher: Electronic Arts Inc

Nomination: FIFA 15

Sports Game of the Year

Madden NFL Mobile

Publisher: Electronic Arts Inc

Nomination: Madden NFL 15

Sports Game of the Year

MyNBA2K15

Publisher: 2K Games

Nomination: NBA 2K15

Sports Game of the Year

Ready to Submit Your App or Game?

  • Click here to register for free as an Amazon Developer. 
  • Click here to download the Amazon Mobile SDK. 
  • Click here to submit your app

 

January 15, 2015

David Isbitski

Amazon Fire phone is the only smartphone with Dynamic Perspective and Firefly. Dynamic Perspective is an entirely new sensor system that responds to the way a customer holds, views and moves the phone. The Dynamic Perspective SDK gives developers access to algorithms that identify the X, Y and Z coordinates of the head, enabling a whole new class of apps and games. Firefly quickly recognizes things in the real world—web and email addresses, phone numbers, QR and bar codes, movies, music, and millions of products, and lets the user take action in seconds—all with the simple press of the Firefly button. With the Firefly SDK, developers can extend the use of the Firefly button to enable new actions their users can take based on what they identify.

Here is a recap of helpful Fire phone posts on the Amazon Apps & Services Blog in 2014:

Add Beautiful 3D Maps to Your Fire Tablet and Fire Phone Apps with the Amazon Maps API V2

We announced a new version of the Amazon Maps API, offering an even richer customer experience with 3D vector maps, 3D landmarks, drawing API’s, fragments, multiple maps, and more.
 

re:Invent Slides and Videos Now Live

Each November, Amazon holds the re:Invent developer conference and this year there were several sessions designed for mobile developers and the Fire phone. The slides and videos are now live so if you weren’t able to make it to the conference you can still get the content right here.
 

Free Video Training – Everything You Need to Know about Building Apps for the Fire Phone

Recorded live at AWS re:Invent 2014 this free video will introduce you to Fire the first phone designed by Amazon. You will learn about the new customer experiences it enables and how top developers have updated their Android apps to take advantage of Fire phone.
 

Reach New Android Customers with Xamarin Studio, C# and Amazon Fire Devices

We shared a free Xamarin Evolve video that covers how quickly and easily you can target Amazon devices, including Fire phone, using C# and Xamarin Studio.


AWS Mobile Services Helps Mobile Developers Build Great Experiences across Devices and Platforms

We shared an overview of the AWS Mobile SDK and how to get started. The AWS Mobile SDK helps bring the power of the cloud to your apps while enabling you to build high quality mobile apps quickly and easily across multiple platforms including iOS, Android and Fire OS. 


Handygames: Creating Unique Gaming Experiences with Fire Phone and Fire TV

We chatted with HandyGames about customer reactions to the new experiences they’ve built using Fire phone and Fire TV.


HTML5 Packaged Apps Services Makes It Even Easier to Submit Apps

 We announced new support for web apps submission to the Amazon Appstore giving you the option to submit self-contained, packaged web apps that run on Amazon devices including Fire TV and Fire phone.  You can now submit your web app as a standard zipfile in addition to the existing hosted web app solution or have web apps in the Amazon Appstore that use both.


Adding Dynamic Perspective to Your HTML5 Games Tutorial

We walked through the process of adding Fire phone Dynamic Perspective to a Phaser based HTML5 game.
 

Adding Dynamic Perspective to Your Unity Games

We walked through how to quickly add Dynamic Perspective to your existing Unity game.


Top 10 Tips for Optimizing Your Android Apps for Fire Phone

Have an Android app already but not sure where to start with Fire phone?  We offer plenty of tips and tricks to get your app quickly up and running on Fire phone and how take advantage of its new capabilities.


90 Seconds to Find out If Your App Is Ready for the Fire Phone

We covered testing your Fire phone app with our free App Testing Service.


Extend Amazon Fire’s Home Carousel: Make a Great First Impression

We covered Fire phone’s new enhanced home carousel and how you can expose content from your app directly on the home screen.


Firefly: Connecting Your Apps to the Physical World

We posted examples of how developers are taking advantage of Fire’s new Firefly capabilities.


Amazon Fire: Design Best Practices for Dynamic Perspective

We covered some of the design principles behind the Fire UX and what you need to know to design the best customer experience possible.
 

Announcing the Amazon Fire Phone: App and Game Experiences Never before Possible

We unveiled Fire, the first phone designed by Amazon.  Fire is the first and only smartphone with Dynamic Perspective and Firefly. With Fire Develop SDKs available now, these new technologies enable you to create more immersive experiences in your apps and games that increase user engagement.

 

For more information about getting started with Fire phone, check out the following additional assets:

 

-Dave (@TheDaveDev)

 

January 13, 2015

Paul Cutsinger

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.

Start a new project in Unity

Add the game object that we’ll control with the controller.

Create movement

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

(Timestamp 1:36)

Add button support

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.

(Timestamp 9:15)

Test the app on Fire TV

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.

(Timestamp 20:06)

Use the Fire TV controllers to move the cube around and change it’s colors

More importantly, you’ll be able to see how easy it is to respond to controller events in your app.

(Timestamp 24:21)


Now, how will you to integrate controller support into your game play and UX?

Ready to Submit Your App or Game?

  • To learn more about the Amazon Appstore, click here
  • Click here to register for free as an Amazon Developer. 
  • Click here to download the Amazon Mobile SDK. 
  • Click here to submit your app

Please let me know if you have any questions.

-Paul Cutsinger (@PaulCutsinger)

 

January 12, 2015

Jesse Freeman

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.

Whether you are a seasoned game developer or just getting started making your own game, chances are you are going to need a good game framework to build upon. A game framework could be as simple as a collection of code packed up into a library in a specific language, like JavaScript, or a more complex system of scripts, tools, and workflow built on a specific platform. Both types are designed to help speed up your game’s development. The last thing you want to be doing, especially when getting started, is reinventing the wheel. Here is a quick rundown of things to look for in a good game framework:

  • Speeds up development by including collision and physics, and handles input
  • Has good documentation and an active community to help answer questions
  • Is easy to pick up and matches your skill level (drag and drop for non-coders and low-level access for seasoned developers)
  • Easy multi-platform distribution, allowing you to get your new game on as many devices as possible

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 (Beginner)

https://www.scirra.com/

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 (Beginner to Intermediate)

http://www.yoyogames.com/studio

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.).

GameMaker is similar to Construct 2 in ease of use since you can perform drag-and-drop, event-based coding, and more advanced users can take advantage of its built-in scripting language called GML (GameMaker Language). GML is C based, so if you know C, JavaScript, Java, or C#, it will be familiar. But the language does have limitations, such as limited data structures and no classes. While the UI of GameMaker takes some getting used to, it’s still an excellent tool for 2D games, and its support for publishing to desktop, mobile, and HTML5 shouldn’t be overlooked.

Unity (Intermediate to Advanced)

http://unity3d.com/

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.

HTML5 (Intermediate to Advanced)

https://github.com/bebraw/jswiki/wiki/Game-Engines

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 (Advanced)

http://www.godotengine.org/wp/

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)

 

Want the latest?

appstore topics

Recent Posts

Archive