6 ms·
Native AOT with C#/.net has come a long way, fwiw. https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ https://learn.microsoft.com/en-us/dotnet
by el_benhameen 6d ago
Native AOT with C#/.net has come a long way, fwiw.
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...
- hn_submit 6d agoSome deployments can be AOT compiled (ASP.NET, mobile), others (like WinForms, WPF) cannot. That makes it confusing and fickle since not all language features work with AOT. Microsoft needs to choose for AOT Full Monty and leave the CLR behind.
- kbolino 5d agoThe CLR is the reason most C# games are moddable.
- throwaway273748 5d agoFor a definition of moddable that boils down to "download random executable blobs from some anonymous Discord and let them completely loose on your device". With predictable consequences. [0] Whereas Bethesda and Paradox (mainline strategy) games are examples of games that are intentionally moddable, with Cpp cores wrapping sanely defined content sandboxes. Frankly I'd rather the C# style of modding didn't exist at all. It usually means the devs haven't thought about how mods should hook in at all, beyond "inject whatever you want and we'll break it on almost every update. Also, we don't have the resources to review mods so expect them to occasionally be/come malware. We take no responsibility even though we're literally the ones distributing the malware to you via our first party mod store." [0] https://www.pcgamesn.com/cities-skylines-2/hacked-mod https://www.pcgamesn.com/cities-skylines-2/hacked-mod
- kbolino 5d agoI've never downloaded a C# mod from a Discord server. They are typically available via first-party sources (e.g. CoI Hub for Captain of Industry), reputable* third-party sources (e.g., Nexus Mods, Thunderstore for Valheim), or even the same distribution platform as the game itself (e.g., Steam Workshop). While developer support is all over the place, it usually amounts to putting a ZIP file in a specific directory. Bethesda is not a very good counter-example, in my opinion, because they regularly** break mod support. I don't know enough about how these mods work to be sure, but given that the 32-bit to 64-bit transition was one such major breaking event, I am suspicious that they are not actually effectively sandboxed. I also don't play many Paradox games (and the one I did play a lot of, Cities Skylines, is a special case, and also a Unity/C# game), so I don't know how they do things. The best example I know of for strong, sandboxed, first-party mod support would be Factorio and its Lua mods. However, these mods are constrained to doing only those things the game developers anticipate and want to allow, which means every mod for Factorio produces a very Factorio-flavored experience, though AFAIK there are some extension points in the API which are only really used by mods (or were, at least, before the Space Age expansion). The biggest downside of C# (and Java) mods is indeed security, but the biggest upside is that a lot of games can add modding support without too much extra work. Such extra work is often not possible (they don't own the engine) or unlikely to happen (they don't have the time/budget), outside of special cases. * = Whatever else you might think of Nexus Mods and its policies and drama, they generally take malware seriously ** = Roughly every 3-4 years, which means it's happened like 4 times with Skyrim, and one of those was so major that it completely split the mod ecosystem
- pjmlp 3d agoHome computer games being written in compiled languages was never a blocker to mod them, if anything maybe more folks should improve their Assembly programming skills, and discover how the Demoscene was born.
- pjmlp 3d agoLeave the CLR behind is what Windows team tried to do with UWP and .NET Native, basically the original idea of .NET as Ext-VOS when it was going to be based on COM. https://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again https://arstechnica.com/features/2012/10/windows-8-and-winrt... While the idea was interesting for many of us, Microsoft really failed fumbled the delivery and the CLR is here to stay. Also it would never going to fly as cross platform technology, given its design as an evolution of COM infrastructure.