Revolutionary-Games / Thrive

The main repository for the development of the evolution game Thrive.
https://revolutionarygamesstudio.com/
Other
2.86k stars 507 forks source link

Non-Thrive related Godot 4 things #2998

Open hhyyrylainen opened 2 years ago

hhyyrylainen commented 2 years ago

Godot engine problems that impact Thrive:

Some notes for when we need to do the conversion:

Zireael07 commented 2 years ago

You'll likely need to run https://github.com/godotengine/godot/pull/51950 , too (I have my own project that is slowly being converted, and it looks like it'll be the only way as the project is fairly big)

hhyyrylainen commented 2 years ago

Good to know that kind of thing exists. Seems like it's missing csproj conversion meaning there'd still be at least some manual work for us...

I doubt we'll need it anytime soon as I don't think we'll be changing to 4.0 before it has been released as the stable Godot version. We'll maybe hold off on that until the first patches 4.0.1 or 4.1 come out.

hhyyrylainen commented 1 year ago

4.0 should fix the marshalling type width problem that I had saved a link to: https://github.com/godotengine/godot/blob/3.4.2-stable/modules/mono/mono_gd/gd_mono_marshal.cpp#L577

hhyyrylainen commented 1 year ago

Seems like my PR to Godot that has been open for a really long time didn't get any attention after 4.0 release: https://github.com/godotengine/godot/pull/56014

I guess the Godot developers are really busy... If anyone more familiar with Godot development reads this, any help with getting that PR and the blocking bugs in Godot 4 resolved would be awesome. It's not out of the question for us to sponsor specific Godot engine development monetarily to get Godot 4 into shape for use in Thrive much faster.

Zireael07 commented 1 year ago

If anyone more familiar with Godot development reads this, any help with getting that PR and the blocking bugs in Godot 4 resolved would be awesome

Unfortunately the only way to get a PR in seems to be "hurry up and wait"... :/

hhyyrylainen commented 1 year ago

One more thing I remembered was that I read that the OpenGL renderer for older hardware support was maybe not fully ready yet in time for 4.0. Can someone check that? As that's something we need to confirm works before officially switching.

Zireael07 commented 1 year ago

@hhyyrylainen I tried the renderer for a 2D game and it works great, zero issues. But I know from browsing the issues/PRs that e.g. 3D shadows are NOT implemented in OpenGL yet.

hhyyrylainen commented 1 year ago

Okay, so it maybe partly works? We use 3D rendering for the entire game so that has to work. But thanks for at least confirming my suspicion that some parts of the OpenGL renderer are not ready yet.

CountingBeeps commented 11 months ago

https://github.com/godotengine/godot/issues/65866 Seems to have a user-side workaround now, though reading the comments it looks unlikely we will see anything on the godot side to resolve it.

hhyyrylainen commented 11 months ago

Well the situation with the new .NET runtime is better as we can specify the load paths manually (also can intelligently automatically pick debug or release library version). Right now it took a huge amount of trial and error to find out how to determine which folders Godot 3 actually looks for DLLs in to load when told to from C#.

skyace65 commented 11 months ago

The compatibility renderer is still missing stuff I believe, (not sure if there's a tracker for it somewhere) but 3D shadows were added in 4.2 https://github.com/godotengine/godot/pull/77496

Additionally, not sure if this changes the want for Win 7 compatibility but Steam is going to be dropping support for Win 7 machines (as well as 8 and 8.1) https://help.steampowered.com/en/faqs/view/4784-4F2B-1321-800A

hhyyrylainen commented 11 months ago

Windows 7 compatibility is no longer required (with Steam finally dropping it we might be safe to drop it as well without getting more negative Steam reviews). So that's one less consideration. With the fallback renderer I guess it just needs to be tried unless there's still a known list of missing features we could check out. Things are looking like Godot 4.3 would be ready for us to switch, and well if not we'll just need to deal with it while prioritising getting the game working again on lower end hardware.