4 ms·
Oh this is really cool! It also feels highly targeted at my interests (I worked professionally in OCaml for many years, now make games, and bounced off of Godot
by eieio 2y ago
Oh this is really cool! It also feels highly targeted at my interests (I worked professionally in OCaml for many years, now make games, and bounced off of Godot because I found GDScript really unpleasant to program in[1]).
From looking through the TODOs here, I think the one thing that would stop me from playing with this soon is signal support. I can't quite tell how non-existent the signaling support is here: can I just Obj.magic (unsafe cast) stuff and get it to work, albeit without type safety? Signals in Godot are great and I'm already used to them not being type safe (they're just strings in Godot 3! Gross!) so that'd be tolerable.
Anyway, very cool stuff.
[1] I've been meaning to go back at try out C#, which might be more my taste. I held off partially because I don't know C# yet and partially because examples for C# in Godot seemed a little lacking when I last looked - but also because Godot 4 web exports were pretty busted for a while, which irritated me enough to make me use something else. I think there's been some progress here though!
- lewispollard 2y ago> Godot 4 web exports were pretty busted for a while, which irritated me enough to make me use something else. I think there's been some progress here though! Still no web export support for C# yet, it's reliant on upstream support in .NET Core which isn't quite there yet.
- eieio 2y agooh I didn't even realize that C# was also a problem here - I was thinking about how web exports are (were?) pretty busted for Chromium-type browsers on Mac in Godot 4[1] due to some graphics backend stuff that I don't fully understand. Thanks for the heads up! Guess it's not time for me to revisit Godot yet :( [1] https://github.com/godotengine/godot/issues/70691 https://github.com/godotengine/godot/issues/70691
- lewispollard 2y agoYeah, there are a lot of problems with Godot 4 web exports generally - due to the fact that it's a lot more multi-threaded in general than Godot 3, which presents problems for web exports and requires certain features to be enabled server-side via headers. Godot 4.3 "fixes" this by allowing you to export a single-threaded build - which obviously isn't the ideal fix, more of a workaround that may result in worse performance. Godot 3.x supports web exports for C#, due to the mono runtime being long available as a WASM target. But .NET Core still doesn't quite work there, there are experimental builds while using Blazor specifically, but for hosted runtime stuff (such as Godot) the support isn't there yet, despite MS promising it since .NET 6 it hasn't arrived yet.
- pjmlp 2y agoWhat I dislike in Unity and Godot in regards to C#, is magic methods outside common .NET practices. I guess it is a price to pay for making the language relevant for game devs.