In the previous tech blog, we explained how to set up GameMaker Studio 2 and the Amazon Fire target so that you could start testing your game projects on an Amazon Fire device. In this blog, we are going to explain how to compile a final executable as an APK file and upload it to the Amazon Appstore so you can make it available to the public.
Previously, we covered some of the Game Options within GameMaker Studio 2 in relation to setting the up the correct SDKs to test your game, but when it comes time to publish, you will need to set up all of the Game Options otherwise you won’t be able to publish correctly. We'll only run through the important parts of the Game Options for building the final game package, but you can find complete information for each section from the GameMaker Studio 2 manual. To start with, let's look at the General Settings.
The most important things to fill out here are the Product Information and the Build Settings. The product information will be used to define how the product will be identified on the store, and you should give it a Display Name (which will be used on the store and for the Icon name on devices), a version number (always greater than any previous version you may have uploaded), as well as a unique Package Identifier. The Package Identifier is a reverse-url format identifier that is normally configured as "com.<CompanyName>.<GameName>"
IMPORTANT! This ID uniquely identifies your app on the device and on the Amazon Appstore. If you want to upload a new version of your app, the application ID (Package Identifier) must be the same as the original APK that was uploaded. If you change the application ID, the store will treat the APK as a completely different app. So, once you publish your app, you should never change the application ID.
You can see in the example image below how this should all look:
With the Product Information filled out, you should check the Build Settings next. If you've successfully been testing with a device, then you probably won't need to change these, since if it builds for testing, it should build for the final packaging. It's still a good idea to revise them and make sure that you are setting them correctly. In general, you always want to be on the latest build tools, support library, and SDK. You should note, however, that if you are using any extensions, you may need to bump the minimum SDK value up to whatever the Extension requires (check the documentation that comes with the extension).
The rest of the game options deal with various other features like orientation and gamepad support that you should check and change as required by your game before moving on to set up the Graphics.
The Graphics options will determine how your game displays and looks like this:
Important things to check here are the Screen Colour Depth and Texture Page options. With screen colour depth, if you choose 24bit, then your gradients and glows will be much smoother and subtle with less "banding," but it comes with a cost as it will also impact performance and it's still not the most used color depth. This does not mean that your project won't run on a device with 16bit color display, it will, but it may mean it's using extra resources for no gain.
For the texture page size, again, there is no strict rule for this, but you are probably better choosing a smaller size than a larger size to ensure compatibility with older Fire devices (if in doubt, simply leave it at 1024x1024). However, choosing too small a size may impact performance as it can increase the texture swaps required, but too large a size may mean that your graphics get distorted on devices that have less vRam and so the texture is scaled down to fit in memory and then scaled back up to be drawn.
The Icons and Images sections of the Amazon Fire Game options are where you set the different promotional images that your game will use on the Amazon Appstore. Each image should be authored as a PNG file and set to the size given, and they will be used as promotional Icons, as well as on-screen icons and splash screens when your game has been installed on the end user’s device.
In most cases, you should not have to change anything shown on the Permissions section of the Game Options. These should be set automatically for you when using GameMaker Studio 2 functions, but if you are using any third party extensions then you may have to select a permission manually. See the documentation that comes with the extension for more details.
Once you have the Game Options correctly set up, you are ready to compile your game as an APK for uploading to the Amazon Appstore. You can compile the game using either the VM or YYC options, although we recommend that final executables always use the YYC as it can give an important boost to performance. Note that the YYC may take longer to compile than the VM.
When you click the compile button, you will be prompted to select a location to save the final APK to, and once selected, the compilation of your game will begin. The compile process may need to connect to the Internet to download additional files and tools, which in turn may prompt a firewall alert - if this happens you should allow the connection, otherwise the build will fail.
Once the game has finished compiling, GameMaker Studio 2 will open an Explorer window on the created APK by default (although this can be changed in the Preferences), ready for you to upload.
With all the work in GameMaker Studio 2 done, it’s time to go over to the Amazon Developer dashboard and create a new app listing for your game. After signing in, you need to go to the main "Home" screen where you can see the latest announcements and the "Dashboard" for your uploaded apps (empty just now!). Click on the Add a New App button to get started:
You will be asked what kind of app you are wanting to add, and this can be either:
In this case you want to select Android. This will then take you to the main submissions page where you need to fill in the basic details for the submission:
This tab deals with the basic information for your app. The following fields must be filled in:
Once you are happy with the details provided, click the Save button to continue. Should there be any problem with the information provided, the problem fields will be marked and you will be given an opportunity to resolve the issues.
You will now be taken to the app overview screen where you can revise the information given and go through the checklist of actions before publishing:
We'll go through each of the sections of the checklist, but note that from this point on, you can leave the Amazon Developer Portal at any time and come back and continue where you left off. You also do not have to do each of the items in the order they are listed and can, for example, fill out the description then go back and fill in the pricing and availability later.
This tab deals with the availability of your app, and the first thing you should do is select the country where you wish it to be sold. In general, you would leave this as "All countries where Amazon sells apps," but if your app is region-specific then it may be that you want to choose the countries where it can be sold.
After that, you can select to have your app listed as free or give it a price. Should you choose to give it a price, you will have to select a base currency and add the value in that currency to the field, then (when you click outside of the form) Amazon will automatically calculate an exchange for the other available currencies. If you are not happy with the values that Amazon gives, you can click the "I'll set my own prices" button and then edit the prices that have been set previously.
Amazon requests that you also inform them of any other platforms that may have had the app released previously. If you click the yes button, you will be required to add a date for when the app was available. If you released the app on multiple platforms, you should add the date that it was originally released on the very first platform.
The final option "When would you like publishing to start" is so you can add a launch date for your app. Note that your app will have to be accepted after final submission first and that this may take some time (a few days to a week usually), so make sure that the launch date takes this into consideration. Leave this blank if you have no special launch date requirements, in which case it will be published to the store as soon as it passes the submission process.
When you are finished click Save and continue to the next tab.
As the name of the tab implies, here you must supply Amazon with all the written information to be associated with your app. This includes a short promotional description, a larger page description, and then some bullet points where you can list any outstanding features of your game. You can add some tags too, which will help when people search for an app from the Amazon store.
When you are happy with the text, you can click on the Save button to continue, or you can click on the button labelled Save and add a translation. If you select the latter, your base text will be saved, but a new tab will open where you can select another language and supply Amazon with a translation of the original text. These translated texts will be shown on the region-specific Amazon Appstores.
Once that’s done, don’t forget to click Save and continue.
This section needs little explanation. It's where you add the promotional images for your app, and each section details the size and type of image that you should upload. You may even upload a video of your app, but note that if the file size is greater than 30MB you should use the FTP uploader (for more information, click the link that is supplied on the page.) Click Save when you are finished here.
Giving your game appropriate content ratings is incredibly important as, if you fail to supply the correct ones, your app could be pulled from the store or your submission could fail. Basically, these ratings are used by Amazon to "target" your app at a given public audience and so you should try to be as precise as possible, since you do not want your beautifully crafted children’s puzzler to be aimed at an 18+ audience only!
When you have selected the appropriate ratings for your app, you should also click on any of the extra warnings that your app may contain gambling, advertisements etc. Click on the Save button when you are done.
This tab is for uploading your *.apk file and setting the necessary permissions and support options. Below are listed each of the options with a brief explanation of what they are for:
With all that filled out correctly, you can now press Save to store the information.
If all is correct, you should see the tabs each have a green tick on them at the top of the screen:
It is very important to review everything carefully at this point, as you can still edit all the information that you have provided. Once you submit the app for approval, this will no longer be the case, so better get it right the first time. Once you have reviewed everything and are happy with the information provided, hit the Submit button!
Your app could take some time to get approved (usually a few days, but it can take longer), and the main dashboard of your developer account will show the status of the app at every stage. Each of the different messages informing you of the app status are listed below:
Once this process is complete, your app will either be live on the store or require some further action from you to fix an issue that has been found. If there is an issue, then the Amazon team will inform you of it and explain what needs to be done to fix it. If the app is Live then congratulations! Your game can now be bought, downloaded, and enjoyed by the millions of Amazon users from the Appstore!