I've been building Aselteria: 2D Magic RPG on my own — a pixel art action RPG for Android where you combine spells to rebuild a fallen magic academy. It's now on Google Play (free), and update 1.0.8 just went out. My dev machine is a laptop with 4 GB of RAM, so a lot of my choices came from that limit.
Here are the things that actually mattered.
Godot 4 with the Mobile renderer
Godot opens fast and runs fine on 4 GB, which is the main reason I picked it. I target Android with the Mobile renderer, keep _process work light, and avoid real-time lights and post-processing. Everything is GDScript with static typing (var speed: float = 200.0), which catches a surprising number of mistakes before they reach the phone.
"It works in the editor but not on the phone"
My worst bug: a shader effect looked perfect in the editor and simply wasn't there on the phone. No crash, no visible error. I spent a long time on the shader before running adb logcat while the game was open — and it said the resource didn't exist. The file was matched by my export exclude list, so it never made it into the APK.
Lesson: when something is missing only on device, read adb logcat first. I now run a small script that checks every resource the game loads against the export filters.
Measuring the APK instead of guessing
To see what makes the package big, I export just the data pack (--export-pack) and list its contents by size. Large lossless backgrounds were most of the weight — not code, not audio.
UI that fits every phone
Two Godot UI traps cost me days: a TextureRect's expand_mode has to be set before its size, and a wrapping Label needs custom_minimum_size rather than a fixed size. I added a test that loads each screen at several aspect ratios (including 20:9) and reports any control that overflows.
Balancing with a simulation, not vibes
I wanted the level curve to feel even: XP comes only from story chapters, roughly 8 levels per chapter. Rather than replaying the whole game after every tweak, a small headless script simulates a run and prints the level at each chapter and how many hits each enemy takes. Changing a number and re-running takes seconds.
Art
Spell effects use a licensed hand-drawn effects pack; some other art was made with AI image tools and edited by hand, which I disclose on the store pages.
What's in the game
- 10 spells on 4 action slots (burn, freeze, stun, poison)
- Bosses with attack patterns and rage phases
- Forests, crystal caves, volcanoes, sky fortresses, a sunken city
- Touch controls (joystick or buttons), playable offline, English and Turkish
If you want to try it: Google Play · itch.io page
I'd love feedback on difficulty and the touch controls — and happy to answer questions about Godot on low-end hardware.

Top comments (0)