Live data from Hacker News

What's new in C# for Godot 4.0

godotengine.org

91–100 of 112 posts

Re: What's new in C# for Godot 4.0

#91
post #84
post #59

Earlier quoted context omitted.

Does anyone actually play games in the browser? I mean, there is no technical reason not to, but I kinda find it strange.

Lots of indies like to make their games available and easily playable (e.g. no download) during development on itch so for that use case, yes, it's important.

That sounds cool and interesting - so, the idea is to eventually sell the final product as a stand-alone game, but target the browser for development versions from the same source code?

Re: What's new in C# for Godot 4.0

#93
post #50
post #37

Earlier quoted context omitted.

What are the specific requirements for games? C++ is also not built for games. It’s built for anything, including games.

Consistent low latency, perhaps.

I don't see a lot of options how you should optimize that, besides using allocation free code. .NET (Core) did a lot of work into this direction for Kestrel HTTP server already (Span, ref structs). It's still a managed platform with a garbage collector, but I don't think games have such low-latency requirements, that can't be handled with the standard garbage collector. A few milliseconds are usually fine for games, even with 120Hz the time between two frames is still 8ms. And garbage collection can be suspended during critical phases.

Re: What's new in C# for Godot 4.0

#94

Earlier quoted context omitted.

It's mostly a historical accident, like Python ending up as the data science language. Microsoft XNA used to be a popular indie game framework that used C#. Stardew Valley, Celeste and Terraria run on XNA. Mono used C#. Xamarin used Mono to create a cross-platform application framework that worked on mobile. Unity leveraged Xamarin to create a cross-platform game engine that worked on mobile, ending up using C#. Thus…

I don't see this at all. game devs on average want to be closer to the hardware and JS is even farther from it than c# (and c# has added more ways to do things like traditional pointers when you need to squeeze even more performance out). Lua you can certainly make an argument for because LuaJIT is insanely fast.

I don't think game devs on average want to be closer to hardware. Game engine devs, sure; but the average game dev would like to use a higher level language that interfaces to the c/c++ stuff that game engine devs are pushing out.

Re: What's new in C# for Godot 4.0

#95

Earlier quoted context omitted.

It's mostly a historical accident, like Python ending up as the data science language. Microsoft XNA used to be a popular indie game framework that used C#. Stardew Valley, Celeste and Terraria run on XNA. Mono used C#. Xamarin used Mono to create a cross-platform application framework that worked on mobile. Unity leveraged Xamarin to create a cross-platform game engine that worked on mobile, ending up using C#. Thus…

I'd argue that the availability of value types in C# gives it a leg up over languages like JavaScript for performance-sensitive games work. These days v8 and spidermonkey have incredible garbage collectors capable of incremental/parallel collection so people have been able to ship JS-based games on PC+Console, but when it comes to game scripting it's either languages with value types like C#/C++ or languages with mor…

I'm completely uninformed about lua, but why isn't it being used more to build games then? I know it's a popular scripting language for games, but are there any engines that mainly use lua (in the same way Unity uses C#)?

Re: What's new in C# for Godot 4.0

#96
post #17

Earlier quoted context omitted.

>>> Unity still isn't taking industry seriously What does this mean?

They laid off 300 developers including some of the most experienced ones.

They are still recruiting, at least in Montréal. A friend of mine just got a SWE position there, so I think the layoffs were more due to a strategic shift away from side ventures than actually cutting from their core product.

Re: What's new in C# for Godot 4.0

#97
post #72

Earlier quoted context omitted.

The binaries produced just for the engine itself (so exluding the game code and assets) is already several MB large when compressed with brotly or gzip [1]. So it works, but it's too large to be competitive enough on web games portals. Most players will just go play another game if it takes too long to load (download). Only JS based game engines and to some extend Defold are good enough in this regard. [1] https://gi…

Note that the article mentions ahead-of-time compilation and binary size trimming as one of the explicit goals of this version.

Specifically if you're using .NET, that wouldn't apply to GDScript the same way.

Re: What's new in C# for Godot 4.0

#98

Earlier quoted context omitted.

I'd argue that the availability of value types in C# gives it a leg up over languages like JavaScript for performance-sensitive games work. These days v8 and spidermonkey have incredible garbage collectors capable of incremental/parallel collection so people have been able to ship JS-based games on PC+Console, but when it comes to game scripting it's either languages with value types like C#/C++ or languages with mor…

I'm completely uninformed about lua, but why isn't it being used more to build games then? I know it's a popular scripting language for games, but are there any engines that mainly use lua (in the same way Unity uses C#)?

Lua very much hit a sweet spot in terms of performance and flexibility for proprietary codebases over the last twenty years. One or two programmers can embed it into an application and expose bindings for designers rather quickly. It’s kind of a min/max of flexibility and engineering work.

As engines became larger products, companies often have the resources to make something bigger for game teams. Unreal’s Blueprints, or Godot’s GDScript integrate much more tightly with the engine’s runtime.

Re: What's new in C# for Godot 4.0

#99
post #90

Earlier quoted context omitted.

Running games in the browser provides a bit of convenience of not having to download and run a platform-specific executable. There might be some security benefits too. Depends on the nature of the game though. It works best for games that are lightweight and stateless.

Sure, this was clear to me too. My question was not so much about the advantages of browser games but rather if they actually have a market. And speaking of that: what are the main monetization schemes? Are browser games sold like other games? Or are they mostly ad-based like other web content?

As one data point: https://itch.io/games currently lists 729397 games, 844 of which are tagged HTML5. It's nonzero but I guess it's not that big. But https://itch.io/games/html5 lists 301816, I am not sure how to reconcile these numbers.

Some of those are accepting donations, but I can't tell if they are profitable.

Re: What's new in C# for Godot 4.0

#100

Earlier quoted context omitted.

I'd argue that the availability of value types in C# gives it a leg up over languages like JavaScript for performance-sensitive games work. These days v8 and spidermonkey have incredible garbage collectors capable of incremental/parallel collection so people have been able to ship JS-based games on PC+Console, but when it comes to game scripting it's either languages with value types like C#/C++ or languages with mor…

I'm completely uninformed about lua, but why isn't it being used more to build games then? I know it's a popular scripting language for games, but are there any engines that mainly use lua (in the same way Unity uses C#)?

Lua is very widely used despite the fact that Unity and Unreal don't support it.
Post reply on HN