We support a wide range of formats for 3D and 2D data.
You can compile and package your games as
It's easy to compile the same game to many platforms.
We have a build tool to make it easy to compile and package your games. For example, creating Android apk is a breeze with it.
Out-of-the-box integration with an incredible number of services on Android: games (achievements, leaderboards), in-app purchases, ads, sound, vibrations, and much more. See Android Project Components documentation.
ComposedShaderor exhance with
Effect, see links above).
We have a comfortable and extensible implementation of scene manager and 3D objects. You have a ready implementation of levels, creatures (with AI), items, players and other things typical to 3D games.
Engine tutorial contains detailed information about this.
3D and 2D. Not everything is about 3D. Our API is perfect for 2D games too, with flexible (and pixel-perfect) rendering of 2D images, movies, text and everything you can compose from them (like GUI controls). We also support Spine which is very cool for creating 2D animations.
castle_game_engine/examples/subdirectory. For even more examples, see some larger games we have developed using Castle Game Engine and their sources (for example on GitHub Castle Game Engine organization).
TCastleWindow) and Lazarus components (
TCastleControl) to make simple VRML/X3D and other 3D models browser, on a Lazarus form or independent from Lazarus LCL. The engine is integrated with Lazarus — we have various Lazarus components.
CastleWindowunit). And so on. Of course, ultimately you can just use everything from our engine, nicely integrated — but the point is that you don't have to.
The engine is developed for the Free Pascal Compiler, an open-source cross-platform compiler. We have Lazarus components for RAD development, although the core engine doesn't depend on Lazarus LCL and you can develop full games with pure FPC (we have our own OpenGL window management unit, if you want). The whole engine is 100% clean Object Pascal code.