How to Create an Android Game Without Coding
Using Gdevelop, an open-source no-code game engine
Introduction
Is it possible to make Android apps without coding? Can you make an Android game without coding? The answer to those questions is yes. As a developer, coding and/or programming is almost inevitable, but what if you don't want to code yet you want to make apps, especially games? In this article, I will show you how I set out to create a cool android game without writing a single line of code. I will also share with you my thought process which you can employ when creating your games.
No-code Technologies
It is 2022, we live in an era where it is possible to create web applications and software by just dragging and dropping elements on a page. While the technology responsible is called No-code, that does not mean that no code is involved, it only means that the developer's focus is taken away from coding every single thing and fixed on creativity. With no-code technologies, the developer can focus on concepts like user interface and user experience (UI/UX). It should be noted that software and web apps built with no-code technologies are indistinguishable from those built with code unless the developer reveals how he/she built them. Because no-code makes developers focus more on usability, UI/UX, and creativity, no-code-built software tends to be better than regular software. I might also add that using no-code tools does not make you a lesser developer, rather it makes you a smarter one as you get more done in less time.
When I started learning web development back in 2016, I quickly realized how stressful and time-consuming it can get, but along the line, I discovered a tool called Mobirise. This tool can be used to create beautiful responsive websites based on Bootstrap; all you need to do is to drag and drop elements on a page, change their themes and/or colors and rearrange elements based on what you want to create, the result is almost always beautiful no matter your skill level. You can build a professional-looking website in a few minutes instead of hours.
I stopped using Mobirise because it went premium and almost all its important features require a premium subscription. Because I could not afford to pay a premium to use this useful tool, I was forced to learn to code.
Fast-forward six years later, we now have no-code tools like Webflow among others which enables developers to create websites by dragging and dropping elements on the page. Indeed, it is a wonderful time to be alive.
No-code Game Development
The year 2020 was the year I decided I wanted (among other things) to be a game developer so I began to research. Unity and Unreal Engine were (and still are) the most popular game engines in the world, but I had two real problems: 1. Using any of these game engines requires me to learn either C# or C++, my tech stack is HTML5, CSS3, Python, and JavaScript, having to learn another programming language seems like a lot of work. 2. I use a very old low spec PC that does not even meet the minimum requirements of either Unity or Unreal.
I then researched other game engines. Godot and Defold were other viable options. Godot uses a scripting language known as GDscript (Which I learned is very similar to Python.) while Defold uses Lua as its scripting language, Lua is also kind of similar to Python and JavaScript so I should have no problem picking it up. The only problem is my PC.
But I did not give up, as I continued my research, I found GameMaker 2 a no-code engine that enables you to create games using visual scripting, I also found Buildbox which makes creating Hypercasual games as easy as playing with Legos. The only problem with these engines is that they are not free to use. (Of course, you can try them out for free but most of their important features are premium.) At last, I found Gdevelop.
Gdevelop, according to the official website, is a no-code, easy, free, and open-source game engine. Instantly my interest was piqued, how can a game engine have all these features and still be free? To my delight, Gdevelop is free and it works on my PC. After downloading Gdevelop, I began to learn how to use it.
Gdevelop, instead of coding uses an event-based system that is based on If/Then programming. You set a condition and an action you want to happen if the condition is true. I spent most of the Covid-19 lockdown watching tutorials on how to use Gdevelop. I then realized that even though this game engine is free to use and open source, great games can be made with it. Between 2020 and 2021 I made a lot of games that never saw the light of day. It was only last week I began making a game I intended to release to the world.
Making an Android Game with Gdevelop
Since Gdevelop is a no-code game engine, there is no code to share in this article, I will only share my thought process and how I made a cool platformer shooter game with Gdevelop.
Assets
Game assets are the files that make up a game, e.g. music files, sound effects, images, and sprites. For my game, I got most of my assets from Kenney's website. I used Inkscape, the free vector graphics editor to modify the sprites I got from Kenney's (Sprites are the images representing the characters of a game like the player, enemies, coins, and objects.)
Game Idea
To keep things simple, I wanted to make an endless platformer shooter game; endless in the sense that enemies keep spawning and the player keeps shooting them till they run out of lives, bullets, or both. I found a sprite set of a rabbit holding a gun so I downloaded it and of course modified it in Inkscape. Since the main mechanics of the game are based on endless enemies, there must be a way to lose the game and a way to keep track of the score, the bullets must also be finite to make the game interesting. I also wanted a way to provide extra bullets and lives after a certain period to keep the game going. This is the game idea and I set out to work on it using Gdevelop.
Thought Process
(This is not a Gdevelop tutorial but you can find tutorial videos on the Gdevelop official YouTube Channel and documentation on the Gdevelop wiki.) Now that I know what I wanted to build, I opened up Gdevelop and started working.
The first thing is to make the player walk on platforms by giving it a platformer character behavior.
The platform on which the player will walk is given the platform behavior.
Next, I gave the character a bullet firing behavior to give it the ability to fire bullets when a certain condition is met, e.g when a certain key is pressed. I also gave the character a flash behavior to make it blink in and out of existence when touched by an enemy.
For the enemies, I created spawn points i.e. where they will keep appearing periodically, I also made them seek out the character so that they will always follow the player unless they are killed.
For the scoring system, I created a variable that is modified each time an enemy is killed. For the bullets, I also created a variable initialized at 100 so that each time a bullet is fired it reduces by 1.
The health of the character is also a variable initialized at 10; when an enemy touches the character once, the variable is reduced by 1.
I also made it so that the player can no longer fire a bullet when the bullet variable is equal to zero.
The game is over when the health variable of the player becomes equal to zero.
The player can reload bullets after a certain time, (I cannot remember the exact time I set for this to happen.) spawn points are created to provide the player with extra ammo, each extra ammo adds 10 to the bullets variable. The spawn points become active only when the ammo variable is less or equal to 50.
I did the same thing for the health variable. Spawn points are also created to provide extra lives only when the health variable is less than or equal to 8. The extra lives add 1 to the health variable.
For both the bullets and the health variables, It is important to make sure that the bullets do not exceed 100 and the health does not exceed 10 no matter what.
This is the thought process that led to the creation of my game. This is done without writing any code but by using Gdevelop's event-based system. You can create almost any 2D game you can imagine with this system. I recommend you visit the official YouTube channel to learn more.
Mobile Controls
Since I am building a game that will be made for touch screens, I needed to create mobile touch controls like “Jump”, “Left”, “Right” and “Shoot” buttons. The buttons’ purposes must be very obvious and they must be responsive. After experimenting a bit, I placed the “Left”, “Right” and “Jump” buttons on the left side of the screen so that the player can control the game with one thumb. The shoot button is placed on the right so that the player can move and shoot at the same time.
In Gdevelop, the mobile controls work based on the events system. A touch condition is attached to each button and the action they perform is specified based on their functions.
Making the Game Available for Android
Gdevelop has features to package an Android game either as an APK file or an Android app bundle. Since I wanted to share the game outside the Google Play Store, I chose the APK option and an APK file was generated for me in minutes. I did not write a single line of code.
Conclusion
One of the advantages of no-code game development is that the developer does not have to code every single thing leaving him/her free to focus on building fun games.
You can download the game I made here. Thanks for reading.