Hi, I am somewhat of a beginner at Godot, and I would like to develop my first mobile-only game and share it on Google play store. I'm struggling to find up-to-date tutorials on how to do this, and I'm not familiar with any of the terminology such as SDK, JDK, or keystores. I have experience working in Godot, but I don't know what I would have to do differently from the ground up in order to create a mobile game. For example, how could I, working on PC, create a touch screen version of a joystick? Could I create the game first, then worry about mobile controls, or would having mobile controls require me to build the entire project from the ground up with that in mind?

I plan to:

Implement save data
Implement mobile ads
Implement mobile controls (as the game will only exist on mobile)
Publish the game on Google play store
Possibly publish the game on Apple play store

The features on this list are things that I do not know how to do, which is why I would prefer to start programming the game itself now, then implement these features later, but I can't do that because these features have to do with the entire structure of the program, and so I don't know if including these features would require that I start building the program from the ground up with them in mind. Because of this, I am currently only working on the art and music because I'm hesitant to begin development on a project that could be scrapped because I didn't prepare it for mobile support from the start.

Can anyone explain this process to me? Do I have to do anything special to allow for mobile support (and the aforementioned list of features) before I begin development, or can I start programming now and then worry about mobile support later? Are there any good resources that explain how to implement the features I mentioned?

Thank you for any help or advice you can offer!

I suggest starting with a trivial game. For example, put a cube and a sphere in the view, add a joystick for pushing the sphere into the cube, and add a point to the score when they collide.

Then implement the items in your list for that game. It might not be practical to put it in a store, but you can test it on mobile.

That way you won't waste a lot of time writing a complex game and then finding out that you can't do what you want with it.

There are some touchscreen joysticks in the Godot Asset Library. I've used this one and successfully exported it to Android:
https://randommomentania.com/2018/08/godot-touch-screen-joystick-part-1/
That was using Godot 3.x. It might require updating for Godot 4.x.
When running it on a desktop computer, the mouse emulates the touchscreen.

24 days later

Thanks, I began making a game that has one button just to test exporting to mobile, while I work on assets and code in a separate project that I'll copy over.

I've been following the instructions on Android's website (https://developer.android.com/games/engines/godot/godot-configure) to export to mobile, and in the "Export to Android" step it says, "The Unique Name field should be set to the package identifier used by your app in Google Play Console," but nothing more. I do not know what to type here, I set up an account on Google Play Console but I do not know what to enter into this field. Where would I search for the package identifier?

  • Cat replied to this.

    The Unique Name looks like a domain name in reverse order, such as com.example.gamename.

    Thanks for the quick response! So if I followed the format of com.example.gamename, can "example" just be whatever I want, or does it matter what I type there?

    Also, how easy would it be to update a game that has already been published to Google Playstore? Could I, for example, publish this completely empty test game (just a button with a label) , then simply give it an update where I build the game (top down space shooter) from scratch? In other words, going from a practically empty project to a working game, just using a single update. If that is an option and I do it, can I change the name of the game as well? I assume I would have to name the PackageID to what I want in advance. Or do you think I should leave the test game empty and start a new project then go through the exportation process all over again?

    • Cat replied to this.
      a month later

      Electroid com.example.gamename, can "example" just be whatever I want, or does it matter what I type there?

      You want the example to be the domain that you own.

      Electroid Also, how easy would it be to update a game that has already been published to Google Playstore?

      It's easy, but the review can take a while. From hours to days. And if it's your first app published ever, it can take up to 1 week.

      Electroid Could I, for example, publish this completely empty test game (just a button with a label)

      You can't. It will get rejected most likely, anything that is Published on Google Play Store, will have a person from Google to review it.
      But what you can do is, to have it as internal-testing. That way only you and your invited users can download your app from Google Play Store, privately.

      Electroid I change the name of the game as well? I assume I would have to name the PackageID to what I want in advance. Or do you think I should leave the test game empty and start a new project then go through the exportation process all over again?

      You can change the name, and everything, except the PackageID, that will stay forever. That's why Elon Musk will never be able to get rid of it, X will forever be com.twitter.android unless Elon decides to start a fresh app profile.

      Also, you can't delete! Any app entry that you have submitted will forever stay in your dashboard, you can unpublish it, but it stays there.