Castle Game Engine 5.2.0 release
We're proud to present new Castle Game Engine release 5.2.0!
Be sure to also check out the slides and examples (data and code) from a tutorial about our engine given during the recent Web3D 2015 conference. They show (from the ground up) the creation of a simple 3D FPS game and 2D game.
The 5.2.0 release brings various improvements to the engine capabilities and API:
GPU texture memory profiler is now available. This tells you exactly which textures are worth optimizing (maybe scale them down, maybe compress for GPU, maybe remove alpha channel or convert to grayscale...). See TextureMemoryProfiler documentation.
Many improvements related to texture GPU compression (especially important on mobile platforms, where texture memory is precious):
New capabilities for font rendering: scaling:
TCastleFont.Scale
,
outline:
TCastleAbstractFont.Outline
,
TCastleAbstractFont.OutlineColor
,
print in rect:
TCastleAbstractFont.PrintRect
,
TCastleAbstractFont.PrintRectMultiline
,
TCastleAbstractFont.PushProperties
,
TCastleAbstractFont.PopProperties
.
TUIState
to help implementing simple UI mode switching (with possible stack).
New option android_project
was added to our build tool to support custom Java and manifest code in your Android project. This allows to integrate your Android game with Google Games (leaderboards, achievements, save games...), biling, ads, analytics and anything else you want:)
Getting and setting fields of X3D nodes has now clean API. Just use LightNode.Intensity := 0.5
instead of ugly LightNode.FdIntensity.Send(0.5)
.
By default we use fcl-image built-in handling of PNG format. This removes the need to use/distribute extra libraries for handling PNG on any platform.
On Windows GUI applications, we will log to the xxx.log
file by default, instead of trying to log to unavailable stderr. See the updated tutorial link about logging for details.
TCastle2DControl
component for easily creating 2D games. Already contains a ready T2DSceneManager.
Encrypt/decrypt XML data using BlowFish. In the simplest case, just set TCastleConfig.BlowFishKeyPhrase
property. This allows to encrypt your XML data, for example to prevent cheaters from easily modifying your game configuration variables in XML. It assumes that the particular value of BlowFishKeyPhrase you use is kept secret — e.g. it's compiled and maybe obfuscated.
Numerous smaller new features:
TDrawableImage.Draw3x1
,
TDrawableImage.Rect
,
TDrawableImage.ScalingPossible
,
TCasScriptExpression.AsFloat
,
TFramesPerSecond.MaxSensibleSecondsPassed
,
TCastleConfig.GetMultilineText
(plus a few helpers for TCastleConfig
to get/set RGB and RGBA colors),
TRectangle.Align
(plus related
THorizontalPosition
,
TVerticalPosition
),
TCastleSceneCore.AnimationDuration
.