Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm sorry but why C#? Isn't the big tech (Microsoft) in this case is a very big downside?

Why not LÖVE (Lua) for example? https://love2d.org/

There is also libGDX (Java) but not sure Oracle is any better than Microsoft. https://libgdx.com/



C# is very popular in game dev.

Unity, Godot, and the XNA successors (Monogame, FNA etc) all use it.

It's higher level and more productive for the average programmer than C++, but still has static typing and much more mature libraries than Lua and other dedicated game scripting languages (of which there used to be many).

A lot of game development is Windows centric, and many C++ game devs prefer Visual Studio (the full fat one, not VS Code). I'm guessing MS is seen more favourably in gaming circles than it is in web dev.

Windows and the Xbox are both tier 1 platform targets for game devs as well.


Because it was Microsoft that developed XNA a long time ago. It was XNA that inspired all the other frameworks you mentioned, and when Microsoft invariably abandoned it there were enough people using C# to make games to create demand for an open-source reimplementation.


Lua is awful for anything large. It is untyped, refactoring does not exist, etc. C# is an amazing language with amazing tools and very good libraries.


C# has been favored by a lot of game devs for some time. You've got Godot, Unity, I think you can do -some- things in unreal engine with C#...

In contrast to java it has added a lot of helpful constructs for high performance code like game dev; things like `Span` and `Memory` plus ref structs make it easier to produce code that avoids allocation on the heap (and thus lower GC pauses, which are a concern for most types of game dev).

At least for now I'd rather trust Microsoft than Oracle, esp since both CoreCLR and Mono are under more permissive licenses than Java and have been for some time.


C# is open source now and has been for a while. Same as .NET

Only proprietary bit is the debugger (vsdbg) but there are open alternatives.


> I'm sorry but why C#?

Because Stardew Valley is written in it. Probably half of modern games are written in C#, too (Unity). It's not exactly an odd choice.

> Isn't the big tech (Microsoft) in this case is a very big downside?

No, a language being backed by big tech is a plus as long as the stack is fully open-source (which .net now is).

> Why not LÖVE (Lua) for example?

Because Stardew Valley uses MonoGame, not LOVE.

> There is also libGDX (Java) but not sure Oracle is any better than Microsoft.

Other than Minecraft, can you name one successful game written in Java?


Others have mentioned big names, I’ll mention a medium ish name: Mindustry.


Slay the Spire!


> Other than Minecraft, can you name one successful game written in Java?

The other major one would be RuneScape.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: