A downloadable engine for Windows and Linux

Download NowName your own price


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.


Visual editor

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...).

Lots of ways to define data

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.

Graphic effects

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.

Clean and fast code

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.

PlatformsWindows, Linux
Rated 4.2 out of 5 stars
(5 total ratings)
AuthorCastle Game Engine
Tags2D, 3D, castle-game-engine, editor, FPS, Game engine, gltf, pascal, x3d


Download NowName your own price

Click download now to get access to the following files:

castle-game-engine-windows.zip 418 MB
Version 7.0-alpha.2
castle-game-engine-linux.zip 417 MB
Version 7.0-alpha.2

Development log


Log in with itch.io to leave a comment.

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 !

(1 edit)

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).

(1 edit)


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 :)



haven't used yet, what code does it use

(1 edit)

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 ?



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

(1 edit)

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 .