Live data from Hacker News

Developing Godot Projects with Neovim

devpoga.org

21–30 of 43 posts

Re: Developing Godot Projects with Neovim

#21
post #20

I am curious. What's the point of having yet another DSL for scripting when there are established scripting languages like the Lua/Teal/Luau/Janet family ?

This is actually explained in the Godot docs: https://docs.godotengine.org/en/latest/about/faq.html#what-i...

Thanks!

Re: Developing Godot Projects with Neovim

#22
On linux based OSes, Godot must generate pure and simple ELF64 binaries which do libdl everything from the system, and that means:

   * no C/c++ main(), but the sysv ABI entry point (which is basically main() anyway). When the libc will be libdl-ed, the init functions are called with the same arguments stack than the sysv ABI entry point.

   * interact with system TLS-ized variable with only the sysv ABI __tls_get_addr(), for instance if there is a need to use errno. I have to admit, I did not get really into this issue yet (but there my be seriously nasty things related to the "TLS offset").

   * fork the static gcc/clang libstdc++ in order to libdl-ize it, because even with -static-libstdc++/-static-libgcc options, it won't libdl what it requires from the system libs (gcc devs 100% at fault here, they have been carefully ignoring the availability of games on linux OSes for a decade). rant[on], to avoid this and the dependency on the very few c++ compilers (because c++ syntax is beyond sanity), godot should have been a simple and lean C project, rant[off].
Currently, the only way to mitigate the GNU symbol versoning abuse from the glibc devs (100% their fault), is to compile/link against a years old glibc (_REALLY_ old).

That said, they should od exactly the same on other OSes, which means the code structure would be the same, only different compile-time and runtime function tables.

Re: Developing Godot Projects with Neovim

#23
post #5

The godot language server also seems really nice. You just add something like: lspconfig.gdscript.setup({}) to your init.lua (or equivalent in init.vim), then it works with the normal neovim autocomplete. More significantly, it means you can get the really great godot docs in a floaty window bubble without any context-switching.

The Godot documentation is also pretty easy to parse. So I made a Dash[1] docset from it: https://github.com/poga/godot-dash-docset

[1]: https://kapeli.com/dash

Re: Developing Godot Projects with Neovim

#24
post #11
post #9

Earlier quoted context omitted.

How much worse is support for c# than for GDScript? We want to move away from unity and the whole team is already fluent in c#.

Not an expert in Godot and definitely not an expert in C#, but I'd say the only real difference is that the documentation for GDScript is slightly better and there are significantly more tutorials for using GDScript than C# with Godot. All of the functions and concepts that are used in GDScript have an equivalent in C#, and you normally can just use the same function in camelCase. You can use both languages in one pr…

What about for C++? Reading the docs, the C++ support seems somewhat of a side-show, and documentation seems patchy on it.

Re: Developing Godot Projects with Neovim

#25
post #6
post #2

Godot has a lot going for it. Standing in its way was the wide adoption of Unity. I feel that the merger with ironSource maybe removed that hurdle.

Not sure why you have been downvoted as I have seen a lot of that sentiment on twitter and youtube already. I do not believe that this ironSource thing or the comments from the CEO will cause a real downfall of Unity but I do believe that VR is the area where Godot has the chance to sidestep the huge lead of Unity and shine as a real competitor. Because the technology is still changing very rapidly and no one has too…

I think it's more likely that Unity will end up in a situation similar to Apple during the period where they messed up the Mac Pro and Macbook Pro - not losing huge sales, but the creative trendsetters that used to be their biggest evangelists will start looking for alternatives.

Re: Developing Godot Projects with Neovim

#26
post #6
post #2

Godot has a lot going for it. Standing in its way was the wide adoption of Unity. I feel that the merger with ironSource maybe removed that hurdle.

Not sure why you have been downvoted as I have seen a lot of that sentiment on twitter and youtube already. I do not believe that this ironSource thing or the comments from the CEO will cause a real downfall of Unity but I do believe that VR is the area where Godot has the chance to sidestep the huge lead of Unity and shine as a real competitor. Because the technology is still changing very rapidly and no one has too…

