Blog

On-screen joystick/joypad game controller with Flame

October 6, 2019
34 minutes
Recently, I’ve posted a tutorial on how to make an on-screen gamepad controller. While it would be helpful, most modern consoles with controllers now support joystick as the main directional controls (or at least have a joystick beside the conventional arrows). This time we’ll be building an on-screen joystick controller for mobile games using Flame and Flutter. If you’re interested in the more basic and four-directional control tutorial, you can find it…

On-screen gamepad controller for Flame

August 22, 2019
41 minutes
Imagine a game that doesn’t allow the players to decide, choose, or control something. If you’re having trouble thinking of a game that matches that description, it’s because all games allow the player to control it. It wouldn’t be a game without any input from the player. This is the same for all games on all platforms with different hardware interfaces. Even for games on mobile devices that only have one…

Firebase, AndroidX, .dex file issue in Flutter

August 14, 2019
7 minutes
I’ve been making mobile games for some time now. Ready to take my games to the next level, I’ve been researching about and playing with Firebase. Firebase is great and I highly recommend it. It’s a set of services provided by Google that offers those common features that a developer usually needs to write repeatedly for every app. Features like authentication, real-time data storage with automatic sync, and others that I never…

Strava and Relive. How to continue using them together

July 12, 2019
7 minutes
Yesterday I got an email from Strava and Relive. Both saying they aren’t friends anymore and it’s the other guy’s fault. The Strava email suggested that “The current version of Relive violates several of the terms that we ask of API partners”. While the Relive email contained a link to a blog post explaining that new social features caused Strava to freak out and in response, Relive rolled back to a version…

Background Music in a Flame Game

June 23, 2019
15 minutes
The Flame version of _Langaw_ has been released to the Google Play Store. The number one negative feedback I got was that the background music keeps on playing even after the game is closed. The game has been updated and the background music issue has been fixed but the fix was a custom and non-reusable. In this article, I’d like to share a class that you can just paste in your Flame game project…

Adaptive Icon Design Guide for Android

May 18, 2019
6 minutes
Android 8 has introduced a feature called **Adaptive Icon** in an effort to make the launcher icons of all apps appear consistent. This affects launcher icons for all current and future Android devices. Recently, I’ve been publishing games to Google Play Store. Before this, it’s been years since the last time I uploaded an app to the Play Store. When I published [Langaw](https://play.google.com/store/apps/details?id=games.alekhin.langaw…

Setting Up a Widget-Tree Based Game with Flame and Flutter

May 11, 2019
7 minutes
One of the advantages of being a developer making your own games is that you have full control over the outcome. You control how a certain element functions or how an enemy character behaves. You can even control the (in-game) world and play around with the physical rules like gravity. With this kind of freedom though, most beginner developers find it hard to establish a structure when developing games along with the UI that goes…

Langaw, Flutters, and a Preview of Shadow Trainer

May 10, 2019
4 minutes
The past couple of weeks has been a busy time for me and the game development team. Releasing two games to the Google Play Store and developing one which is still in preview. Let’s start with the preview. ## Shadow Trainer This is the result of a one-day build game concept. Graphics are in draft status and are taken from `CC0` assets I found on the internet and still need to be reskinned. Some elements…

Game Finishing and Packaging Tutorial – Step by Step with Flame and Flutter (Part 5 of 5)

April 30, 2019
40 minutes
In this part of the tutorial series, we will focus on adding graphics and animation. We’ll pick up where we left off in the previous part where we have created an interactive-enough casual mobile game. The game will stay the same in features but with more movement and better graphics. Like the previous parts, there will be a demo video in the end. If you haven’t read the previous part, now is a…

Canvas Rendering Transform Basics with Flame and Flutter

April 19, 2019
15 minutes
Drawing graphics on the screen is an essential part of developing games. Sure, some text-based games exist but let’s face it, those are too specialized and only a few people understand how good they are (if they are). To capture the most audience (gamers) as a developer, you must produce a game that is graphical. Hence the need to know how to draw graphics on the screen. In my [Views and Dialog Boxes Tutorial…

Scoring, Storage, and Sound Tutorial – Step by Step with Flame and Flutter (Part 4 of 5)

April 18, 2019
50 minutes
Scoring and keeping the highest scores are essential for any game. Some games base the score on the number of coins collected, some base it on enemies killed, and some base it on survival time. We can’t ignore sound effects and background music either. Combined, those two could make or break a game. Besides a great game isn’t really a great game if it’s too quiet. Welcome to the fourth part of…

Accepting Player Input – Game Development with Flame and Flutter

March 28, 2019
5 minutes
By far the most common question asked by developers starting to use Flame and Flutter (that I know of) is how to accept player input like taps and drag gestures. For some reason, this basic seemingly simple task when developing games is giving everyone a hard time. If you don’t know what Flame is, it’s a minimalist game engine for the Flutter framework. You can find out more about it [here](https://flame-engine…