Difference between revisions of "Castle Game Engine"

From Free Pascal wiki
(New CGE website)
(Reflect features of Castle Game Engine 7.0, more screenshots, updated youtube link)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Castle_Game_Engine}}
 
{{Castle_Game_Engine}}
 +
{{Menu_Game_Development}}
  
[https://castle-engine.sourceforge.io/ Castle Game Engine] is a cross-platform 3D and 2D game engine. We provide an easy and extensible API to create and manage 3D objects, with out-of-the-box levels, items, intelligent creatures and more. We support 3D models and animations in various formats, in particular [https://castle-engine.sourceforge.io/vrml_x3d.php very versatile VRML / X3D], but also Collada, Wavefront OBJ, and (especially nice for 2D animations) Spine JSON. Many graphic features are available, like shadows, bump mapping, mirrors, screen effects, shaders. The engine can be used to compile both standalone games (Linux, Windows, Mac OS X) as well as mobile games (Android, iOS).
+
[https://castle-engine.io/ Castle Game Engine] is a cross-platform 3D and 2D [[Game Engine|game engine]].  
  
Rendering is done through OpenGL or OpenGLES2. You can use Lazarus TCastleControl component, so that engine rendering can be a part of your normal Lazarus form. We also provide TCastleWindow class, specialized in creating windows with OpenGL context for games (with optional menu bars and dialog boxes, all without the need for LCL).
+
* You can use any 3D or 2D software to create models in various formats: [https://castle-engine.io/creating_data_model_formats.php glTF, X3D, VRML, Spine JSON, Collada...]. In particular creating game models in [https://castle-engine.io/creating_data_blender.php Blender] is fully supported, through the glTF format.
  
The engine can be used just as a set of units and components. You can also use the [https://github.com/castle-engine/castle-engine/wiki/Build-Tool engine build tool] to easily compile and package your games, e.g. for Android or iOS.
+
* The engine can be used to compile desktop (Linux, Windows, macOS), mobile (Android, iOS) and consoles ([https://github.com/castle-engine/castle-engine/wiki/Nintendo-Switch Nintendo Switch]) games.
  
The engine is open-source --- the core engine may be used under GNU LGPL, with "static linking exception" like FPC RTL, so you can make both open- and closed-source games. Developed using a clean Object Pascal, for FPC/Lazarus.
+
* You can [https://castle-engine.io/manual_editor.php design and build applications in a visual editor]. The editor utilizes a [https://github.com/castle-engine/castle-engine/wiki/Build-Tool command-line build tool under the hood]. The build tool calls FPC and some other tools to compile and run the project.
  
[https://castle-engine.sourceforge.io/features.php More complete list of engine features]
+
* Many graphic effects are available: physically-based rendering, shadows, mirrors, bump mapping, shader effects, gamma correction. Rendering is done through OpenGL or OpenGLES.
  
== Documentation ==
+
* Numerous services, like in-app purchases and game services, are available on mobile devices. See [https://github.com/castle-engine/castle-engine/wiki/Android-Services Android servcies], [https://github.com/castle-engine/castle-engine/wiki/iOS-Services iOS services].
  
We have a lot of documentation about using the engine:
+
* The user interface is cross-platform and supports anchors and automatic scaling.
  
# [https://castle-engine.sourceforge.io/documentation.php Getting Started]
+
The engine is open-source. [https://castle-engine.io/license.php The engine may be used under GNU LGPL with "static linking exception"], just like FPC RTL and Lazarus LCL. So you can make both open- and closed-source games.
# [https://castle-engine.sourceforge.io/manual_intro.php Manual]
 
# [https://castle-engine.sourceforge.io/creating_data_intro.php Guide to creating game data]
 
# [https://castle-engine.sourceforge.io/apidoc/html/index.html API reference]
 
  
 
== Screenshots ==
 
== Screenshots ==
  
VRML/X3D browser in Lazarus:
+
glTF 3D scene with outlines:
  
[[Image:kambi_vrml_browser.jpg]]
+
[[File:castle_game_engine_scene_outlines.png|500px|]]
  
FPS example game:
+
Using gizmo to design 2D game:
  
[[Image:castle_game_engine_fps_game.jpg]]
+
[[File:castle_game_engine_gizmo2d.png|500px]]
  
== Videos ==
+
"Escape from the Universe" game localized to Japanese:
  
See [https://www.youtube.com/channel/UCq9jJ5ivIXC5VEWiUAfxBxw Castle Game Engine YouTube channel] for all videos. Most interesting:
+
[[File:castle_game_engine_japanese_game.jpg|500px]]
  
* [https://www.youtube.com/watch?v=AuI4zgmT-YQ Dragon Spine demo]
+
Strategy game, using Tiled to design maps:
* [https://www.youtube.com/watch?v=ICH3N7OZXx8 FPS game using Castle Game Engine 4.0.0]
 
* [https://www.youtube.com/watch?v=9dH234o5dqo Water with caustics in view3dscene]
 
  
Enjoy! Author: [[User:Michalis|Michalis Kamburelis]]
+
[[File:castle_game_engine_strategy_game.png|500px]]
 +
 
 +
3rd-person camera demo:
 +
 
 +
[[File:castle_game_engine_third_person_camera.png|500px]]
 +
 
 +
3D model browser in Lazarus:
 +
 
 +
[[File:kambi_vrml_browser.jpg|500px]]
 +
 
 +
==External links==
 +
 
 +
* [https://www.youtube.com/c/CastleGameEngineX3d/ Castle Game Engine YouTube channel]
 +
* [https://castle-engine.io/features.php More complete list of engine features.]
 +
* [https://castle-engine.io/documentation.php Getting started]
 +
* [https://castle-engine.io/apidoc-unstable/html/index.html API reference]
 +
* [https://www.patreon.com/castleengine Patreon page]
  
 
[[Category:Components]]
 
[[Category:Components]]

Latest revision as of 22:57, 22 February 2021

English (en) suomi (fi) français (fr)

Game Development

Castle Game Engine is a cross-platform 3D and 2D game engine.

  • The engine can be used to compile desktop (Linux, Windows, macOS), mobile (Android, iOS) and consoles (Nintendo Switch) games.
  • Many graphic effects are available: physically-based rendering, shadows, mirrors, bump mapping, shader effects, gamma correction. Rendering is done through OpenGL or OpenGLES.
  • The user interface is cross-platform and supports anchors and automatic scaling.

The engine is open-source. The engine may be used under GNU LGPL with "static linking exception", just like FPC RTL and Lazarus LCL. So you can make both open- and closed-source games.

Screenshots

glTF 3D scene with outlines:

castle game engine scene outlines.png

Using gizmo to design 2D game:

castle game engine gizmo2d.png

"Escape from the Universe" game localized to Japanese:

castle game engine japanese game.jpg

Strategy game, using Tiled to design maps:

castle game engine strategy game.png

3rd-person camera demo:

castle game engine third person camera.png

3D model browser in Lazarus:

kambi vrml browser.jpg

External links