The Unity situation is definitely weird and Unity basically introduced a lot of FUD about itself. I know a lot of indies are worried about things like Unity pushing microtransactions on all developers. I think I would be worried even if I was the developer of one of those huge microtransaction games. Unity has probably seen how much money Apple and Google are making from their cut of microtransactions while Unity itself is only making money from the engine seat licensing (at least that’s my understanding. I don’t believe Unity collects royalties). I wouldn’t be surprised if Unity tries to change licensing for future versions of the engine to try to get it’s own slice of the microtransaction money.

Re: Developing Godot Projects with Neovim

#27
post #2

Godot has a lot going for it. Standing in its way was the wide adoption of Unity. I feel that the merger with ironSource maybe removed that hurdle.

I've already seen some Unity expats in a game dev discord I'm part of, starting to pick up Godot. It's not just the ironSource merge, the CEO has made their focus ad-tech and monetization, whilst the game engine itself is still grappling with split focus issues and playing catch-up with Unreal. It's hard not to see that as a creative indie-dev and conclude that you're probably not the target market for the engine anymore.

Re: Developing Godot Projects with Neovim

#28

Earlier quoted context omitted.

It hardly can be considered for a serious commercial project without having a engine team already. But for hobbyist it might become a good choice and the popularity definitly helps.

Might be a nitpick, but there’s also the problem of what exactly we are calling a “serious commercial project”. Right now the most successful game made with Godot Engine is Cruelty Squad ( https://store.steampowered.com/app/1388770/Cruelty_Squad/ ). Regardless of if you would call it “professional” or not, it was one of the most noted indie games of 2021, had great reviews, and probably was much more commercially suc…

There are still people out there rolling their own engines for commercial projects, it's all about what you can pull off with the tools you've chosen. But I would agree that there's a professional network and support system around Unity that Godot currently doesn't have. If you're planning to hire a team, it'd be much easier to find good Unity developers than Godot devs.

Re: Developing Godot Projects with Neovim

#29

Earlier quoted context omitted.

It hardly can be considered for a serious commercial project without having a engine team already. But for hobbyist it might become a good choice and the popularity definitly helps.

Might be a nitpick, but there’s also the problem of what exactly we are calling a “serious commercial project”. Right now the most successful game made with Godot Engine is Cruelty Squad ( https://store.steampowered.com/app/1388770/Cruelty_Squad/ ). Regardless of if you would call it “professional” or not, it was one of the most noted indie games of 2021, had great reviews, and probably was much more commercially suc…

The Sonic Colors PC port is also running on Godot Engine.

Re: Developing Godot Projects with Neovim

#30
post #11

Earlier quoted context omitted.

Not an expert in Godot and definitely not an expert in C#, but I'd say the only real difference is that the documentation for GDScript is slightly better and there are significantly more tutorials for using GDScript than C# with Godot. All of the functions and concepts that are used in GDScript have an equivalent in C#, and you normally can just use the same function in camelCase. You can use both languages in one pr…

What about for C++? Reading the docs, the C++ support seems somewhat of a side-show, and documentation seems patchy on it.

I'm not sure if you are referring to GDNative which is the native/binary "scripting" interface, or hacking on the engine code itself. Neither are the primary way to use Godot -- the documentation reflects that, I guess. A lot of the documentation is not language specific, and a lot of the topics covered are fundamental.

The engine code is great. It's structured logically and navigating it is intuitive. Building the engine is simple, customisable, and documented well. Significant chunks of the engine are integrated as compiled in 'modules'. You can add your own modules and the build system lets you select which modules to include. Adding new node types and working with the scripting/binding system is pretty straight-forward.

I think the documentation for working on the engine[0] and contributing to the project[1] (as well as the code itself) are areas where Godot is doing exceptionally well.

GDNative can be used to integrate external libraries, add support for other languages[2], without compiling the engine. You can use it as a scripting layer, add node types, etc. I haven't used GDNative non-trivially.

* [0] https://docs.godotengine.org/en/stable/development/cpp/index...

* [1] https://docs.godotengine.org/en/stable/community/contributin...

* [2] https://github.com/godot-rust/godot-rust

Post reply on HN