
GDNative – A scripting language module for Godot - generichuman
https://godotengine.org/article/dlscript-here
======
rplnt
I wonder if next week's Ludum Dare would be a great time to test this engine
out (with a few hours prep of course). The promise of C# has been keeping me
away from trying it out, but it must be at least a year now since I've heard
that C# support is coming.

------
parenthephobia
This is potentially a big win for me. I'm interested in Godot, but also wary
of it because I didn't like the notion of a game-engine-specific language. I
do like the idea of a MIT-licensed engine which works with <language of
choice>, though.

I use Unity, and it's enjoyable to be able to use a widely-understood
language, because of things like tooling, documentation, existing libraries.
Obviously, Unity isn't perfect, particularly since being limited to .NET 2.0
often means being limited to libraries made for Unity or old versions of
mainstream libraries.

Aside: Extending a game engine by linking in a shared library very much
reminds me of making Quake 2 DLL mods.

------
jadbox
Honest question: why use Godot over something like Unity3D, which also has
great 2D tools?

~~~
moron4hire
Speaking as someone with experience with Unity3D and not Godot:

Unity3D's design is not very good. It is a popular system, you can find a lot
of hacks online for getting common things done, but overall the thing is a
garbage heap of unorganized and poorly documented features.

The ability to work with source control is a joke. I'm sorry, you can't do
professional grade software development without source control. You really
shouldn't be doing hobby grade development without it either. But Unity makes
you jump through several hoops to get source control working correctly and
reliably.

They have an asset store that almost looks like a package manager, but isn't,
leaving you to have to check all of your plugins into your repository rather
than redeploy out of the central store.

Patch-point releases frequently introduce breaking changes. And their project
format is locked to prevent you from opening a project that had just been
_opened_ in a newer version than the one you have. Yes, opening a project in
Unity writes changes to disk. Wouldn't be so bad of a problem if your project
could easily and trivially be added to source control and you could just reset
the changes, but see above.

It makes doing basic physics very easy to do, but the quality of the physics
is not very good. Even their heavy number crunching "continuous dynamic" mode
suffers from terrible warp-through problems.

It's still, after all this time, not available for working on Linux. You can
build games that run on Linux, but you can't do the work on Linux.

The export to WebGL feature is another joke. An empty project ends up dumping
around 50MB of code out. That's before you even get to any game code or
assets. They compile your C# code to CIL with Mono, then that gets converted
to C++ with IL2CPP, then that gets converted to ASM.js with Emscripten. It's
an absurd Rube Goldberg machine of a process that it's no wonder people thing
WebGL sucks, if all they have to go by is Unity projects.

It bombs you out to Visual Studio for editing code, but it's still not
compatible with any version of .NET post 2.0. You can't import DLLs without
hacking the *.csproj file by hand.

I'm sure I could come up with some more gripes if I thought about it for a
while, but I don't want to be here all day.

~~~
icemelt8
Billion dollar games both 2d and 3d with exceptional quality disagree with you

~~~
moron4hire
Your argument is a gigantic logical fallacy.

------
dennyabraham
This seems like a great opportunity to try out Rust with these new bindings!

------
dswalter
The wait is over! (my deepest apologies)

------
gm-conspiracy
Any recommended tutorials or "cookbooks" to get a basic game written with
Godot?

~~~
ibelimb
Game from scratch[0] has a good tutorial, between it and the official docs you
can get a basic game up.

[0][http://www.gamefromscratch.com/page/Godot-Game-Engine-
tutori...](http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-
series.aspx)

------
wmccullough
Off Topic: Is it just me or are the trolls out in force today? People in this
thread shitting all over game development. Seriously, if you're just off work
for the holiday weekend, go outside. Stop screwing up perfectly good HN
discussions because your ego feels threatened.

------
ddorian43
Imagine what the human-species could achieve if we used game-engine-developers
for more productive stuff.

~~~
speeder
I am a game-engine-developer... without any work at the moment.

People just rarely want my skills, I work with C, C++, Lua, ASM, blazing-speed
well built code that takes a long time to make.

People don't even ask me to do interviews, when I see all these posts on HN
complaining of interviews I can't relate, I never get invited to them in first
place, because I don't know React, Enterprise-Java, Electron and other
whatever new very high-level tech designed to speed up dev (at cost of program
speed for end user) that is popular.

~~~
maccard
There are plenty of jobs available for game engine developers, and low level
engine programmers in general. If you'#re applying for jobs with
React/Electron in the descriptions, you're not really applying for engine
developer positions, though.

~~~
speeder
Where? Mind you, I don't live in a first world country... So it must be either
remote, or allow relocation. (in my country at least ALL jobs are for
React/Electron/Java... I applied to them because they are the only job listing
that existed in first place, better to work on the 'wrong field' than to be
hungry).

~~~
maccard
I don't know where youre located, but in many parts of the world there are low
level c++ jobs available. The us and Europe are full of them, and every
company I've spoken to has offered relocation.

There's a difference between people not wanting your skills, and people not
wanting your skills where you're located, unfortunately.

