Weekly devlog #17 - Android and vote result


Hi everyone! last devlog I proposed making the player smaller, and you all showed massive support for it! The vote finished with 86% of the players being in favor of it. So the next few weeks I will be working on that.

Android progress
I have made a lot of progress on the android version in the last two weeks. A week ago I released an update to the testers where I added the last few remaining things that were possible in the pc version, but impossible to do on android. For example editing blocks, trading, crafting, quests, buying items,  fighting monsters and using potions. This week I focused more on polishing it, so I added more sound effects, the menu music, a settings menu, particle effects, fixed a lot of ui bugs, and some performance improvements.


The android version is so close to being on the same level as the pc version. For the next update, I want the PC version to switch over to the same code base as the android version, so I really need it to be almost identical. Hopefully I can make it even better than the current pc version!

Performance
The android version had some performance issues at first, so I used a profiling tool to figure out what was causing it. I found out that there were two root causes: the lighting system, and the game engines ui system. Previously the lighting system would recalculate the lighting levels of the world every frame. This is of course not very efficient performance-wise, so I made a smarter algorithm that would only update the lighting levels when it changed.


Improving the performance of the ui was a bit more difficult, because it is part of the game engine I am using. I found out that most of the CPU usage of the ui came from the inventory. And by changing the layout from flex to grid it became a lot faster. But the ui was still very slow on the GPU. For example, opening the store made the fps drop to 30. Turns out the reason for that was that the GPU was doing a lot of calculations for each pixel rendered in the UI. These calculations were for things like borders, rounded corners and antialiasing. I was not really using any of that, so I just deleted that part of the code from the game engine, and it fixed the performance issue.

That's it for this week! Next week I will hopefully have some designs for the new character ready, and maybe even some new animations?

Get Crystal Realms

Leave a comment

Log in with itch.io to leave a comment.