Units described here are deprecated.
-
Most of their features can be achieved easily
(and with much more flexibility) by using viewport and scenes directly.
See our plans for detailed reasoning.
-
In particular, using viewport and scenes directly
allows to design your levels using our visual editor,
and benefit from all the features we have (composing level from a number of scenes and primitives,
assigning skybox)
and will have (placing lights, editing materials) in the CGE editor.
-
The most prominent reason to keep still using these units is that CastleCreatures
gives you "ready creatures AI (artificial intelligence)".
We don't have an equivalent of if yet in non-deprecated units... but we work on it.
We will expose flexible creature AI as TCastleBehavior
descendant class
called TCastleMoveAttack
.
Units described in this section
implement a common logic typical to 3D games.
Using these units is optional. You can implement a perfect 3D game
without them (just use viewport and scenes,
the viewport already gives you flexible camera and navigation features)
and have full flexibility of a general 3D engine.
Using these units makes sense if your game concepts fit within typical concepts
of the 3D first-person shooter games, described below.
The features provided are:
CastlePlayer
:
Single player management.
Player has hit points, may collect items, may use weapons (short-range,
immediate shooting,
missile shooting), may be swimming, may have footsteps sound
depending on the terrain.
CastleCreatures
:
Creatures with various AI (artificial intelligence).
AI ranges from smart walk-attack-flee, to a trivial "missile" (fly along a direction,
explode on hit) AI.
CastleItems
:
Items that are pickable, may lie on the level, may be in player's inventory,
have icons.
CastleLevels
:
Levels allow to load a 3D scene with placeholders to define creatures and items,
to define water volume, to define move limit for player etc.
And utilities for the above units:
CastleResources
,
CastleGameNotifications
.