Hello People. Let's sum up what we did this month (spoiler: a lot). Basically, everything we pointed out at the end of the previous devlog.
We started the month thinking about how we can improve the networking. There are many ways the game can run: Server Clients, Host Clients, or Room Shared Authority - which is what we have now.
We checked options to move to different solutions, but it would require an entire refactor of the game. So, we remain with the current model - which should work fine with the current state: a casual game with action elements where people create rooms themselves. The problem of course is that we cannot add intense action elements or a serious ranked mode because that would require more precision. Anyway, if there are a lot of requests in the future we will consider that option again.
First, we made the materials, bounciness etc of players better so it feels good to fight others. But the core work in the networking area was fixing issues.
As we said the model is that one player is the Master and controls the game, bots and syncing messages. If this player has a bad network everyone suffers. Therefore we added logic that checks which player has the best network and they will run the game mostly. It significantly improves the experience for everyone.
This happens pretty rarely, but it does. And when it does it's really irritating. So we added mechanisms to avoid it and, if it happens, to detect and fix the issue as soon as possible. So usually fights go fine, but in the rare cases the network desync happens - we will detect and fix the issue so you can keep fighting.
I don't consider myself, you know, top drawer. But on the other hand it creates the cartoony, original style of FTB because it looks like a 5 year old drew it, which kind of makes FTB to stand out.
We also wanted each area to have a unique background. I once paid a great artist to create the current backgrounds in the game. It's expensive. So, as I don't have epic drawing skills, I tested with AI and made backgrounds for each zone, a variation of day, evening, and night. Now each area has its own unique background.
As we told you in the previous devlog, there was missing stuff like a lose screen, a lose sound etc. So we added them. In general, we spent weeks fixing bugs, and now the game is really stable. This is partially thanks to realizing we can collect logs, crash reports etc. It is already in the privacy policy but not really utilized yet, and it really helped fixing issues that happened, for example on devices of my family and friends where it's not me testing with a connected USB cable to the computer. Anyway thanks for your game related data, I guess. We will use it to make FTB even better.
It is my first real, high quality (personal standards) game, and I had to learn a lot about optimization. So I learned, for example, that if a game runs on 60 FPS and I have 80 batches, it means the CPU sends 80 different requests of draw call textures to the GPU per frame. or something like that. That's a lot. The standard for mobile devices is to have around 30 such batches for older devices (Android 8) and around 50 for newer phones. And I checked the game on an old phone that we support - Android 8, and it was laggy.
So I will keep optimizing, reducing size, and trying to increase quality during development, but I'm currently satisfied with the results, and the big elephant in the room is eliminated.
So now the game is in a pretty stable state, and we are testing with friends and family for fixing final bugs on Android. What's next?
Planning, as I did in Android, to integrate with Apple Game Center for saving data, achievements and so on. Good luck to me bypassing requirements for Apple devices as I don't use their ecosystem at all.
There are also other small things that we can add: smart reconnection to rooms when network is lost (and not just kicking), allowing to add friends from within the game and not the main lobby, RTL support in chat and messages, maybe a spectator mode and so on. Improving the look of Waiting Room and Duel maps, as we did the graphics thing only for the main map. But the core vision of the game is ready.
After that, I guess we start testing and marketing. I'm so glad I had the opportunity to revive this game. It's like the first (and only) child, and the father went to fetch milk and came back after 5 years. Soon the testing phase, soon the For The Battle Reboot.