4 ms·
As somebody with C# scar tissue, I feel like one C# game engine is already too many. But, then again, I haven't touched C# since the advent of Maui & the lessen
by raydiatian 4y ago
As somebody with C# scar tissue, I feel like one C# game engine is already too many. But, then again, I haven't touched C# since the advent of Maui & the lessened relevance of .NET Framework in favor of .NET standard. Maybe things have gotten better.
- oaiey 4y agoThere are a surprising numbers of .NET game engines. Ranging from Unity, over Gadot to things like this one here. .NET is nowadays a very different beast that the .NET Framework. Maui is not the relevant factor. The modernization of the runtime, portability and the language itself changed it lot. Give it another try. You will be surprised. But do not start with Maui :)
- flohofwoe 4y agoC# is only one of several scripting options in Godot: https://docs.godotengine.org/en/stable/tutorials/scripting/index.html https://docs.godotengine.org/en/stable/tutorials/scripting/i... And both Unity and Godot only use C# on the surface, under the hood it's mostly C++ (although apparently in Unity this has started and parts are being rewritten in their low level C# dialect using the Burst compiler).
- whizzter 4y agoIIRC the lowlevel stuff isn't exclusive to Unity's Burst compiler but rather enabled by the Span<T>/Memory<T>+stack-allocs introduced in the C# language (they might've used it more aggressivly though but shouldn't be anything stopping as aggressive compilation with the mainline corert-tool).
- szundi 4y agoEnough to have gc pauses though
- jayd16 4y agoTo be honest, what difference does it make? The scripting tier needs to perform well enough too.
- whizzter 4y ago.NET Framework itself wasn't that bad apart from all the tying to weird Windows functions(good when writing enterprise stuff, horrible for everything else by tying to Windows) and reliance on IIS for web (with it's engineering focused on multi-tenant hosting being a PITA for devs doing the actual web dev). Imho the main improvements lately for gamedevs are greater portability, Span<T>/Memory<T>'s (access and manage memory more freely), stack-allocs (enabled by the former) and vector math intrinsics (Add to it that C# code was never as reliant on GC perfection as Java by being more pragmatic and with support for proper generics saving a ton of memory allocs).
- KronisLV 4y ago> .NET Framework itself wasn't that bad apart from all the tying to weird Windows functions(good when writing enterprise stuff, horrible for everything else by tying to Windows) and reliance on IIS for web (with it's engineering focused on multi-tenant hosting being a PITA for devs doing the actual web dev). Personally, I feel like .NET Core and embracing cross-platform was exactly what the ecosystem needed. Albeit not quite 1:1 with the older versions of the framework (the Mono project tried that approach, with mixed results), things like Kestrel instead of IIS didn't feel like a high cost to pay. Plus, I think that the C# language itself is reasonably nice. It's a bit curious how C# seems to be more popular in gamedev than Java, both of the languages and runtimes not being that different from one another. For whatever reason projects like jMonkeyEngine or LWJGL don't get the same popularity as Unity or even Godot.
- orthoxerox 4y ago> It's a bit curious how C# seems to be more popular in gamedev than Java, both of the languages and runtimes not being that different from one another I think we can thank Miguel de Icaza for that. Mono/Xamarin allowed Unity to run on smartphones and turned it into a textbook disruptive innovation.
- jayd16 4y agoC# has structs (and pointers if you really need them) and now Span<T>. C# is just a better fit than Java.
- Narishma 4y agoUnity and Godot are not C# engines like this one. They are C++ engines with C# scripting.
- oaiey 4y agoYou are right. But even the "scripting" part of Unity is very much optimized for performance.
- pjmlp 4y agoNot true for Unity, since HPC# and Burst they have been slowly replacing C++ with C#. They are ones of the main contributors to low level improvements in .NET and C# since version 7, alongside the team's own learnings in Midori and .NET Native.
- bilekas 4y ago.net framework And .net core (i think you mean instead of standard) are different beasts. In this case .net core doesn't have WCF support. The framework is more rich for something like a game engine. I would be curious your aversion to c# in general though, I hear a lot of people saying it's bad but not explaining what they're trying to use it for etc. It's just a tool.
- raydiatian 4y ago1. Syntax, verbosity, suggested coding conventions feel like sandpaper on the elbows 2. Visual Studio product slow & clunky to drive, makes me want to cry, esp when VSCode so good. SO GOOD. 3. WPF (never again, ever, not once, ever never fucking ever) 4. NuGet sucks shit through a crazy straw. Hosting your own private packages is basically sadism with a whip hiding behind a door marked “peace&quiet”. 5. Online documentation & community support is consistently SEO’d to be a bunch of articles generated out of India with immature/ridiculous CSS choices. This was circa 2017. Aside from that, it’s a great language.
- bilekas 4y agoSo let me try just address at a high level some answers. 1. I don't see this as an "issue" more a taste. You're not forced into a way, but the compiler has a preference. Usually it's the path of least resistance. 2. You can use whatever IDE you like , actually I'm proud to say I use vim exclusively and while i agree vs is heavy and strange. You're not tied to it. 3. Gaming engine will need something. If you don't like this one.. you should see some others, they're not far off. I agree, it could be improved but nothing to do with the language as a whole. 4. Why? I host my own very easily. Company I work for hosts quite a significant amount all fed from build pipelines. So you don't like it.. feel free to share experiences.. love to hear. 5. I don't know what to say about that in relation to the language. Some of the best articles I've learned from have been indian. I don't know why it matters where there from to be fair. Infact my time in a company suit purchased from Microsoft was exclusively supported extremely well by the previous engineers who were primarily indian. So I don't buy the stereotype. Aside from that it's a great language so you should have nothing else? Nothing about it's garbage collection, state management, compile state issues. Just general nonsense?