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

better C++ support so cython and kotlin/native could be added in the future. #150

Closed
user5145 opened this issue Oct 11, 2019 · 6 comments
Closed

Comments

@user5145
Copy link

Describe the project you are working on:
2d game with Diggles/Oxygen not included like style written in c++ compatible language (kotlin/native via cinterop), but I have just started.

Describe the problem or limitation you are having in your project:
Background: cython and kotlin/native make it easy to use c++ libraries just like in regular c++ code and it works in both directions from and to c++. The only difference are the debuggers that come with them and they would require additional effort to get them to work within godot. I'm following a tutorial and docs that show how to use c++ instead of GDScript and it's friends, but it seems to be unnecessary difficult to setup even with standard c++ code instead of cython and Kotlin/Native. I haven't seen anyone who would be able to actually debug c++ code in godot.
Feature1: Firstly I would ask for some info preferably in the docs if debugging c++ code in godot is supported.
Feature2: Secondly better c++ support to avoid all those unnecessary "git clone" steps and make it work via Script -> file -> new Script -> Language -> C++. (i have read about some people on reddit claiming to not be able to set up a c++ project for a few weeks :<)

Describe how this feature / enhancement will help you overcome this problem or limitation:
that would allow for future support for cython and kotlin/native and would make godot a viable option for all the people who use c++ (and there is a lot of them). additionally if i knew about an actual state of c++ debug then i would be able to decide whether it's worth to spend my time on godot or write everything on my own .

Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
C++ should be in a combobox in Script -> file -> new Script -> Language -> C++
and that should be everything required to get it to work, a few clicks just like in unreal engine.
Screenshot from 2019-10-11 22-29-06

Describe implementation detail for your proposal (in code), if possible:
Sorry I'm not familiar with godot code enough to help here :<

If this enhancement will not be used often, can it be worked around with a few lines of script?:
Godot already uses c++ and makes it possible to use c++ so this support would only be improved and that probably doesn't require to much code. besides Unreal Engine proves that it will be used often. It's basically a standard in game dev.

Is there a reason why this should be core and not an add-on in the asset library?:
It's more about godot's GUI rather than libraries in general.

@user5145 user5145 changed the title support C++ as well as Mono and GDScript so cython and kotlin/native could be added in the future. better C++ support so cython and kotlin/native could be added in the future. Oct 11, 2019
@girng
Copy link

girng commented Oct 12, 2019

FWIW, there are a couple issues in the main repo about this. They might shed light on this idea, can't find them atm.

Also, I feel like this is quite ambiguous, are you wanting better support for cython and kotlin? Or better ease of entry to use gdnative?

@user5145
Copy link
Author

user5145 commented Oct 12, 2019

How does GDNative compare to C++ and GDScript to python? are they exactly the same or slightly different?
edit: i will reply to your question, but i want to be sure i'm not misunderstanding anything.

@bruvzg
Copy link
Member

bruvzg commented Oct 12, 2019

How does GDNative compare to C++ and GDScript to python? are they exactly the same or slightly different?

GDNative is C API for dynamic libraries, there are official binding for C++, Rust, D and some third-party bindings the other languages.

GDScript have python-like syntax but it's custom scripting language, see FAQ.

@user5145
Copy link
Author

user5145 commented Oct 12, 2019

ok so i thought that GDNative is something totally different than C/C++, sorry for that. But it shows that not calling it just C/C++ is misleading and increases the learning curve.

So I basically wish for any real form of python, kotlin and rust with debugging support. (not GDScript which is used only by godot, but a solution that people already know and use. cython and kotlin/native wouble be ok)
But Im aware that to get it to work GDNative easy of entry is the first step and I wanted to ask for some improvements in GDNative support.

@Calinou
Copy link
Member

Calinou commented Oct 12, 2019

But it shows that not calling it just C/C++ is misleading and increases the learning curve.

This is because GDNative is not restricted to C/C++, and we want to make that clear 🙂

But Im aware that to get it to work GDNative easy of entry is the first step and I wanted to ask for some improvements in GDNative support.

There's already a proposal about this, see #119.

@user5145
Copy link
Author

thanks. than it's a duplicate with some information about kotlin and python.

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

No branches or pull requests

5 participants