Choose your game engine carefully

One of my side projects that I've put on hold is a fun little skiing game called Twisty Slopes. It was initially based on Buildbox 3's "Twisted Road" template and was going to feature a skier navigating endlessly twisting slopes. 

I'd built a prototype which ended up with a snowball as a character (every skier I imported refused to stand up, no matter what I tried) and it played okay on the in-game previewer. 

The next logical step would be to try an actual APK. I exported a debug build to my smartphone and hit play.

My face almost fell to the floor: 3D performance was that bad. I'd heard reports in the Buildbox forums and on the Discord that things weren't good with Android 3D performance and had yet to experience it myself. 

But this was on another level altogether. It was so bad that I almost contemplated deleting the project there and then, but I decided to persevere. I played the game on Bluestacks, using an emulated Samsung Galaxy S8 and a OnePlus 3T, and this was playable at a steady 55 - 60 FPS.

I wanted real-world experience so I uploaded an Early Access build on Google Play to get user feedback. Someone very kindly played the game and gave me helpful tips, among them its performance being the main concern. 

I contacted Buildbox support about this and sent them my BBDOC. They responded fairly quickly, explaining how I needed to optimise the game by removing shadows and optimising the atlas, two things I'd already done. They also recommended that Android 3D games run on "near flagship level devices", which somewhat shocked me as not everyone will have one. 

This puts mobile game developers using Buildbox in a difficult position. Do you stick with Google Play and only publish 2D games or go with iOS and try 3D and 2D? Forcing devs to choose between the two is a little bit unfair as it restricts our potential market.

I decided that I'm go to rebuild the project in Unity. I will be working on it in the next few months and hope to show the final product then.

What can you learn from this?
  • Choose the right engine for your needs - read reviews, look at games made from it and explore forum posts.
  • Look at technical data - what are the shortcomings?
  • Play games made using the engine on the platform of your choice and compare to a different platform - what key differences are there?
  • Talk to developers wherever you can and ask questions.
  • How much support is there available? 
  • Is this a niche engine or is it widely used?

Post a Comment