Ton of mobile (iOS, Android) improvements: iOS + OpenGL3, Google Play Billing upgrade, shadow maps precision, more

Posted on

Castle Model Viewer on iOS - dungeon
Castle Model Viewer on iOS - shadow maps
Castle Model Viewer on iOS - Spine JSON animation
Castle Model Viewer on iOS - chromatic aberration screen effect
Castle Model Viewer on iOS - SSAO and TouchSensor

As we’re preparing to release Castle Model Viewer on iOS, we’ve done a number of improvements to our mobile support for both iOS and Android:

  1. With big thanks to Jan Adamec, we have:
    • Upgraded our OpenGLES usage on iOS to OpenGES 3 (if only your system supports it; otherwise we still fallback to OpenGLES 2). This brings features like shadow maps to iOS rendering.

    • Fixed shadow maps precision on both Android and iOS.

    • Fixed screen effects using depth on iOS. (Though heed we still want to fix SSAO shader.)

    • Using this occasion, we want to mention that our Castle Game Engine iOS rendering is used in Jan Adamec‘s Room Arranger, a cross-platform application for designing your apartments and previewing them in 3D. Check it out, as a real application of our engine (through the library approach)!

  2. More iOS stuff:

    • Fixed opening associated documents on iOS when it causes launching the application.

    • Solve 2 AppStore validation issues if you used associated documents on iOS. So that your iOS application uploads smoothly to AppStore.

    • Added <ios override_icon=...> option to the manifest to enable specifying iOS-specific icon. This makes sense if you need to use a different icon for iOS than the other platforms (Android, desktop etc.), e.g. because your default icon has transparency (which is not allowed on AppStore).

    • Our iOS code migrated to use UISceneDelegate instead of deprecated AppDelegate. This makes our integration code follow latest Apple recommendations. Again with big thanks to Jan Adamec!

  3. More Android stuff:

    • We have upgraded Google Play Billing API to use version 8. This makes in-app purchases on Android follow latest Google recommendations and will pass validation when uploading application to the Google Play.
  4. More miscellaneous stuff, for both Android and iOS:
    • We have fixed our mobile Facebook integration, improving docs, tested on iOS and Android, and adding example examples/mobile/facebook_integration. It’s still admittedly a very simple integration, it’s main use-case is just to report application opening to Facebook Analytics. See it’s docs from Android services and iOS services.

Have fun with Castle Game Engine on your phone(s) 🙂 And if you like this, please support our work on Patreon. Thank you!

Start the discussion at Castle Game Engine Forum