Difference between revisions of "Castle Game Engine"

From Free Pascal wiki
Jump to navigationJump to search
(category)
m (Fixed right-aligned Infobox)
(22 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Features ==
+
{{Castle_Game_Engine}}
 +
{{Menu_Game_Development}}
  
[http://vrmlengine.sourceforge.net/ Kambi VRML game engine] allows you to render 3D models in various formats. In particular, support for [http://web3d.org/ VRML / X3D] format is very versatile. You can define animations, interactions, scripting, shaders and many more in VRML/X3D, so you get quite capable 3D game engine in the end.
+
[https://castle-engine.io/ Castle Game Engine] is a cross-platform 3D and 2D [[Game Engine|game engine]]. It provides an extensible API to create and manage 3D objects, with out-of-the-box levels, items, intelligent creatures and more. It support 3D models and animations in various formats, in particular [https://castle-engine.io/vrml_x3d.php very versatile VRML / X3D], but also Collada, Wavefront OBJ, and Spine JSON, that allows 2D animations. Many graphic features are available, like shadows, bump mapping, mirrors, screen effects and shaders.
  
Rendering is done through OpenGL. We can use OpenGL context initialized in any way, including Lazarus [[OpenGL|TOpenGLControl component]], our own TGLWindow class (which allows you to create windows with OpenGL context, menu bars and dialog boxes, completely without the LCL), or any other library capable of creating GL context (glut, SDL).
+
The engine can be used to compile both desktop (Linux, Windows, Mac OS X) and mobile games (Android, iOS).
  
The engine homepage is http://vrmlengine.sourceforge.net/. In particular, [http://vrmlengine.sourceforge.net/kambi_vrml_game_engine.php this page lists all the engine features].
+
Rendering is done through OpenGL or OpenGLES2.
  
Engine is open-source (core engine may be used under GNU LGPL, with "static linking exception" like FPC RTL), developed in nice object-oriented way, only for FPC/Lazarus. The engine is not dependent on LCL, Lazarus components are just comfortable "extras".
+
It is component based.
  
== Screenshot (VRML browser in Lazarus) ==
+
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.
  
[[Image:kambi_vrml_browser.jpg]]
+
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.
  
== Lazarus components ==
+
== Screenshots ==
  
Major components that you can drop on the form:
+
VRML/X3D browser in Lazarus:
# TKamOpenGLControl: descendant of the standard TOpenGLControl that makes it easy to add our engine 2D controls. In particular you can add a scene manager to handle and render your 3D world.
 
# TKamVRMLBrowser: more simplified descendant of TKamOpenGLControl, with scene manager already created. Allows you to easily load any 3D model, acts as a ready VRML browser.
 
  
You just drop TKamVRMLBrowser on the form, and call
+
[[Image:kambi_vrml_browser.jpg]]
 
 
<delphi>Browser.Load(FileName);
 
Browser.Scene.Spatial := [ssRendering, ssDynamicCollisions];
 
Browser.Scene.ProcessEvents := true;</delphi>
 
  
and you're done. Animations work, rendering in OpenGL works, navigation and key/mouse sensors work, etc. For more advanced uses, you can add 2D controls to Browser.Controls list, and 3D objects to Browser.SceneManager.Items.
+
FPS example game:
  
To install Lazarus components, download the engine sources, and see inside "<tt>packages/</tt>" directory. You want to install packages <tt>kambi_base.lpk</tt> and <tt>kambi_components.lpk</tt>.
+
[[Image:castle_game_engine_fps_game.jpg]]
  
For more examples, see inside engine sources --- look for "<tt>examples</tt>" subdirectories.  For example VRML browser done with Lazarus, see inside <tt>kambi_vrml_game_engine/examples/vrml/lazarus_vrml_browser/</tt> directory.
 
Full [http://vrmlengine.sourceforge.net/reference.php API reference] and more high-level [http://vrmlengine.sourceforge.net/vrml_engine_doc.php documentation about VRML handling] are available.
 
  
Enjoy! Author: [[User:Michalis|Michalis Kamburelis]]
+
==External links==
 +
* [https://www.youtube.com/channel/UCq9jJ5ivIXC5VEWiUAfxBxw 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/html/index.html API reference]
 +
* [https://www.patreon.com/castleengine Patreon page]
  
 
[[Category:Components]]
 
[[Category:Components]]
 
[[Category:Graphics]]
 
[[Category:Graphics]]
 +
[[Category:Games]]
 +
[[Category:Game Development]]

Revision as of 13:15, 16 January 2020

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

Game Development

Castle Game Engine is a cross-platform 3D and 2D game engine. It provides an extensible API to create and manage 3D objects, with out-of-the-box levels, items, intelligent creatures and more. It support 3D models and animations in various formats, in particular very versatile VRML / X3D, but also Collada, Wavefront OBJ, and Spine JSON, that allows 2D animations. Many graphic features are available, like shadows, bump mapping, mirrors, screen effects and shaders.

The engine can be used to compile both desktop (Linux, Windows, Mac OS X) and mobile games (Android, iOS).

Rendering is done through OpenGL or OpenGLES2.

It is component based.

The engine can be used just as a set of units and components. You can also use the engine build tool to easily compile and package your games, e.g. for Android or iOS.

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.

Screenshots

VRML/X3D browser in Lazarus:

kambi vrml browser.jpg

FPS example game:

castle game engine fps game.jpg


External links