We are happy to announce the first episode of the Amazon Developer Podcast!
In the Amazon Developer Podcast, I discuss technologies and trends in the mobile, apps, and games developer world with guest speakers and influencers from all over the world.
In this first episode, I interview Quang Nguyen, an indie developer at Asobitech and Amazon Developer Hero. We talk about multiple game developer-related topics, including why you should be developing mobile games in 2019, tips and tricks for indie game developers for self-promoting games, and how to develop and test apps on mobile devices.
The podcast is available here:
Here’s the full transcript!
Thank you very much for being here. Can you introduce yourself and tell our friends what you do and what you focus on?
Sure. My name's Quang and in my spare time,I’m a developer. I have a day job, but in my spare time I make video games.
You do work for Asobitech, right? You’re the founder and you work with your brother. Can you tell us more about it?
Asobitech is the company I put together eleven years ago. Wow, yeah, it's been a long time. I used to work in game development before, developing for the Game Boy Color. I left the industry. And I came back eleven years ago and I've been just relearning, catching up, and getting to a point now where we can make games.
You have been working in the gaming industry now for many years, more than eleven years. I think you probably seen this industry change a lot. So what are the things that interest you right now and you're focusing your attention on specifically?
Technology moves forward so, so fast now and we've been learning. It took us a long time to get to a point where we're comfortable with what we're gonna do. We're making mobile games primarily. There are also obviously PC and console we're also thinking about, but primarily mobile, mainly due to everyone having a mobile device and the more people we can reach… the better!
Talking specifically about mobile games, what kind of games are you focusing on and why are you working on especially that kind of game?
Sure, so our experiences is mainly with arcade games from the ‘80s and 90’s on computers and consoles, so we make very fast arcade-y casual platform games, thinking people can pick them up and play for short periods of time.
Why you get so focusing on this game category specifically?
For us, definitely it comes to our experiences, those are the games we spent most time with, these are the things we played us a children growing up. Of course, we also play bigger games but because we're a small team, just me, my brother, we try to make smaller possible developer times. Hence we make fast, quick games!
I know that you work with a variety of technologies. But do you work with specific pieces of technologies or game engines when you create your games?
So currently we're using GameMaker:Studio as our primary engine. This's due to us making primarily 2D action games and we feel GMS really, really works well with that.
When you use GameMaker:Studio, do you have any specific ways of approaching the creation of the game in terms of other tools that you use?
Yeah, so far we're looking at being cross-platform so being on mobile, computers, and console as well, and we looked at what engine fit the games we wanted to make. Also due to my programming experience, GameMaker was an engine that fit my coding experiences as well. So I find it very easy to code in this engine rather learning a new language.
A lot of developers are approaching the creation of games because now it's easier than ever to start creating new game. If you have to think back, what are the main differences in starting the creation of game now compared to when you started?
You should think about 10 years ago, the prolificness of game engines wasn’t really a thing, you had to make a lot of things from scratch. For example, we wrote in C and assembly language and also the platforms didn't really change that much. Now there are so many multiple devices and all the game engine support these so making games is a much easier process.
Lots of the new game engines allow for features like drag and drop. Do you think that these features democratised the creation of games?
The creation of the game is the most important part, more than learning to code. Back in the day, you had to be a programmer first before making the game. Now you can just use drag and drop and I've seen a lot of great stuff created with just a drag and drop.
I know you're a big fan of gamejams. Do you think that 10 years ago gamejams would even be possible at the same level you've seen it happening today?
Back in the old days, you had demo parties where you created these little demos to demonstrate your code that creates a whole game in such a short amount of time. That wasn't really heard of. Now with how easy it is to create a game with these game engines, you can do it in a day or in a weekend. It's really impressive.
You said the one of the reasons to use this new game engine is that they allow you to go cross-platform and target multiple systems. What systems are you targeting?
We are going mobile because we want to reach the biggest audience as possible. PC comes as a natural second, basically everyone has a PC at home. Regarding consoles, it would be nice to provide games on them, but it's not our primary focus.
One challenge a lot of developers are facing now in the mobile arena is that compared to a few years ago, this space is quite crowded. Is mobile today still a viable option for developers?
Yes, I definitely think so. If you compare it to the computer market, Steam and games on PC are more saturated, so it’s more important than ever to build a community that is visible. The number of apps and games is never going to decrease, we have to face this reality. With the added ease of creating games and apps, there will be more and more. As a developer, you will need to focus on your visibility and community building.
Speaking of visibility, you are always very vocal about the games that you're creating, even before the game itself is being released. Do you have any suggestions for developers who are approaching the first release of their games or that are still building their games?
With our game MaoMao Castle, at day one we started showing it at events. In two years, we've been in 57 events and counting showcasing the game. This is purely for building visibility. we want to show the game to as many people as possible, human interaction and face-to-face interaction with people is always more powerful than blanket emails. For example, coming to the Amazon Appstore Meetups I was able to meet you, Mario, instead of dropping you a blanket email that probably would move nothing. Face-to-face interaction is probably the most important thing that you can do to get the word out there.
How much is branding important for an indie game developer? Is marketing something only the big AAA games studios can afford?
As an indie developer you are probably a very small team, one to two up to 10 people. Branding is you. You are your own company. You need to make yourself as visible as possible, so everyone knows what company you are and what kind of games are you making. Your company is an extension of yourself: if you make yourself visible you make your company and your game visible.
Let's go back and talk about the creation of games and development. You’re very focused on mobile. There is a variety of devices out there, even if you're just talking about the Android devices were probably talking about thousands of different models. Also there are tablets, like Amazon Fire tablets, that you have to think about when you're creating the game. Do you have any suggestions regarding optimizing games for specific mobile devices and tablets specifically?
You need to look at all the ranges of devices, find out what are the minimum requirements for your game to work on, and aim for that. If it works well on the low-end device, you’ll be ok with anything above that. Among the things that you need to worry about are for example the touchscreen, as there are no physical controllers like keyboards or joypad on a mobile device. Your fingers will be the covering the screen at some point, and you want the interaction to be as natural as possible. You want to focus on a swipes, taps, and gestures more than on d-pads or buttons. Fit the game and the experience around the device itself. That really helps.
Not all devices have the same amount of compute power in terms of memory, CPU, dedicated GPU. How do you go about optimizing for a low-end device compared to a device where you know you have a lot of compute power available? How do you ensure customers can install and enjoy your games even on lower-end devices?
What we have done is we went out and got all the lower-end devices! For us, investing money on getting a low-end device is extremely important as it allows us sure that our games run fine on these devices. As a developer, you need to be very aware of memory restrictions. There are devices who only 1 GB of RAM, so if you are creating graphical assets, try to lower them in size to make it more efficient. I come from making games for the Game Boy, so I’m used to think like that. Game optimization is something that you always have to focus on. I know it is difficult, but if you optimize from the start and make sure that your routines are fast, it helps in the long run to support more devices. When you look at mobile optimization, it is something that you need to look at constantly. Test regularly. The mobile device that I use in my day to day is not a low-end device so if I would only use that for development purposes, I will not really have a clear idea of how my games run on low end devices. We are used to compile to HTML5 for testing. HTML5 is an engine is much slower than a native app. So if it runs well on HTML5. it will run smoothly as a native app. Also my brother and I work in different locations so we can compile to HTML5 and easily test it remotely. If we the all agree on how it runs, great and we build it as an APK and then usually… wow! Works even better as an APK!
One interesting thing about tablets is that a lot of developers just think about display resolution and not really about the physical size and shape of the device. When it comes to the graphical assets or even the way that you display graphical assets on the display, what is your experience optimizing for tablets?
When you are developing for specific devices, you need to physically hold these devices in your hand to fully understand what the best way to place the elements of the game is. You need to understand where your hands will be placed during the game play. If you're developing for a small phone, if your controls are taking up a quarter of the screen, that is a lot of real estate on the screen that is gone. If you are adding text, it still needs to be readable. You need to test. Test, iterate, test, iterate.
Speaking of Amazon devices, I know that you working on MaoMao Castle and have been using Amazon devices quite a lot to develop the game and to showcase it. What is your experience working with Amazon Fire tablets?
We test our games on Amazon Fire (7-inch tablet), we know that is the lowest-end tablet that Amazon produces, and we know that if it works well on the Amazon Fire, it will run on the other Fire tablets as well. We then also test it on the other models of Fire tablets (Fire HD 8 and Fire HD 10) to make sure the games runs well on these devices as well. Showcasing free game on the 7-inch tablet means that other people will see the game running well on the devices they have or their kids use. We realised sometime people go out and buy devices to play the latest games and then those games don't run on those devices because they don’t have the required specs. We understood that to reach the maximum amount of people we need to optimise our games to make sure they run on all devices.
Let’s close with a teaser: you've been working for a while on MaoMao Castle. Can you share something about how it is going? What are your plans for the immediate future?
MaoMao Castle has been under development now for two years and four months at the moment of recording this podcast. It has been a slower process than I hoped, mostly because it's a spare time project for me and my brother. We have other jobs to help fund the whole project. We’re looking to release soon aiming for somewhere in Q1 2019. We are looking into integrating Amazon GameOn APIs, mainly to look after our leaderboards.
One of the most important things for a mobile game is its social aspect. Playing games on your own device was always a very solitary experience. But if you can share that with other people, it becomes much more powerful. If you can share your high scores with other people and compete with other people it drives you to play the game more. Even just the ability to add cosmetic changes, it’s great but means nothing if you can‘t show it to someone. So we are going to have different skins in game, and the high scores, we'll show which skins are being used by the top players. We want these features to be very visible and build a community around it. It’s a very exciting time!
-Mario Viviani (@mariuxtheone)