It’s been a while.

When I published my last development update, the plan was to move straight from testing into launch. Life had other ideas.

Shortly after finishing the last major development sprint, another work project required my full attention. What I thought would be a short pause turned into several months where Connect 3D received very little attention. The game wasn’t really abandoned, but it definitely entered a kind of hibernation.

For a long time, the project simply sat there: finished enough to launch, but not quite launched.

Mid May, I finally decided it was time.

Preparing for App Store Reviews

One thing that surprised me was how much information I found online about app review horror stories, especially for multiplayer games and especially on Apple’s platform.

The more I read, the more I realized that getting approved wasn’t only about technical quality. Reviewers also need to see that the product is safe, functional and usable under real-world conditions.

That led to a few last-minute improvements.

Chat Controls

Connect 3D includes an in-game chat system. While I still think it adds a lot to the social experience, it also introduces moderation concerns.

To improve safety and increase the likelihood of passing review, I added some new controls:

  • Players can completely disable chat.
  • Players can choose to only allow chat from friends.
  • Chat settings can be changed at any time.

This gives players much more control over their experience.

Block List

I also added a block list. Players can now block other players they don’t want to interact with or play against. Once blocked, those players won’t appear in matchmaking results and future interactions become limited.

Thankfully I haven’t needed it myself, but it felt like an important feature to have before launch.

The Return of the AI Players

One particularly interesting piece of advice I encountered was that multiplayer games with very small player populations can struggle during manual review when publishing a new game.

The concern is obvious: If the Google/Apple reviewer starts the game and there are no players online, what exactly are they supposed to test?

Because of that, I decided to bring back the AI players that I originally built during development for test purposes. This time, however, I redesigned them.

Connect 3D now includes ten different AI personalities, each with their own play style configurable server side for easy modifications. Some play aggressively, some defensively and some make decisions that seem almost suspiciously human.

If a player searches for a random opponent and no suitable human match is available, one of these AI players can step in. Not only did this improve the review experience, it also makes the game more enjoyable during quiet periods so in the end I decided to keep it in even after the review. And honestly, it was fun to revisit the AI system after all this time.

Privacy Policies and Legal Work

I also spent time polishing the less exciting parts of launching a product.

The Privacy Policy was updated, the Terms of Use were reviewed and I made sure all account handling, chat functionality and data retention policies were documented properly.

Nobody starts a game development project dreaming about writing legal documents, but it’s an important part of releasing software responsibly.

The Reviews Were Approved

Then came the moment I had been preparing for. I submitted Connect 3D for review.

And waited.

And waited.

And… surprisingly little happened.

Google approved the game after three days. Apple approved it after six days. Both passed on the first attempt. Honestly, I wasn’t prepared for that outcome at all. After spending so much time reading about review rejections, resubmissions and endless review cycles, I had fully expected a list of improvements to work through. Instead, both platforms simply approved the game.

Suddenly Connect 3D was ready to launch.

Launch Day Surprise

The launch itself on May 28 went smoothly.

Mostly.

I knew there were still a few embarrassing minor bugs in the game that I had planned to fix when I got rejected in the review, but really nothing serious enough to delay release.

Or so I thought…

Very shortly after launch, reports started coming in that Google account login wasn’t working at all!

This was incredibly confusing. I had tested it extensively. Every Android tester had tested it. It worked perfectly for me. It worked perfectly for everyone involved in testing.

After a frustrating investigation, I finally discovered the cause: There was absolutely nothing wrong with my code. The issue was that Google Play Games Services needed to be submitted and approved separately within Google Play Console. Because all of my testers were already registered as testers, they never encountered the problem. Only completely new users were affected.

The fix itself was simple. Finding the cause was not. That’s probably the most realistic “launch experience” I could have asked for.

Marketing Begins

Now that the game is actually available, I have a new challenge: Getting people to discover it.

I’ve started creating videos for YouTube Shorts and TikTok and experimenting with different formats.

Game development feels relatively straightforward compared to marketing. Building the product is one thing. Getting people to notice it is something else entirely.

There’s still a lot for me to learn here.

Why I’m So Happy I Chose Microservices

Looking back, one technical decision stands out as particularly successful. The microservice architecture. Initially, I chose microservices largely because I wanted to learn the technology. I expected it to be educational. I didn’t expect it to become one of the most practical decisions in the entire project.

Since launch, I’ve already made several server-side changes without impacting the rest of the platform. Because all business logic lives on the server, I can change gameplay behavior, matchmaking rules, AI logic and other features without requiring players to download a new version of the game.

Using loosely coupled microservices and configurable business logic has made this even more powerful. Most changes can be developed, tested and deployed in isolation. I rarely need to stop anything, and I don’t have to worry about unrelated parts of the platform being affected.

The most recent example is the AI system.

When I decided to reintroduce AI players before launch, the AI already existed as its own microservice. Adding it back was simply a matter of connecting it to the existing ecosystem. No client updates. No major changes to the other services. No complicated deployment process.

The same applies to balancing and fine-tuning. I can adjust AI personalities, matchmaking rules, or gameplay parameters directly on the server without any deployment. Players receive the updated behavior immediately, without downloading a new client version and without noticing any downtime.

What started as a learning exercise turned out to provide real business value. Development moves faster, deployments are safer, and the platform is far easier to evolve over time.

As a learning experience, microservices were a success. As a practical architectural choice, they turned out to be one of the best decisions I made during the entire project.

Looking Ahead

Connect 3D is finally live. That sentence still feels strange to write. I don’t know how many players I’ll get. I don’t know whether the game will become popular. I definitely don’t know if it will earn enough money to even cover its server costs.

What I do know is this: A little over a year ago, this was just an idea. Today it’s a real product running on real servers with real users. And that’s something I’m incredibly proud of.

I’ll be back later with another update on player growth, marketing efforts, server performance and whatever surprises launch life decides to throw at me.

— Elena