There’s a lot of new stuff to announce:
-
Jan Adamec is developing a mobile view3dscene: a viewer for various 3D and 2D models our engine can handle (X3D, Collada, Spine JSON…) designed to run on Android and iOS!
-
You can use the <custom_options> in CastleEngineManifest.xml to specify custom FPC options for compiling your game.
Thanks to Jan Adamec, you can also specify custom options on the build tool command-line: add something like
--compiler-option=-dMY_SYMBOL
to thecastle-engine compile|simple-compile|package ...
command. -
New section in manual about optimizing PNG loading.
-
New engine demo test_bump_mapping, to easily show bump mapping (with steep parallax, and self-shadowing) with animated light working everywhere — on mobile too.
-
GLFeatures.Memory to query GPU memory information. This way you can easily detect graphic cards with lower memory (e.g. test
GLFeatures.Memory.LessTextureMemoryThan(1024)
), to eventually load some alternative (e.g. smaller) textures. -
When loading Spine JSON models, the atlas name is now more eagerly auto-detected. Loading various examples from official Spine installation will now (again) work.
-
New feature allows to apply fog from
SceneManager.MainScene
to the rest ofSceneManager.Items
. See UseGlobalFog. This is enabled by default, thus potentially changing the way your game looks. I decided to enable it by default, as it’s consistent withUseGlobalLights
, which is also enabled by default. -
RenderControlToImage is a new powerful function to easily render any
TUIControl
(like a scene manager,TCastleSceneManager
!) into an RGBA image. It uses using off-screen rendering and FBO underneath (and thus you’re not limited to your window size). -
Thanks to Jan Adamec, you can now associate files to open with iOS application. An equivalent for Android is in-progress 🙂 See the CastleEngineManifest.xml in view3dscene-mobile for example usage. The
Window.OnDropFiles
callback will be called when user will use our application to open a specified file type on a mobile device. -
Creature corpses using
TCreatureResoure
by default no longer collide. ChangeTCreatureResoure.CollidesWhenDead
(orcollides_when_dead
inresource.xml
file of the creature) if necessary. -
Fixes and a huge optimization for CastleCreatures if you have many (like > 50) creatures on your level.
-
Jan Adamec wrote a nice documentation how to set up FPC to compile from Mac OS X for iOS and Android on. Things are a little more complicated than usual there, due to having both 3.0.2 and 3.0.3 compilers.
-
The option
--fpc-version-iphone-simulator
of the build tool is auto-detected now by default. So it will be 3.0.5 for FPC 3.0.4, and thus work correctly out-of-the-box in more cases. -
Also, look what Michalis is doing right now: Wyrd Forest – terrain and spawning fun 🙂 See code on GitHub.