Happy to hear we help We want to describe the engine lacks/strengths honestly, so that you don’t end up expecting from the engine something it doesn’t do.
UE4 supports large continuous maps out of the box, but I’m not a big fan of C++ or Blueprints (their visual scripting option).
Note that neither CGE has something like it. You would need to invent this yourself. This is what I referred to earlier by “”“you need to figure out how to do it, when to load the data such that the player doesn’t notice/doesn’t mind”"". Note that we don’t support loading data to GPU in a thread either, right now (it is not even possible with OpenGL, it will come with Vulkan, which will happen – but not soon).
Is there is any sort of paging or streaming feature in place that adjusts the coordinate system to avoid errors from using very large numbers? For example, Unreal Engine 4 will automatically reset the coordinates to zero when the player or camera crosses certain boundaries (large terrains are built from multiple smaller pieces).
There is no such system. You would need to invent it yourself, also.
Are there existing terrain generation tools (such as Terragen) that can export files suitable for use with CGE. Most of the other engines I’ve looked at use height maps, which doesn’t seem to be the case with CGE. I’m only vaguely aware of what X3D even is.
We use height maps for terrains, e.g. in examples/terrain/ code. In CGE, just like in other engines, you can add any mesh on top of the terrain, and actually you can just use a free mesh instead of the height map. In the simplest case, you just design everything in Blender, and export to glTF.
So we don’t really have here anything special in CGE.
Per https://castle-engine.io/planned_features.php , I would like to add a dedicated terrain editor in CGE. Right now, there is none. So your best and simplest approach is just to create terrain in Blender, using a regular mesh.
Initially I would be using a 5 year old laptop with an Nvidia GT 750M chip, so I would want to support a GPU at least that old. Ideally I would also like the game to run on a Raspberry Pi 4 with 4Gb RAM, as I was given one of those last Christmas and haven’t used it for much yet.
Raspberry Pi 4 GPU is not very strong. So if you will have this requirement, you will need to optimize a lot.
When I mentioned water, I meant in terms of fluid dynamics where it would flow downhill and around objects, allow for items that float or sink etc. I did see examples of flat water in the screenshots and videos.
We don’t simulate water physics in CGE (it’s something very computationally expensive, definitely not something we could do soon; and when we do, I’m pretty sure it would be very slow on Raspberry Pi anyway). Water in our demos has simple pre-designed surface, and we simply simulate waves on it. But that is not a technique to get fluid dynamics you mention.
So, not many positive answers here, I’m afraid
We do not have any special features for terrains, in particular we definitely are not better than Unreal Engine in this department, we’re way behind UE actually.
You can use terrains, and you can simulate infinite maps by loading some parts – but that will require code on your side to manage it.
We do not support fluid dynamics.
The need to run on Raspberry Pi adds a significant difficulty here. Raspberry Pi is cool, I use it and like it a lot, and the CGE rendering runs there correctly. But it is a lot slower than the usual “gaming” desktop computer (which is at least “usual PC with GPU being Nvidia/Radeon”). If you want to make a game that runs smoothly on Raspberry Pi, then graphical effects need to be cut down, and the amount of data present in the world at one time (that is feed to GPU) must be small.
My honest suggestion would be to not start by trying to make the RPG game you envisioned in CGE. Instead, make a different game, with a smaller scope from the very beginning. And keep testing how it works on Raspberry Pi during development, as it will force you to optimize much more heavily than a typical desktop, you may need to bake some things that would not be necessary on desktops.
After that, you will have a ready game, and a knowledge about CGE and performance of Raspberry Pi