You can edit almost every page by Creating an account and confirming your email.

Castle Game Engine

From EverybodyWiki Bios & Wiki


Castle Game Engine
File:Castle Game Engine Logo.svg
Screenshot from Castle Game Engine Example Application - 2D Spine Animations
Screenshot from Castle Game Engine Example Application - 2D Spine Animations
Developer(s)CGE Team
Stable release
6.4 / 24 February 2018;
8 years ago
 (2018-02-24)
Preview release
6.5 / 30 March 2019;
7 years ago
 (2019-03-30)
Written inObject Pascal
Engine
    Operating systemCross-platform: Windows, Linux, macOS, Android, iOS, Nintendo Switch, Raspberry Pi
    TypeGame engine
    LicenseLGPL-based with static linking exception [1]
    Websitecastle-engine.io

    Search Castle Game Engine on Amazon.

    Castle Game Engine is an open-source 3D and 2D game engine written in Object Pascal. It is cross-platform, officially running on desktop (Windows, Linux, macOS), mobile (Android, iOS) and consoles (Nintendo Switch). The engine is known for its versatility, supporting many types of graphic features (shadows, mirrors, screen effects, etc) and support for many data formats for game assets (X3D, glTF, VRML, Collada, Spine, etc)[2]. The development started in 2005 by Michalis Kamburelis[3].

    Features

    • The engine was designed as a general-purpose game engine for both 2D and 3D games.
    • One of the core design ideas was to support asset models following internationally standardized formats. The engine node architecture is based on the X3D standard, using it as both 3D model interchange format and as a scene graph API. The engine also supports glTF 2 standard model format developed by Khronos Group. Other model formats are supported as well [4].
    • The engine is cross-platform, supporting many modern platforms that the Free Pascal Compiler (desktops, mobile) allows. The engine supports also Nintendo Switch [5] platform, although it is not officially supported by the Free Pascal Compiler (for this, engine uses FPC for Android/Aarch64, modifying the system access at engine level to access Nintendo Switch platform instead [6]).
    • The engine features a visual editor [7] to design user interfaces and 3D and 2D games. It is a main feature developed within the engine 6.5 lifetime (to be released as a stable 6.6).
    • The primary programming language used in developing the engine is Object Pascal, as implemented by the Free Pascal Compiler (port of the engine to Delphi is also in-progress [8]). An introduction to the Object Pascal language, directed as programmers proficient with other languages, is available on the website [9], users are also encouraged to read other Object Pascal teaching materials. The rationale behind using this language was flexibility and speed, similar to C++ (the engine architecture relies heavily on Pascal classes and generics), but with a cleaner syntax.
    • The engine can also be accessed from C, C++ and other languages by using the engine as a shared library. The engine can also be integrated with Java through JNI which is how the Android port accesses the system services.

    Applications

    The engine has been used to release various games (also by independent parties) [10]. These include desktop, mobile and Nintendo Switch releases [11] [12] [13] [14] [15].

    There are also a number of tools developed alongside the engine. The most important is view3dscene, a browser for X3D and VRML formats, as well as a viewer for other 2D and 3D models. The tool may be used independently of the engine, to browse 3D and 2D models in various formats [16].

    Scientific papers

    Some engine features were the focus of scientific publications:

    • Shadow Maps, paper presented at Web3d 2010 conference and published in proceedings of it.
    • Compositing Shaders, paper presented at Theory and Practice of Computer Graphics 2011 conference. The paper describes a new approach to compose shaders, addressing the same use-case as Unity surface shaders in a more uniform manner. The presented compositing shaders architecture was since adopted inside the engine renderer architecture. The concept is also implemented in another open-source X3D browser FreeWRL, by an independent author.

    References

    1. "Castle Game Engine License". 2019-09-28.
    2. "Supported model formats | Creating Game Data | Castle Game Engine".
    3. "Michalis Kamburelis".
    4. "Supported model formats".
    5. "Castle Game Engine supports Nintendo Switch!". 2019-03-23.
    6. "Castle Game Engine supports Nintendo Switch! - Forum". 2019-03-27.
    7. "Editor (Castle Game Engine Manual)".
    8. "Supported compilers and IDEs: Delphi".
    9. "Modern Object Pascal Introduction for Programmers".
    10. "Games and Tools developed by Castle Game Engine".
    11. "Escape from the Universe, on Nintendo Switch (previously also Android and iOS)".
    12. "The Unholy Society, upcoming title on Steam and Nintendo Switch".
    13. "Castle Craft - Minecraft mechanics using Castle Game Engine".
    14. "Fire Madness".
    15. "Connect4".
    16. "X3D Resources".

    Links

    Further reading


    This article "Castle Game Engine" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Castle Game Engine. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.