Hacker News new | ask | show | jobs
by Leo_Germond 997 days ago
IMO this is not the technical level that matter, it's the UX, if we leave aside the super duper AAA games, which would use Unreal, then it's about putting a whole lot of different assets together, and hold them with code glue. Unity has some nice things that are not there yet in godot (from the top of my mind: better font support, in term of UX once again), and C# is way better than thw half-assed language that is Godotscript.

That being said I'm pretty sure that Godot is about to close this gap before 2025, given the recent boost in popularity.

2 comments

Never used Godot myself but can't you use C# in place of Godotscript? The docs[1] would suggest so.

[1]https://docs.godotengine.org/en/stable/tutorials/scripting/c...

Yes it's the second of the two first-class scripting language options.

My initial impressions are pretty positive. They moved to .Net 6 from mono with Godot 4. Support for deployment to Android with c# is coming in 4.2. There also seems to be interest and discussions around how AOT can be used in the future.

The engine is super easy to build and I think I actually built it with .Net 7 haha. Others are already using .Net 8.

You can. There are plenty of people porting their Unity code to Godot in that way.
> C# is way better than thw half-assed language that is Godotscript

C# is a horrible language, but if you must use it then you can in godot. You can use c++ too.

Why do you think it's a horrible language?
It is an excellent language, and a joy to develop in. Works on linux, linq to objects is nice, it has good reflection and decent pattern matching and good ide support. But the library ecosystem is terrible. Imagine starting out web development by looking for alternatives to Entity framework and asp.net core or whatever they have now. ML is sparse, financial libraries are sparse, dataframes, vectorized arithmetic, very hard to find something that works in all .net versions.
I gave it a try for a while - I really like the syntax and some of its capability. But somehow my head was just spinning. I can't explain it, it was horrible to use. The moment I switched back to C++, Python and similar, I felt relief. I genuinely gave C# a chance but it just didn't work. There's nothing specific, it has all the "right" things, but it forces you to work in a way that's just so unusual. I never experienced this with another language. It feels like a language that's intentionally aimed at bloating headcount in development teams where everyone works on that "little" thing that somehow becomes a project in itself.
Thanks for honest answer. I think I get it.

C# has certainly accumulated a lot of history. From being OOP heavy, Windows centric, closed-source, with mostly enterprisey frameworks/libs to more multi-paradigm, cross-plaform, open-source, with iteratively more sane frameworks/libs. A lot has changed (and is still changing).

Modern C# is getting more streamlined, but there are limitations to this due to backwards compatibility, and old boilerplate-heavy syntax is still supported, which leads to having multiple ways of doing the same thing.

While I really like the direction the language is taking now, the official documentation of the new stuff is often sparse or scattered all over the place and a lot of answers on Stack Overflow are dated. Diving into an ecosystem like that, which is in a middle of a big transition, can certainty be overwhelming.

The only tip I can provide is that if you ever try it again, try it in combination with a good IDE like Rider. C# is designed to be used in combination with an IDE. Rider can automate lots of things and analyzers can offer helpful guidance.

> try it in combination with a good IDE like Rider.

Rider is absolutely amazing. Among other reasons due to:

> Rider can automate lots of things and analyzers can offer helpful

I will give it another try but after some time. I really need to undo some of the damage it did to my brain :-)