-
We introduce a new class TCastleBehavior which can be attached to any TCastleTransform to perform some job. You can create descendants of it (or use ready descendants of it in CGE) and override methods like
Update
.It’s a nice way to express some ideas. We right now feature TCastleBillboard and TCastleSoundSource build on top of this.
The first demo is inside examples/creature_behaviors. Also our template “3D FPS Game” already uses it to define
TEnemy
class.If you come from Unity and are interested “what is the equivalent of
MonoBehaviour
in CGE” then theTCastleBehavior
is now the best answer. Documented on CGE for Unity page.This is a work in progress!
-
First of all, editor can and will provide support to add and configure behaviors visually. It’s not a big deal,
TCastleBehavior
is just anotherTComponent
descendant, our architecture of editor/serialization can handle it. -
TCastleSoundSource
can be even better, and it may become the most advised and easy way to setup sounds in CGE. -
I’m working on
TCastleMoveAttack
(in CastleBehaviors unit) to provide out-of-the-box creature AI for games. And it will be a basis of new approach for creature AI in CGE, deprecating currentCastleCreatures
unit.
-
-
LoadNode overload that takes a
TStream
with scene contents, andMimeType
as aString
. -
SaveNode, a better name for
Save3D
, with simpler API (Save3D has way too many overloads, and is now deprecated). With only 2 overloads, to save toURL
or toTStream
. -
TImageTextureNode utilities to load images from any TStream or TEncodedImage instance, without the need to load from any URL: LoadFromStream, LoadFromImage.
This simplifies some use-cases of
TImageTextureNode
, where you don’t have an URL (supported by CGE downloader) but you have a ready TStream or TEncodedImage with image contents. An alternative approach in this case is to useTPixelTextureNode
, but this is sometimes cumbersome, as 1. converting at runtime betweenTImageTextureNode
/TPixelTextureNode
is bothersome, 2. serializingTPixelTextureNode
to file is very verbose (using X3D SFImage text syntax). -
I have extended X3D 4.0 to include alpha treatment parameters that correspond to glTF parameters: Appearance.alphaMode and alphaCutoff (in Pascal: TAppearanceNode.AlphaMode and TAppearanceNode.AlphaCutoff). So these are now handled in both X3D 4.0 and glTF in CGE. Testcases: in X3D in my x3d-tests, in glTF in glTF-Sample-Models.
-
New examples/3d_rendering_processing/transform_speed_test/ – speed test of many TCastleTransform instances.
-
Documentation how to implement new Android services.
The above page is directed at Android services. For iOS, there is a shorter section here. But a lot of concepts are (deliberately) very similar between Android and iOS services.
Castle Game Engine 7.0-alpha.1 release, view3dscene 4.0.0 release
We proudly present the first alpha pre-release of Castle Game Engine 7.0. It is time to break the long period of waiting since CGE 6.4!
We emphasize that it is a pre-release. We’re still working on a finished 7.0 release, where all the features are polished, all examples are reorganized to show the new approach, all of manual is updated to show editor usage etc. In the meantime, we feel (since a long time now) that what we have is fantastic, and a big step forward since the last CGE release.
The most important new features are:
- CGE editor
- glTF 2.0 full support and realistic rendering upgrades
- Nintendo Switch
- Better API for viewports and cameras in
TCastleViewport
- Third-person navigation (with avatar)
- TCastleDownload class, to make asynchronous (non-blocking) downloading
- Load sprite sheets and images to TCastleScene
- Big user interface classes improvements
- Easy serialization of components as JSON
- CastleSettings.xml file support
castle-data:/
protocolTCastleBehavior
to enhanceTCastleTransform
functionality likeTCastleBillboard
orTCastleSoundSource
- Many optimizations and profiling features
- New screen effects API
- Easy mirrors on flat surfaces
- Localization
- Animation blending improvements
- Many new notable examples
- Android support for Arm64, many new services, upgrades to build infrastructure
- iOS vibrations, GPU compression, IPA building, new services
- Physics detecting collisions, settings and triggers
- Sound backends, FMOD backend, LoopingChannel, sound streaming
The more complete list of changes is here. Even that longer list is just a summary — just browse our news to know all the details.
Along with the new engine, we also release view3dscene 4.0.0 and castle-view-image 2.0.0. These tools are packaged within the main CGE download (they will be automaticaly invoked if you double-click from CGE editor on a 3D scene or image), but you can also download them separately.
-
New view3dscene 4.0.0 features include CGE improvements, like glTF support, X3D 4.0, Spine improvements, sprite sheets, animations panel (test animations, with cross-fading, simultaneous animations), dynamic batching and more. It also features a few new view3dscene options like “Edit -> Convert Inline to Group (pulls external content into this model)” and gamma correction configuration.
-
castle-view-image 2.0.0 features CGE improvements, like removal of dependency on libgtkglext and libGLU.