CGE downloads now come bundled with latest stable version of FPC

Posted on

FPC logo

Our default downloads are now bundled with latest stable version of FPC (Free Pascal Compiler, an open-source cross-platform compiler that we love and recommend).

The goal is to make Castle Game Engine work out-of-the-box. Building and running a newly-created project from CGE editor will now work out-of-the-box, users don’t need to install their own FPC version. Downloading CGE gives you all you need to perform basic “workflow” with CGE editor: create new project from template, open and edit some design, hit F9 and see it build + run.

This should be great for users that don’t come with existing knowledge of Pascal ecosystem, who don’t want to (or maybe, just today, don’t care) about what FPC or Delphi version they use — they “just want to build CGE application”. Now they don’t need to learn how to install FPC, Lazarus or Delphi. They can just use CGE to build projects immediately. This is also great for people who may not need to edit the game — e.g. if you cooperate on a project with artists, who test the game in the editor, then they just want to edit some designs, and run the game by F9.

Note: You don’t need to use this “bundled” version of FPC of course. You can still use your own FPC or Delphi, we still support many compiler versions. You can still install them however you want (e.g. maybe using fpcupdeluxe). In this case, you also don’t need to download the “bundled” version, just download the unbundled versions from GitHub releases.

Underneath, the “bundled” FPC is stored in tools/contrib/fpc/ . If we don’t find other FPC installation, we will use this one. Moreover, we automatically pass proper -Fu for the compiler in such “bundled” subdirectory (as it doesn’t have any useful FPC config).

Notable Replies

  1. CGE is changing lightning fast. It feels like every other day there is a paradigm-altering update. I just began initializing designed objects and suddenly POOF!. No more of that. Do you suppose, considering the rate of progress, a feature that would be a sensible priority right now is a CGE native updater? So we can maybe update to each new release from the CGE launch window.

  2. Thanks for the good words :slight_smile:

    I’m not 100% decided, but I think I do not want to do this feature (automatic updates) too soon :slight_smile:

    The reason: I plan to explore (at the beginning of 2023, so right after 7.0 release) more options to distribute CGE. And some of them will make “automatic updater” unnecessary. In particular

    • You can already get CGE from Itch.io: Castle Game Engine by Castle Game Engine . You can even do this through Itch.io app, Download App - itch.io . And it’s cool – because it means we don’t handle automatic updates. Itch.io app handles them already.

    • At the beginning of 2023, in addition to Itch.io, I want to see CGE distributed through:

      • Steam. It is possible to distribute tools like this, e.g. Blender is on Steam: Blender on Steam .

      • Snapcraft. This is only for Linux, but it accounts for all Linux distributions.

    And both these distribution methods mean that we again don’t need to implement our own auto-updater. Steam, Snap – they handle automatic updates for us. In addition, these distribution methods may be easier to use for people, and they give us extra exposure to new users who may find us on Steam / Snap.

    So, sometime in 2023, we will reevaluate how useful is our simple distribution method “as a zip”. Maybe, we will come to the conclusion that actually many people enjoy getting CGE through Itch.io / Steam / Snap and then implementing our own auto-updater is not that useful?

    I honestly haven’t decided yet. I mean I did decide that I want to see CGE on Steam and Snap – this will happen. But I haven’t decided yet whether “automatic updater is high priority or low priority”. And I will likely postpone this decision until after we have Steam and Snap.

Continue the discussion at Castle Game Engine Forum

Participants

Avatar for AveryCTF Avatar for michalis