Castle Game Engine
A downloadable engine for Windows, macOS, and Linux
Cross-platform (desktop, mobile, console) 3D and 2D game engine. Powerful visual editor. Support for glTF, X3D, Spine and more. Fast clean code using modern Pascal. Free and open-source.
The complete engine manual is on https://castle-engine.io/ . If you have any questions, talk with us on Discord or forum.
Features:
Design 3D and 2D games and user interfaces (with automatic scaling, anchors). Build and deploy the same project for multiple platforms. Integrate with various IDEs (Lazarus, Delphi, Visual Studio Code...).
A lot of components to design viewport contents (3D and 2D world, using scenes, cameras, navigation, primitives, lights...) and user inteface (buttons, images, labels...).
Use 3D models, 2D animations, sprite sheets. Great integration with authoring tools like Blender or shops like Sketchfab thanks to using open standards like glTF and X3D.
Composable shader effects, shadows, mirrors, physically based rendering, bump mapping, gamma correction...
Target any platform (desktop: Windows, Linux, macOS, FreeBSD, Raspberry Pi, mobile: Android, iOS, console: Nintendo Switch). Work on any desktop platform. WebGL and Oculus (VR) are coming as targets soon.
Native clean object-oriented programming language with modern Object Pascal. Fast builds, fast execution out-of-the-box.
Open source and friendly to continuous integration
Tooling friendly to continuous integration. Command-line build tool, Jenkins, GitHub actions. Engine is completely open-source and can be used to make any (including proprietary) applications.
Status | Released |
Category | Tool |
Platforms | Windows, macOS, Linux |
Rating | Rated 4.3 out of 5 stars (6 total ratings) |
Author | Castle Game Engine |
Tags | 2D, 3D, castle-game-engine, editor, FPS, Game engine, gltf, pascal, x3d |
Download
Click download now to get access to the following files:
Development log
- Updated 7.0-alpha.3 binaries: bundled FPC, macOS buildAug 23, 2024
- Castle Game Engine 7.0-alpha.3 release: physics, blending, batching, shadows, De...Aug 22, 2024
- Castle Game Engine 7.0-alpha.2 release: a lot of new components (lights, primiti...Sep 12, 2022
- Castle Game Engine 7.0-alpha.1 release: editor, glTF, Switch, sprite sheets, pow...Feb 22, 2021
- Castle Game Engine 6.4 release – physics, iOS services, shader pipeline upgrad...Jan 23, 2018
- Castle Game Engine 6.2 - easy iOS, CommonSurfaceShader and moreJun 19, 2017
Comments
Log in with itch.io to leave a comment.
Is lazarus / delphi required to code using this engine or can i use vscode ou notepad?
You can use any text editor, including VS Code -- and we even have a dedicated VS Code extension to work with Pascal and Castle Game Engine, see docs on https://castle-engine.io/vscode . Personally, I'm using VS Code right now to code CGE myself.
You can also use Notepad or Lazarus or Delphi or really any text editor :)
Sorry, I misunderstood the question. I meant to ask if I can use just VSCode to create my game with Castle Engine without installing the Scene Editor and other packages that come with it? I am a programmer and I currently use RayLib, and I don't like visual editors. Could I create my scenes in Blender and just program using Castle?
Using the visual editor of Castle Game Engine is always optional. So, yes, you can do everything from code, including loading scenes created in Blender (see https://castle-engine.io/blender ). Follow our manual about using code to manipulate everything, like https://castle-engine.io/viewport_and_scenes_from_code .
Though I should add that I would still advise to test the editor. It's a great tool to easily test the most important components and their properties of the engine. Many things are easier to learn, and then faster to do (and iterate) in editor than limiting yourself to "only code". And then, from code you can always edit 100% of the things that have been visually designed. Even for games where 100% of the content is procedurally generated, the editor remains useful to quickly test everything, design UI etc.
But, it is your choice :)
Thank you. What confused me was the fact that I didn't know whether I needed to install Castle on Lazarus and create my game using the visual components (LCL) or if I had to use the Castle Editor or both at the same time.
OK. To be clear, Castle Game Engine components *do not* require LCL. You do not need to use Lazarus IDE to design them, you also do not need LCL form to use them.
You can design Castle Game Engine components in Castle Game Engine editor.
And everything, both Castle Game Engine components, and LCL components, can be also created and manipulated from code :) You don't have to use visual designers (Lazarus IDE for LCL, CGE editor for CGE components) for them -- although it is advised, i.e. it's probably the fastest way to learn :)
Maybe a ui change
If you're looking for more fancy editor look/dark mode, it is coming :)
is this gay engine good for PS2 graphics? like is the lighting being calculated in the vertex shader like in the 6th gen days?
By default we calculate lighting per-fragment (i.e. we use Phong shading, regardless of lighting equation - Phong or physical (PBR)). This is prettier and works fast on modern systems.
However, you can request to calculate lighting per-vertex (i.e. to get more old-school Gouraud shading). This is generally uglier but more performant. To use this, toggle the `PhongShading` property inside `RenderOptions` of relevant TCastleScene to `false`. See our manual, in particular https://castle-engine.io/viewport_and_scenes , for a documentation what is TCastleScene and how to configure its properties. Note that some effects (like shadow maps or bump mapping) just cannot be realized with this Gouraud shading, so you will have to refrain from using them.
NICE!!! i always wanted to make PS2-like games cuz i love PS2 graphics, although i do wanna make my own engine with C++ and OpenGL, this is a good start to get a taste of the graphics
btw i've been experimenting with OpenGL and i wanted to make a game engine without editor and i wanted to add model importing using assimp but for the love of me i couldn't get it to link with my project, do you have any advice to help me or maybe a suggestion for a different library for model importing?
1. As for linking with assimp: I'd need more details to help with this.
You should get a regular dynamic library by compiling libassimp, with which you can link as usual. You can find many examples e.g. in CGE (we link to libraries like OpenAL, FMOD, VorbisFile, LibPng) or FPC how one can link to dynamic or static libraries.
Note: This topic can easily get longer :), so it may make sense to move the talk to our forum ( https://forum.castle-engine.io/ ).
2. As for other libraries:
Well, Castle Game Engine could actually be used as a model-reading library :) One can use just `LoadNode` routine from `X3DLoad` unit to load all supported model formats ( https://castle-engine.io/creating_data_model_formats.php ). And then convert the resulting graph of nodes to whatever you need.
im sorry but i laughed so much when i read LOL
Hi, Michalis ! Could this itch.io version be updated to the latest one? For security reasons github version could not be run, but this version runs well, as itch.io apps are trusted. Thank you !
I have a little problem: when I try to run a project the compiler show errors, like: Error: ppcx64.exe can't be executed, even though I have FPC (3.2.2).
Hello!
I assume you press "Run" (F9) from Castle Game Engine editor?
1. Make sure your FPC is detected by Castle Game Engine editor -- go to "Preferences" and then "FPC and Lazarus". It should show your FPC (either explicitly configured or auto-detected) in "FPC Path".
2. If you have FPC installed, make sure it is FPC compiler for x86_64. In particular, if you use FPC installed manually from https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/ , note that this is a compiler for Win32 (i.e. 32-bit version of Windows), due to rather historical/internal reasons. You want to install version for Windows 64-bit: e.g. by adding there `fpc-3.2.2.i386-win32.cross.x86_64-win64.exe` from https://sourceforge.net/projects/freepascal/files/Win32/3.2.2/ . Or install Lazarus and FPC together from https://www.lazarus-ide.org/, Lazarus installers for Windows come with FPC for Windows 64-bit.
3. Most advised: Note that new Castle Game Engine versions actually already include a proper FPC version, for both Linux and Windows (that is able to compile for Win64). This FPC versions is also auto-detected by CGE by default.
To try this, download Castle Game Engine from our website ( https://castle-engine.io/download ) and not itch.io. This itch.io page features a bit older version, 7.0-alpha.2. We're working now on 7.0-alpha.3 and it already features a lot of new features and improvements, the "bundled FPC" being just one of them, see https://castle-engine.io/new_features_in_castle_game_engine_7.0 . Our https://castle-engine.io/download allows to download version 7.0-alpha.snapshot, which is our latest version that is soon going to be promoted to 7.0-alpha.3.
If none of this helps, I will need a bit more information about your setup -- what is your OS (Windows, Linux?), how did you install Castle Game Engine (from this itch.io page, from https://castle-engine.io/download ), how did you install FPC. We can continue this thread here, you're also welcome to create a thread on our forum ( https://forum.castle-engine.io/ ) or make a GitHub issue. See https://castle-engine.io/talk.php for various places where to catch me :)
Regards,
Michalis
haven't used yet, what code does it use
The engine, and your games, are written using modern Object Pascal. See https://castle-engine.io/features , https://castle-engine.io/modern_pascal .
Note that we plan to release new engine version, 7.0-alpha.2, soon (in a week).
It will be available here (on itch.io) as well as on our webpage https://castle-engine.io/ . For today, if you want to try out the engine, I would recommend checking out our snapshot version, which is the main download on our https://castle-engine.io/ .
I see that there is an Open Collective for Castle Game Engine but I don't see it listed on your home page. Is it still an active and valid way to donate ?
https://opencollective.com/castle-engine
Yes, donating through https://opencollective.com/castle-engine is welcome. We have a few ways to donate, listed on https://castle-engine.io/donate_other.php . On the main engine WWW page we focus on https://www.patreon.com/castleengine as this is our preferred method for donation, but all alternative ways listed above are good as well :) Thank you!
Is it possible to build games without code?
Not really. You will need to write some code if you want to do anything beyond a demo. Most of the logic is in the code.
That said, you can start with some example that gives you most of what you need. For example our "fps_game" example (once you download the engine from https://castle-engine.io/ , it is in "examples/fps_game/" subdirectory) can be extended a lot by just editing the data files. You can add creatures, items by just editing respective XML files (docs on https://castle-engine.io/creating_data_levels.php , https://castle-engine.io/creating_data_resources.php ).
You could extend fps_game into a full FPS game without much additional code. (But you will still need something, e.g. to show "win" screen, or to code what using new items will do etc.)
Note that the engine version on Itch.io is rather old now (I want to update it once we release engine 7.0). So please download engine from https://castle-engine.io/ now. We've made a lot of new features since 6.4 release ( https://github.com/castle-engine/castle-engine/wiki/New-Features-in-Castle-Game-... ) and we work on official 7.0 release now.
Note to whoever reads this: the above comment is outdated. The current version on itch.io is "7.0-alpha.1", and it is good :) Still you can always get even more recent ("7.0-alpha-snapshot") version from https://castle-engine.io/.
Screenshots of these looks like one PSX game. Can you make a sequel to this Engine?
The next release of this engine is already in-progress, see our news ( https://castle-engine.io/wp/ ) :) You can already try it, using the code from GitHub ( https://github.com/castle-engine/castle-engine/ ).
its not working for me in my files i font even know where to find the application
Instructions how to use the engine are on https://castle-engine.io/ , in particular see the "getting started" page ( https://castle-engine.io/documentation.php ) and the manual ( https://castle-engine.io/manual_intro.php ).
There is no visual application distributed with Castle Game Engine. You usually install Lazarus ( https://www.lazarus-ide.org/ ) to have an environment to edit and compile Castle Game Engine games.
If you expected a visual editor included inside the engine, like Unity3d editor --- I'm sorry, we don't have it yet. But we are working in it, see our plans for 2018 https://castle-engine.io/wp/2017/12/23/plans-6-4-release-asap-visual-editor-soon... :)
Note to whoever reads this: the above comment is outdated. The current engine (from this itch.io page, or from https://castle-engine.io/) features a cool visual editor to design your games visually. See https://castle-engine.io/manual_editor.php .