Castle Game Engine 4.0.0 release! And view3dscene 3.12.0, and castle 1.0.0, and more

January 26, 2013
FPS game screen
FPS game screen
Lazarus form with 2 castle controls sharing textures
resource_animations: Knight default idle animation
Missile (arrow) stuck in a wall
Testing dropping items on level
German Pavillion in the Universal Expo of Barcelona of 1929 (by Victor Amat)
Room Arranger with SSAO demo, shown by view3dscene
Final stages of RoomArranger viewer using our engine, with more controls and SSAO
Lights Editor playing with shadow maps
Lights Editor in view3dscene - fountain, shadow volumes settings

We proudly present the Castle Game Engine 4.0.0 release! This is the greatest release of our engine ever for ObjectPascal developers interested in making their own games:

  1. We introduce a high-level game API, to construct a fully-working 3D game really easy. This includes integrated units to manage levels, creatures (with smart AI), items, player, with inventory, management of 3D resources, easy 3D sound, flexible game data layout (you can use XML files to define a lot of things without touching game code), and so on.

    Of course, we use VRML/X3D for all the 3D models, so everything can be animated and interactive, and may use features like shadows, mirrors, shaders and such. See our demo 3D models (in particular, check new water/caustics/ demo inside, by Victor Amat, movie showing it is here).

    There are a couple new examples in engine sources. First of all, examples/fps_game/ is a must-see: it shows a complete working FPS game, with a lot of comments in the source code and data files.

    The engine is very flexible, you can derive new classes and override a lot of methods to customize behavior of everything in ObjectPascal. You can define new level logic, new creatures, new items, and finally you can also use basic 3D classes to easily create any 3D entities suitable for your game. You can also easily create your own viewports, scene managers, 2D controls, use 3D sound and much more. Everything is explained in the new tutorial.

  2. We have a lot of new documentation to show you how to use the engine:

  3. The full list of changes is definitely too large to fit into a normal news item. In the past I usually tried to list all the important changes in a release announcement, but there's just too many things this time :) New engine units include CastleCreatures, CastleItems, CastleLevels, CastlePlayer, CastleMaterialProperties, CastleResources. There are also countless changes in the rest of the engine to make it better and more integrated. See the news from the whole 2012 year for a complete list of details.

    For developers upgrading from engine 3 version: all of our unit names are now prefixed with CastleXxx, see doc/naming_engine_4.0.txt document. So you will almost definitely need to fix your "uses" clauses. Aside from that, the engine is quite compatible with previous version. Of course please ask of the forum if you have any questions about upgrading code from engine 3 to 4 (or about anything else, for that matter :)

We also release a new 3.12.0 version of view3dscene, our VRML/X3D browser and viewer for other 3D model formats. The most important improvements are listed below. Note that improvements 1-8 are actually in the engine, instantly available for all the games/applications using our engine. But most users will probably observe them in view3dscene for the 1st time.

  1. Navigating in Walk / Fly modes by mouse dragging.
  2. Using 3D mouse devices.
  3. Screen-space ambient occlusion (see menu "View -> Screen Effects" menu item, developers: try the ultra-simple TCastleAbstractViewport.ScreenSpaceAmbientOcclusion boolean property).
  4. All screen effects cooperate now with multi-sampling (anti-aliasing).
  5. UNIT statement from X3D 3.3 is implemented.
  6. VisibilitySensor node is supported.
  7. Many fixes to triangulating concave polygons.
  8. X3D extension to force Phong shading.
  9. New "Edit -> Lights Editor" feature.

Many thanks go to Jan Adamec for implementing the 1-3 features above (and more)! Our engine is used as VRML viewer for shareware Room Arranger.

All the other programs and data on our pages were updated to use/show new engine 4.0.0 version: The Castle 1.0.0 (finally!), malfunction 1.2.8, kambi_lines 1.1.7, view3dscene 3.12.0, rayhunter 1.3.4, glViewImage 1.4.1, glplotter 1.2.5, bezier_curves 1.1.9, glinformation 1.2.2, gen_function 1.0.5, demo models 3.2.0.