Going forward, CGE doesn’t depend on Vampyre packages LPK. We of course still (proudly!) use Vampyre Imaging Library for most of our image loading/saving needs, we just refer to these units a bit differently.
There’s nothing for you to do. You can uninstall VampyreImagingPackage.lpk and VampyreImagingPackageExt.lpk from Lazarus IDE if you had them only for the sake of CGE. Though you don’t need to do that (you will just ev. see a message from Lazarus that multiple packages define the same unit path, which you can ignore).
The base CGE package packages/castle_base.lpk already refers to all Vampyre units.
The goal is making installation procedure as simple as possible in all situations. The developers now do not have to be even aware about CGE-Vampyre dependency, so things are simpler if you compile from sources. Remember: if you get CGE binary package, then just use “Preferences -> Register Lazarus Packages” button (see installation manual) now and in the future, and then you don’t need to pay strict attention to what packages we use / don’t use, we will register all relevant packages.
You can let both castle_base and Vampyre packages be installed in one Lazarus IDE.
If your actual project uses only one of these packages, then you’re not “flipping a coin”. Lazarus project will use only the packages on which it depends, the other packages are not added to uses clauses.
So you can have both castle* and Vampyre packages installed in one Lazarus IDE safely. Just don’t use them both in one project.
That said, if you don’t use Vampyre directly, of course you can uninstall it and be safer
No. We don’t plan to become strongly dependent on Indy.
We have 2 examples and 1 unit in CGE showcasing our integration with Indy, they are here to stay. But rest of CGE is not dependent on Indy, and majority of CGE users probably should not care about installing Indy.
And the one networking library that we will likely focus on in the future in integration with Nakama – see Roadmap | Manual | Castle Game Engine . It is open-source higher-level networking library, that can provide services typically useful for games, and seems to correspond to similar services in other game engines. I think this would be great if it becomes fully supported for CGE.
Still, even when we will focus on Nakama – it will not be your only choice for networking.
And only 2 CGE examples (in examples/network/tcp_connection) depend on castle_indy. If you don’t need to compile these 2 examples, then you don’t need to compile castle_indy, and then you don’t need Indy. I don’t have Indy installed on most of my development machines, and it’s not an issue.
Perhaps we should just move the 2 Indy examples + unit to a separate repo.
I don’t know what ProjectGroup are you using… There is no ProjectGroup in CGE projec
Guess we already exchanged on ease of installation from sources
You seem to be mostly emacs/vsc user, only resorting to Laz when having no other choice.
You also seem to need auto-cross-build for a sdozen platforms at once.
Using shell scripts seems the natural choice for that.
But for “mere user” of the lib build-install-them-all by 1-2 mouse clicks in Laz IDE is more comfortable and manageable way
I pushed now to CGE repo a project group most_important_lazarus_packages_and_tools.lpg which I’ll maintain. It doesn’t build view3dscene / castle-view-image now (but it should some day once I’ll consolidate them more). But it builds important packages and editor and build tool.
Frankly, they are not first class citizens but rather emulation, afterthought.
Delphi 2005+ can has any number of projects open at once, zero and more. And any kind of projects is fine - EXE or DLL or BPL. Lazarus is hardcoded to always have exactly one EXE project open. Project Groups try to cheat around it but with understandably limited success. Still, it is better than nothing, but i might see why they made them off by default.