As we get near the end of 2023, I want to simply thank everyone who supports Castle Game Engine in whatever way — on Patreon, by making games, by code contributions, by feedback, or just by simply being here and looking what we’re doing 🙂
The end of this year was a bit busy for me, admittedly, and I didn’t achieve yet some of our big goals I hoped for 2023 (like 7.0 release, or even 7.0-alpha3, or Delphi/Linux finish, or review of some very important PRs like Steam, new navigation components, Tiled improvements). But I hope to get there, there’s still one more week! 🙂 And we did a lot already, making the engine both more functional and also easier to use in many departments. See all things we added for 7.0-alpha3. We also have lots of new up-to-date training material, starting from “Bad way to play chess” 2 tutorial articles, though many manual updates, Pascal learning materials and finally slides and examples from all conferences I attended in 2023. I hope you enjoy this steady progress.
Onward with a description of most important recent API updates:
-
Undeprecated and made read-only
TCastleTransform.RigidBody
. This is just a shortcut forTransform.FindBehavior(TCastleRigidBody)
. -
Temporary but important
TCastleTransform.InternalMovesPhysicsBodies
— workaround for some cases when using physics, and moving parent object from code whilst children objects have physics rigid bodies. -
New
TCastleComponentFactory
— load a serialized component and instantiate multiple times. -
New
ComponentClone
— deep-copy (clone) any component. -
Some long-deprecated
CastleSoundEngine
API removed (or moved to private, so not accessible):SoundEngine.Sound
,SoundEngine.Sound3D
,SoundEngine.PlaySound
,SoundEngine.LoadBuffer
,SoundEngine.FreeBuffer
.Since a long time, we have better alternatives: play sound using
TCastleSound
,TCastlePlayingSound
,TCastleSoundSource
,TSoundEngine.Play
. See the sound engine documentation. These new classes provide much improvement (are easier to use from code, and are possible to setup in editor too).If you have any questions how to upgrade old API usage, consult above manual, and talk to us! A short map:
SoundEngine.Sound
can most usually be just replaced withSoundEngine.Play
SoundEngine.Sound3d
replacement is more involved, you need to useTCastleSoundSource
attached to someTCastleTransform
.
That’s it for today, but I hope to have bigger news very soon — hopefully still in 2023 🙂 Have a good Christmas, holidays, and a happy New Year everyone!
And since this was a year of AI boom, enjoy 3 AI-generated CGE + Christmas themed postcards attached to this news post 🙂