Improvements to AdMob service, list of engine features added since last release, and more articles about CGE from Andrzej Kilijański

Posted on

Castle Game Engine logo with title

Andrzej Kilijański wrote a few very nice articles about Castle Game Engine recently:

  1. Updates in Castle Game Engine Admob Service (also available in Polish) describing his recent improvements to our AdMob Android Service.

    We support now reward ads from AdMob, and the callback TAds.OnFullScreenAdClosed provides now detailed information why the user did not watch ad.

    See also wiki page listing breaking changes in CGE for more information how you can upgrade your code.

  2. Castle Game Engine stable 6.4 or beta 6.5 which version to use? (also available in Polish).

    Spoiler: use 6.5 🙂 It has been a while since the last stable version, and while we’re working on the next stable release (6.6), right now it makes more sense to use the “snapshot” 6.5 version (the download link is at the main page), especially for new projects, than the older stable 6.4.

    See also (much longer 🙂 ) complete list of changes since the last stable release.

  3. Free Pascal OpenGL App – Exception on window close (also available in Polish). This may affect you if you use Linux with proprietary NVidia drivers and stable FPC. The solution is to upgrade your FPC version, a process described in detail in the article.

Thousand thanks go to Andrzej Kilijański for writing these articles, and for continuously submitting new improvements to CGE! You can follow all his posts here, or you can also follow only CGE-related stuff in English or CGE-releated stuff in Polish.

Andrzej also added ASTC (texture compression) support to CGE lately, which is a nice GPU-compressed format available on most mobile devices (starting from 2nd generation of Mali-T600 series, Adreno 400, Apple A8). CGE now understands it (when ASTC images are inside KTX file format) and can auto-generate textures compressed to ASTC.

Comments on the forum ➤

Localization improvements (and a Japanese version of “Escape from the Universe”)

Posted on


I implemented a new comfortable workflow for localization using the CastleLocalizationGetText unit. It is documented in details in the manual about localization and is demonstrated by a revised examples/localization/gettext/ demo.

It was tested by localizing to Japanese an upcoming release of “Escape from the Universe” on Nintendo Switch. I will make more news about the game itself later 🙂

Details of new localization features:

  • Supports localizing user interface (designed using CGE Editor) really easily (just call TranslateAllDesigns). In more complicated cases, you have TranslateDesign or TranslateProperties.
  • It can generate GetText PO template files, to serve as immediate starting point for translators (use GenerateGetTextPo).

  • You can use CastleTranslateResourceStrings to translate strings declared in Pascal code as resourcestring. This is just a simple wrapper for FPC GetText.TranslateResourceStrings (it understands CGE URLs, works on all CGE platforms including Nintendo Switch etc.).

  • It’s extensible by overriding TCastleComponent.TranslateProperties. A single component can have multiple properties to translate (e.g. TCastleEdit has Text, Placeholder).

  • texture-font-to-pascal tool gets additional command-line option --sample-get-text-mo to add all characters mentioned in given GetText MO file.

Everything is documented, read and follow the links from our manual about localization.

P.S. In related news, the “Escape from the Universe” English version (for Europe and America) just passed the review by Nintendo, and it will be available on Nintendo Switch since August. I’ll post more information about it later 🙂 What it means for you is that Nintendo is completely fine with games being developed with Castle Game Engine 🙂

Comments on the forum ➤