Sometimes it's painful. Sometimes it's fun. Most of the time it's both.
Eventually you get to the point where the product is sitting in front of you. You tested it. Your friends and family tested it. Nothing seems obviously broken.
So now it's time to publish.
In my case, I wanted to release the game on three platforms: Android, iOS and Windows PC.
Initially, I also wanted to release it on Steam, but then I looked at the additional work and publishing costs versus how much I expected to sell the game for and decided to leave Steam for later.
Three platforms already felt like plenty.
Achievements and leaderboards
Before publishing, I also wanted to add some platform-specific functionality, mainly achievements and leaderboards. Both seemed like useful features.Achievements give players some extra goals and things to unlock. Leaderboards give people something to compete over.
The basic idea is simple. The implementation isn't.
Android, Apple and Microsoft all have their own systems. Different developer portals, different IDs, different setup requirements, different asset rules.
You quickly discover that “add achievements” actually means “implement achievements three different times”.
That felt like a lot! So I looked for simpler ways. What I ended up doing was creating one master configuration file in the game. It listed all the achievements and leaderboards I wanted, including their names, descriptions, artwork and conditions for unlocking them.
Then Codex handled the platform-specific implementations around that.
That approach worked quite well because I still had one place where I could define what the game should do while letting the agent deal with a lot of platform-specific differences.
Of course, it wasn't completely smooth.
Several days because of one stupid file
I remember spending a few days trying to fix a problem with uploading Google achievement data.It kept failing.
I had no idea why.
So I tried different upload methods. Different files. Different browsers. At some point, I think I even tried another network connection because by then I had already tried every sensible idea and was moving on to the silly ones.
Eventually I found the problem.
It was my fault. Of course.
The upload file was malformed despite Codex telling me it was all fine. It was a classic "You're right, I didn't format the file right". It was the first time I shouted at my screen.
That's quite a good summary of development in general.
You can spend days investigating something that eventually turns out to be one small stupid mistake.
Agents help a lot with debugging, but they can also lead you astray, making you explore completely irrelevant possibilities if you don't know where the problem actually is.
Where platforms allowed me to test achievements and leaderboards before release, I did. That was extremely useful. Testing took a while as per usual. You can also automate quite a few checks or ask coding agents to help validate things before you upload. But it's always advisable to make that last, human pass, yourself.
Eventually all of that worked.
And I thought I was practically ready to publish.
Then I got into store assets preparation.
The publishing assets rabbit hole
Creating the actual app entry in each store is not particularly difficult. You fill in metadata, upload a build, configure pricing, add privacy information and so on. In an hour or so, you're done. You can now upload the build of your app and...Then you need screenshots.
Then banners.
Icons.
Promotional graphics.
Videos.
And different versions for different stores. And for every localisation.
And all that I knew. I worked with apps before and had plenty of experience making mobile releases. But publishing my game on my own made me appreciate even more the people I used to work with. Incredible designers, who delivered me exactly the right screenshots ready to upload. Incredible product marketers, who created descriptions, keywords, promo materials. Incredible engineers, who uploaded builds, made sure they passed all necessary checks so I could press one button - Publish.
It's so much easier when you're not working alone. But I was, and therefore preparing store assets took much longer than I expected.
I think I spent about two weeks preparing all of the publishing assets. Part of that was because every platform had slightly different requirements.
The other part was entirely self-inflicted.
I decided I wanted to release the game in around half a dozen languages immediately. Which sounds reasonable until you realise that localisation isn't only about translating the description. If your screenshots have text, you need translated screenshots. If your promotional graphics have text, you need translated graphics. If your videos contain text, same problem. Six screenshots become thirty-six very quickly.
And then another platform wants a different resolution.
At the time, I didn't really have a reliable way of automating this whole workflow. So there was a lot of manual exporting, checking, renaming and uploading.
This is one area where I think newer agentic tools can probably help a lot. Tools that can work with files and browsers should be much better suited to preparing store assets, checking dimensions, managing translations and maybe even helping with actual publishing. I'm planning to test that properly with the next product I release.
Game builds were ready. Achievements worked. Screenshots uploaded. Descriptions translated. Prices set.
So I pressed publish.
And waited.
Then waited some more.
I didn't really expect publishing to take that long. Again, my experience let me down - I was used to updating apps, which is a slightly different process from the workflow, but also from the approval perspective. All major stores are understandably worried about the quality of the apps offered on their platform. They all have review processes of different levels of rigour.
Microsoft was the fastest for me. Even with a brand-new developer account, the game was approved in a few hours and appeared in the Microsoft Store almost the same day.
Google took much longer, around eight to twelve days.
Apple took the longest, roughly two to two and a half weeks from submission to finally getting through everything.
That was my experience. Obviously, review times can vary a lot.
But the main lesson was that publishing time is real time.
If your game is “finished” on Friday, that does not mean it will be available on Saturday.
But I think you still learn quite a few rules by breaking them.
One example for me was the Apple preview video. Technically, everything was correct. Correct resolution. Correct format. Correct encoding.
The automated check accepted it. Then the actual review rejected it.
I had put the gameplay inside a decorative frame. Apple wanted the preview to show the actual app experience rather than additional decoration around it. So I had to redo it. And while I was doing it, my app couldn't be published. So remember that metadata can block your whole release. Your game itself can be perfectly fine, but one screenshot or one preview video can still hold everything up.
Even then, it didn't instantly become easy to find. Stores need time to index things and update search results. The easiest way I found to check was to stop looking through my developer account and search for the game like a normal user.
At first, searching for the exact title was basically the only reliable way to find it. Which makes sense. A brand-new game has no reviews, no sales history and no reason for the store algorithm to rank it anywhere interesting. You are basically starting at the bottom.
At that moment, though, I didn't really care. I could open the store, search for something that didn't exist a few months earlier and see my own game there. That felt pretty magical. I had spent a lot of time building something, and now anyone could technically buy it.
There was only one small problem.
Nobody knew it existed.
I think I spent about two weeks preparing all of the publishing assets. Part of that was because every platform had slightly different requirements.
The other part was entirely self-inflicted.
I decided I wanted to release the game in around half a dozen languages immediately. Which sounds reasonable until you realise that localisation isn't only about translating the description. If your screenshots have text, you need translated screenshots. If your promotional graphics have text, you need translated graphics. If your videos contain text, same problem. Six screenshots become thirty-six very quickly.
And then another platform wants a different resolution.
At the time, I didn't really have a reliable way of automating this whole workflow. So there was a lot of manual exporting, checking, renaming and uploading.
This is one area where I think newer agentic tools can probably help a lot. Tools that can work with files and browsers should be much better suited to preparing store assets, checking dimensions, managing translations and maybe even helping with actual publishing. I'm planning to test that properly with the next product I release.
Press publish and wait
Eventually everything was there.Game builds were ready. Achievements worked. Screenshots uploaded. Descriptions translated. Prices set.
So I pressed publish.
And waited.
Then waited some more.
I didn't really expect publishing to take that long. Again, my experience let me down - I was used to updating apps, which is a slightly different process from the workflow, but also from the approval perspective. All major stores are understandably worried about the quality of the apps offered on their platform. They all have review processes of different levels of rigour.
Microsoft was the fastest for me. Even with a brand-new developer account, the game was approved in a few hours and appeared in the Microsoft Store almost the same day.
Google took much longer, around eight to twelve days.
Apple took the longest, roughly two to two and a half weeks from submission to finally getting through everything.
That was my experience. Obviously, review times can vary a lot.
But the main lesson was that publishing time is real time.
If your game is “finished” on Friday, that does not mean it will be available on Saturday.
Automatic checks aren't the final checks
There is loads of advice online about app-store rules, and most of it is useful.But I think you still learn quite a few rules by breaking them.
One example for me was the Apple preview video. Technically, everything was correct. Correct resolution. Correct format. Correct encoding.
The automated check accepted it. Then the actual review rejected it.
I had put the gameplay inside a decorative frame. Apple wanted the preview to show the actual app experience rather than additional decoration around it. So I had to redo it. And while I was doing it, my app couldn't be published. So remember that metadata can block your whole release. Your game itself can be perfectly fine, but one screenshot or one preview video can still hold everything up.
Approved doesn't mean people can find it
Eventually the game was approved.Even then, it didn't instantly become easy to find. Stores need time to index things and update search results. The easiest way I found to check was to stop looking through my developer account and search for the game like a normal user.
At first, searching for the exact title was basically the only reliable way to find it. Which makes sense. A brand-new game has no reviews, no sales history and no reason for the store algorithm to rank it anywhere interesting. You are basically starting at the bottom.
At that moment, though, I didn't really care. I could open the store, search for something that didn't exist a few months earlier and see my own game there. That felt pretty magical. I had spent a lot of time building something, and now anyone could technically buy it.
There was only one small problem.
Nobody knew it existed.
