HACKER Q&A
📣 abhad

Game engines for lightweight Android/iOS games?


Hi folks, long time lurker.

I had developed few minimal puzzles games using Unity 3D (back in those days it was called that) during my graduation years and really enjoyed what little I was able to produce with what little knowledge I had. They were nothing fancy, just flat translation/rotation/scale based animated games. Since then life happened and I switched to a full-time android role working on native app development.

I am really interested in getting back to game development (android/iOS) and wanted to hear from folks on how to go about engine/tools to use. Some of my main criteria/concerns are:

  1. Performance/Smoothness: Should feel like native components (60FPS) and easy to develop native-like UI components.
  2. Build size: Should not have a lot of bloat and produce builds that have size similar to native counterparts. 
  3. Basic 3rd party plugin support: Should support commons ad network, IAP, analytics, storage framework, etc.
My evaluation of current candidates

  1. React Native: Cross platform, native like performance, tons of existing JS packages to use from. 
  2. Flutter: Cross platform, native like performance. But don't think the current ecosystem for library has lots of options.
  3. Godot: Cross platform, heavily supported, easy to extend. But seems like an overkill for use-case, also produces build with more than native counterpart size. 
  4. Unity: Cross platform and lots of extensions to choose from. But again an overkill, large build size and excessive battery usage issue.
  5. Defold: Don't know much but heard its from the guys behind Candy crush and made specifically for 2D games. Need to explore more.
  6. iOS (xCode): I already have extensive knowledge of native android developer, might as well learn iOS development and build natively for both platform. Best platform, plugin, performance, build size support (best of all, just twice the dev effort)
Apart from Unity, I'll have to pretty much learn any of the tool/language I go ahead with. Hence the dilemma to choose which on to go ahead with.

Attaching links of games similar to my art-style

  - https://play.google.com/store/apps/details?id=com.balysv.loop
  - https://apps.apple.com/us/app/noodles/id967624193
  - https://play.google.com/store/apps/details?id=com.weplaydots.twodotsandroid
  - https://play.google.com/store/apps/details?id=com.weplaydots.plus


  👤 vitoralmeidasil Accepted Answer ✓
I second godot: easy to develop with, easy to make GUIs (or complex text-based layouts). The exported "executables" are pretty small and performance is acceptable for small mobile based projects.

👤 robbrawkly
I wish so bad that SpriteKit on iOS was cross-platform.

I'd recommend Godot. Unity's new ownership gives me pause to ever use it again.

Native is always best for longevity.