Sunday, 14 June 2020

The beginner’s guide to Android game development: Everything you need to know

Android game development

Android game development is a dream job for many people and an exciting hobby for others. The games industry is booming and has been outperforming the film industry for years now. In 2019, the combined industry grew 3% over the previous year, generating a whopping $120.1 billion. The largest share of that pie belonged to mobile games, which generated $64.4 billion!

So whether you’re interested in making money as an indie developer, landing a job at a game development studio, or just creating games for the love of it, there is a big audience out there that is excited to try your creations!

Also read: The best Android developer tools for getting started

And here’s the best part: Android game development is probably much easier than you think. Depending on the type of game you wish to create, there are a number of extremely powerful tools available that also make the process simple. Android is also arguably the simplest platform to get started with, thanks to the minimal barriers to entry and the huge ready-made market.

Android game development is probably much easier than you think.

This post is your one-stop shop to learning Android game development. Here, you will discover the different options available to you, the tools you need, and the resources that will help you get to the next step.

This post is the start of your journey to becoming a full-fledged Android game developer!

Android game development tools and options

The first thing to decide when starting out with Android game development is what type of game you want to build and what tools you are going to use to do that.

There are a plethora of different programs, languages, and approaches that can be used to build your first game. Which is right for you will depend on your goals and the type of game you want to make.

Here is what you need to know about the most popular choices.

Unity

This is the recommended method for the vast majority of Android game development. Unity is a “game engine,” meaning that it provides in-built physics, lighting, controls, and other elements. These streamline the game development process. Unity also provides a powerful-yet-simple interface for dragging and dropping elements into your game world. Such features make this tool extremely efficient for building platform games, 3D titles, and any other graphically-demanding experiences.

It also comes with built-in support for virtual reality and offers easy cross-platform compiling. This means you can release the same game on Android, PC, and iOS with relatively little extra work!

Also read: How to make an Android game – for complete beginners

This is not a watered-down “game builder” by any stretch, however. Coding in C# is necessary for practically any application, and the tool is used by the vast majority of professional game development teams targeting Android. In fact, the most popular titles in the Google Play Store were built using Unity.

If you plan on building a 2D or 3D action game, would like your title to be cross-platform, and don’t want to be limited by your tools, Unity is an excellent choice. Just as long as you’re willing to learn C#.

Unity is also free for personal use, but you will need to pay once your product starts getting large volumes of downloads.

Learning Android game development with Unity

To get started with Android game development via Unity, you can download the tool from the official website. You’ll also need to get the Android SDK (Software Development Kit) and follow the instructions to set everything up.

We have lots of tutorials to get you started with Android game development in Unity:

These will give you a basic understanding of C#:

You can also find a number of great courses online:

I also wrote a book on Android game development with Unity!

Android Studio

Android Studio is the “official” tool for Android development, which of course includes Android game development. This tool comes directly from Google and supports Java and Kotlin as the primary programming languages.

Android Studio is what you refer to as an “IDE.” That stands for Integrated Development Environment, which is simply the interface you use to interact with the programming language and tools (Unity can also be classified as an IDE).

When you download Android Studio for the first time, it will come bundled with the Android SDK, an emulator, and a host of other useful tools for testing, debugging, and more.

If you have no coding experience, then learning game development with Android Studio can be an uphill challenge

Why Android Studio is more challenging for game development

Whereas Unity is a game development platform first and foremost with a user-friendly drag-and-drop interface, Android Studio is much more of a traditional IDE. That means when you first boot up, you’ll be greeted by a bunch of files and some pre-written code. The rest is up to you!

This can be daunting and challenging for newcomers. If you have no coding experience, then learning Android game development this way can be an uphill challenge. You will need to familiarize yourself with:

  • Java or Kotlin as the primary programming language
  • XML for creating “layout files” (while there is a visual editor, it can’t handle everything)
  • Android app lifecycles
  • The structure and hierarchy of different source files and resources in an Android app – what do all these files actually do?
  • Dependencies, the Android Manifest, Gradle for building your apps…
  • The quirks of Android Studio itself

Google is constantly implementing new features and tools (like the recent Motion Editor or Jetpack Compose) and this can present a struggle when trying to figure everything out! Of course, there’s no requirement to learn these additional elements. But with so much stuff it can be a headache just knowing where to start. There seems to be 10 ways of doing everything!

Also read: Java tutorial for beginners: Write a simple app with no previous experience

Moreover, Android Studio does not come with built-in physics, rendering, or other useful features for Android game development. If you want to make a 3D game this way, you will either need to rely on external libraries and tools, or create all of the logic, physics, and rendering yourself from scratch!

In short, this can drastically extend the development time for any kind of action game, which is why even professional studios prefer the likes of Unity.

However, if you want to learn Android game development specifically, then this official method will provide you with a lot of marketable skills. Not only that, but you will be able to easily keep your app up-to-date with the latest version of Android, achieve a Material Design aesthetic, and handle every piece of the puzzle yourself.

Learning game development with Android Studio

Using Android Studio is a feasible option then if your game is:

  • A puzzle game that consists of static screens rather than lots of animations
  • OR a relatively simple 2D action title
  • You have previous coding experience
  • OR you are willing to put in significant time and effort to learn the official Android development tool

To get Android Studio up and running on your machine, you can download it here.

Android development

We have plenty of great tutorials for beginners starting out:

You can also find a number of excellent courses online:

Other options for Android game development

Together, Unity and Android Studio will be enough to handle nearly any kind of Android game development. However, there are also other options available which may appeal to some developers under specific circumstances.

For example, Unreal Engine is a powerful alternative to Unity for those interested in 2D and 3D game development. While Unreal is popular on PC thanks to its incredible graphical prowess, it is more fiddly to get to grips with than Unity and doesn’t lend itself quite as well to 2D mobile development. Updates are gradually seeking to change that but, for now, Unity remains the preferred choice for Android game development.

Visual Studio with the Xamarin extension is a good alternative to Android Studio, meanwhile. If you don’t want to use a game engine, but wish to port your finished product to both Android and iOS, this is a strong option. Many people find Visual Studio to be more intuitive than Android Studio too, and you’ll be coding in the slightly-simpler-than-Java C#. Support is slightly less comprehensive than it is for Android Studio, though you won’t need to wait long for new updates to be made available.

Android game development visual studio

Credit: Adam Sinicki / Android Authority

Game makers

Finally, for those that don’t want to learn a ton of code, there are a number of game builders available that involve little-to-no programming. By far the most powerful of these is GameMaker Studio 2. This is a powerful game engine and IDE that simplifies the process of building games as far as possible. The tool is not free, though it is affordable, and does involve some code at higher levels. However, it represents significantly less of a learning curve as compared with the likes of Unity, while still providing a professional suite of tools. In fact, popular titles such as Hyper Light Drifter have been built using GameMaker.

There are many more “game maker” options available too. One of the most beginner-friendly options if you don’t plan on going pro is GameSalad.

Closing comments

As you can see then, Android game development can mean many different things depending on your preferred flavour. The best advice I can leave you with is to start simple. Don’t try to reinvent the wheel: set a simple challenge that will structure your learning and encourage your development, then move on to bigger projects. If I was forced to choose, I would also recommend choosing Unity as the best tool for most developers.

Whatever you decide, Android game development is an extremely fun and rewarding process. Stick with it, and who knows what you might create!



from Android Authority https://ift.tt/3fosUVO

No comments:

Post a Comment