Re: Godot and Blender
Awesome bit of information thanks rayman! I guess that is understandable for Blender to want to try to keep things simple. And yes Python is annoying in the sense that you have previous version that is non backwards compatible with each other and being slow and bloated. I have high hopes for Nim I wish I could only just use it instead of wasting time with other languages.
Re: Godot and Blender
This is a huge pet peeve of mine. Nim and Python are very different languages! There is some similarity in the syntax, but that is where it ends. Nim is much closer to Ada or Pascal :-P I looked into adding Nim support to Blender a long time ago. Here is what I found: TLDR; It would be **extremely difficult** It is a lot of work, and requires extensive knowledge of Nim, C++, and Blender, and you won't get a lot of help. It's definitely not a good beginner project. 1\. Blender embeds a full Python fork inside itself. They don't just use your system python. They have a custom python that has hooks all over the internal C++ code. (It was a big deal for them to migrate from Python 2 to Python3 for this reason) 2\. They don't have a published C++ api, and have **explicitly said** that they do not plan on publishing any documentation for their C++ api because it changes often and they like it that way. (They don't want to support backwards compatibility in their external C++ api) 3\. Related to point 2, the Blender programmer community is against adding other languages. Go look in their forums. Several people have asked for various languages (Lua for example). The answer is always, "it's open source, do what you want, but we will not support it in any way or accept any PR's for this" I want to point out: I don't disagree with the Blender people. Blender is a very complicated piece of software, and they only have so much developer resources. They don't want to worry about having to maintain several language bindings. It's hard enough to maintain "Professional quality CG software". The other side of the coin, it is technically possible. (Here be dragons.) There is a C++ api for Blender. People make C++ addons for Blender all the time. You could make Nim bindings for the Blender C++ api. Nim is really good at binding to C code, but: * the api doesn't have good documentation * is not officially supported * may change with no notice You will spend a lot of time figuring out how the Blender C++ api works, then getting Nim to talk to it, and then making sure it is kept up to date, and you probably won't get much help from the Blender people.
Re: Godot and Blender
> And since Nim and Python are roughly the same Syntactically, yes Nim and Python are very similar. Admittedly one of the main reasons I use Nim is I'm already fluent in Python, and that makes learning Nim relatively easy. That said - Nim and Python differ significantly in terms of their compilation targets. Nim is also statically typed, while Python is dynamically typed. In terms of Blender, the biggest difference I'd see is the REPL experience. Part of the reason Python was chosen for Blender was its really mature REPL environment - which allows coders/scripters to quickly try out code without compiling entire files. Nim does have its own REPL too, but its far less mature than Python's. So while I agree that Nim and Blender are amazing tools - I'm not sure combining them would be ideal. Also consider the amount of time/effort involved in refactoring Blender to support a new language.
Re: Godot and Blender
hi mike you are not misunderstanding I am just inexperienced and busy learning this. My understanding was that blender uses python but I would have thought that using Nim in its place would make everything much faster. And since Nim and Python are roughly the same it wouldn't be that much of a leap. Especially something like Godot that uses gdscript. I must say it is quite amazing time to have such amazing tools available in opensource. I hope I can learn it to get to a point where I can use all 3 together.
Re: Godot and Blender
As a long-time Blender user, Nim and Godot fan - I'm unsure what you mean. Blender already has a well documented Python API. Godot has Nim bindings, which others here have already linked to. Yes, Python is slow - but it is a scripting language that can be reloaded dynamically - which makes it ideal as an embedded language inside of an application such as Blender. I'm not sure how Nim would compare in this department, or even how it would get embedded in Blender.
Re: Godot and Blender
I tried the Nim Godot bindings and they compiled like >=2 month ago. Blender uses Python so using it from Nim should be doable with Nimpy.
Re: Godot and Blender
There are existing bindings (maybe they are outdated) [https://github.com/pragmagic/godot-nim](https://github.com/pragmagic/godot-nim)
Re: Godot and Blender
Hey awesome didn't know that about Godot! I will ask them maybe someone would be interested thanks for the reply.
Re: Godot and Blender
Godot already has Nim support via GDNative. If you want Nim support for Blender, it would be better to suggest it to the Blender folks. Or you could add it yourself.
Godot and Blender
I want to put forward a suggestion of maybe NIM support for Godot and Blender. Both are open source and Blender especially now since 2.8 have jumped in potential. Godot is improving by a lot and many people are moving from Unreal and Unity to it. The only problem its got is it is slow which I believe NIM can remedy. I think it be amazing for both NIM, Godot and Blender to work together to create the ultimate free and opensource combination.