Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

godot 4.x? #324

Open
sHaggYcaT opened this issue Feb 14, 2022 · 16 comments
Open

godot 4.x? #324

sHaggYcaT opened this issue Feb 14, 2022 · 16 comments
Labels

Comments

@sHaggYcaT
Copy link

Is it any chance, that this project will support godot 4.x in the near future? Especially things, related to vulcan, etc.

@touilleMan
Copy link
Owner

Hi @sHaggYcaT !

The issue with Godot 4 is it will deprecate GDNative API on which Godot 4 is based. So new development are required to support Godot 4.

On top of that the new GDExtension (that replaces GDNative) doesn't currently support what is needed for Godot-Python (see godotengine/godot-proposals#3927 (comment))

So supporting Godot 4 is definitely something I want to do, but there is a lot of work for this ;-)

@touilleMan
Copy link
Owner

For people following the subject: Godot 4 is moving toward implementing what is needed to support 3rd party languages with GDExtension:

https://twitter.com/reduzio/status/1501824759818039297?t=8Ocv8xpB77wVQ3GJ6jtyKQ&s=19
https://twitter.com/reduzio/status/1501887283989032960?s=21

@captain0xff
Copy link

captain0xff commented Apr 22, 2022

I see some work in the godot4 branch. Is it usable at the current stage?

@touilleMan
Copy link
Owner

touilleMan commented Apr 23, 2022 via email

@Zireael07
Copy link

Why not try Meson?

@touilleMan
Copy link
Owner

Why not try Meson?

The Godot-Python project is a rather special C project:

  • there is only one .c file
  • a lot of generation occurs (.pyx get turns into .c, most .pyx gets generated by jinja templates)
  • there is no need for deb/rpm packaging, regular unix installation (i.e. copy .so into /usrc/etc/shared etc.) is also meaningless
  • there is need for custom steps (downloading the Godot binary for testing, fetching the Python prebuild distribution, generating a final Godot-Python distribution)

From this point of view the project has a small need for C compilation and a big need for advanced scripting. Hence SCons seemed like a good choice (as a matter of fact I didn't have much choice given Godot-Python started before GDNative was a thing so I had to provide Godot-Python as a module that had to be put into the Godot source code, hence SCons was a mandatory 😄 ).

Given I wanted to try new concept around make-like build system (in the sens "tool that allow you to chain together arbitrary steps", by opposition of compilation build system like meson or Cmake that are dedicated to a specific usecase), Godot-Python seems like a good real life project to see how usable my ideas were.

Meson is a very good project, and using it was my fallback plan in the eventuality my new shiny build system was not as great as expected 😄

@KeVs404
Copy link

KeVs404 commented Jun 24, 2022

Hello, first of all great work y'all, any updates on the project?

@touilleMan
Copy link
Owner

@KeVs404 Yes things are progressing rather slowly currently, but I plan to sprint on this during Europython (so around 12-18 July) I hope we will have some nice progress then ;-)

@KeVs404
Copy link

KeVs404 commented Jun 24, 2022

very nice, keep it up!

@captain0xff
Copy link

Any updates on this?

@touilleMan
Copy link
Owner

@CAPTAIN1947 I'm currently focusing on support Cython (as Python support itself requires Cython support). However I still have unmerged PR for Godot related to GDExtension, so it's kind of complex to work with a moving target, will be better once Godot 4.0 is released ^^

@robotsunknown
Copy link

Hi touilleMan, I'm hoping to use this before Godot4 is released in a very simple way: just to run some python code, no need for the advanced features - just any pathway to call python functions and get their returns. Is it close to be able to make that happen and if so, could I connect with you for help to get it building/working?

I would just need a way to call a python function (eg from a global singleton) and get it's result - and vice versa to call a godot function from python, and get it's result.

Thanks and best!

@des1redState
Copy link

des1redState commented Feb 14, 2023

Hey @touilleMan - I see you've now got godotengine/godot-proposals/issues/3927 merged - does that mean a GDextension godot-python is in the pipeline? I'm a DevOps engineer starting a project to visualise and interact with Kubernetes clusters in Godot, and this would make life VERY easy for me.

@touilleMan
Copy link
Owner

@des1redState yes I'm working on Godot-Python 4 for quite some time now ^^
See the godot4-meson branch, but don't expect anything: it's a big mess for the moment as I spend plenty of time trying stuff and testing & polishing GDextendion itself ;-)

@des1redState
Copy link

@touilleMan Fantastic news, thank you for your dedication. As you know, Python support opens up entire worlds to Godot, literally. Please do post here once you have any news, I really don't want to miss it!

@sHaggYcaT
Copy link
Author

Is it abandoned? :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants