Godot: Renaming the DLScript module

Created on 8 Apr 2017  ·  11Comments  ·  Source: godotengine/godot

Some people were confused about the name "DLScript".
DLScript stands for "dynamic linking script". It's a module used for using shared libraries as scripts.

The confusion stems from the fact that a "script" is usually a computer program written in a scripting language. Since DLScript deals with binary files (shared libraries) there are no direct scripting languages in use.

This name was chosen in the first place because game logic in Godot is accessed via the scripting system and all this module does is dynamically link in native code.
Also you're adding a "script" to a node, so it made sense to us to include "Script" in the module name.

Those are implementation details which not every user of Godot is aware of.


Now I'm asking for pros and cons of a rename and what name you think is better suited.
Please only make suggestions if you know remotely how this module works, what it does and what it is not. The blog post and the FAQ should give you a good insight to be able to constructively join the discussion.

Some suggestions that were made this far:

  • Godot/Native (or GDNative)
  • DLBridge
  • NativeBridge or NativeLink / DLBridge or DLLink
discussion

All 11 comments

I think this has potential to be an interface for making modules (like
gdscript and your entire game logic, but also gridmap, or anything that
accesses 3rd party code, all those mobile sdks for ads, analytics, cloud
storage, Steamworks, anything that depends on 3rd party code that we can't
distribute, etc), that don't require recompiling the core. Sure you can use
it to add a scripting language, and you can use it to make your game code
in c++ but there'll 1 of those for every 100 of the other, and having
dynamically loaded scripting languages or game code modules is not really a
problem that we have and we need to solve, so the world "script" in the
name is kinda confusing, I agree. Anything with "dl" and "native" would be
more descriptive since it's a way to load native code with a dynamic
linker. Out of those options GDNative is fine..

On 7 April 2017 at 21:10, Thomas Herzog notifications@github.com wrote:

Some people were confused about the name "DLScript".
DLScript stands for "dynamic linking script". It's a module used for using
shared libraries as scripts.

The confusion stems from the fact that a "script" is usually a computer
program written in a scripting language. Since DLScript deals with
binary files (shared libraries) there are no direct scripting languages in
use.

This name was chosen in the first place because game logic in Godot is
accessed via the scripting system and all this module does is dynamically
link in
native code.
Also you're adding a "script" to a node, so it made sense to us to
include "Script" in the module name.

Those are implementation details which not every user of Godot is aware of.

Now I'm asking for pros and cons of a rename and what name you think is
better suited.
Please only make suggestions if you know remotely how this module works,
what it does and what it is not. The blog post
https://godotengine.org/article/dlscript-here and the FAQ
https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
should give you a good insight to be able to constructively join the
discussion.

Some suggestions that were made this far:

  • Godot/Native (or GDNative)
  • DLBridge
  • NativeBridge or NativeLink / DLBridge or DLLink


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/8312, or mute the thread
https://github.com/notifications/unsubscribe-auth/AGVmParAIEjaG_x9N1omYtxVH-9lux9xks5rttB_gaJpZM4M3hid
.

How about:

  • GDBinary
  • GDLibrary (or just GDLib)
  • NativeBind
  • DLBind

How about not naming it and just say Godot is able to have binaries as assets?

If it's really important to name it, people coming from existing engines might refer this as plugins because of their usage, not because of what they are (binaries or not in fact). Only the module that holds the source for DLScript technically requires a name... that's how I see it.
I find "Native" is a good word compared to "Script" then.

DL caused confusion because nobody knows what that stands for. Script caused confusion because that implies the code is interpreted. Therefore i think its important to avoid both of those problems. The new name should immediately describe whats happening.

I like GDNative because that tells developers that they are interacting with godot via native code. It also pairs nicely with GDScript. GDScript and GDNative both use the same apis (for the most part) so there are some similarities, but script implies interpreted layer and native implies "its built to run on a platform bare-metal".

GDLink = Godot Link to the world.. GDNative seem vague for its purpose.

@punto- you can't replace all modules with it. Some, yes. But recreating GDScript in DLScript will be difficult. We plan to add an API so that you can add scripting languages from there, but it's not aiming to replace modules, just create more powerful scripts.

I do agree about the "native" and "dl" thing

I really like @Zylann's idea. Just call it "Native". If you attach a new script there will be those options available

  • GDScript
  • C#
  • Native

Sounds reasonable to me.

Think of the possibility to search about it.
Searching about "native" may result in lot of stuff you don't want to see because "native" is used for other things too.

GNative or GDNative may be better than plain Native, IMO.

I think it's good if the module name still has something relating it to Godot, so gdnative would be fine. Just modules/native is a bit unclear, one could think it just binds some libnative library, like modules/openssl for example.

But using Native as name for the "scripting language" would be fine.

@akien-mga so far it seems like GDNative is the most liked version. I really like having "Native" as the displayed name so 👍

@eon-s if you'd search for "Godot native" then you should find enough stuff, much like searching for "Godot 3D". Just because it's a commonly used name doesn't mean it's bad for searchability

Renamed in 0198d2e to "Native" when interfacing with the user ("Attach Script" dialog for example). The module itself is now called GDNative.

Closing the issue now. Thanks for your input!

Was this page helpful?
0 / 5 - 0 ratings