Godot: Make this game engine C++ centered.

Created on 29 Dec 2017  Â·  9Comments  Â·  Source: godotengine/godot

We need C++ in Godot 3.1 straigthtforward, well documented, and above all C++ centered. We need C++ supported as a main, built-in scripting language for game logic (see Unreal)? NOT for native libraries and NOT bindings.

archived

Most helpful comment

I'm not sure Joe23232 and Raj2032 are the same guy or not. If not, my apology and you can ignore this comment, but if so (as Joe23232 just joined Github on today Dec 29 just to make an issue here, then please read along)

Based on your past questions mostly about C++ centric, I would kindly suggest to familiar yourself with Godot's direction and usage. I think every tool cannot be fully 100% of individual wants, but community at large is there to be heard and gradually adapt to provide if need.

About why not C++ centered, I would say that Godot itself has put C/C++ at first class citizen already with the benefit of high productivity in-mind via scripting language (GDScript). If they are not care about C++, I don't think they went too far to make 3.0 onwards to support flexible way i.e. shared library to integrate with your custom C/C++ code. So "C++ centered" should not be in a question context. As community answered to your board questions so many times, including this from myself about C/C++ and its ecosystem in general or specific. I'd see it as information overwhelming and better to move on further from there and not to stress this again and again. If this sounds rude, I don't mean to, but at some points someone has to point this out.

If you want discussion, please see community and select which channel is the best for you to initiate the topic. Might be Questions & Answers, IRC, or Discord. Those places are better suitable for this kind of discussion, not issues on Github which is intended for reporting bug or real issues so community would see to fix it (they have seen ton of issues already, so we better at first filter some for them). But if you only want to initiate topics/discussion without serious concern, neither community or here is suitable for that I believe.

All 9 comments

I think I understand what you're saying based on your post over at the Polycode project. https://github.com/ivansafrin/Polycode/issues/715

It seems like you want C++ to be the main language and replace scripting languages as being the primary focus and make it C++ instead. If I'm understanding you correctly then it isn't going to happen. While C++ is faster as far as code execution goes, it's also extremely slow to develop with and the costs end up outweighing the benefits. Most of the performance critical code is already in C++.

However, it isn't hard to learn how Godot's nodes work internally. C++ isn't my primary language and I was able to figure it out. So, you can write your entire game by either making your own custom version of Godot, or you can make your own custom modules for your game using GDNative.

I've seen a number of these requests recently and I find them interesting. It stands to reason that C++ is the most supported language in Godot considering that Godot is written in C++. A C++ developer working in or on Godot has access to more engine functionality than anything exposed via the supported scripting APIs.

I'm not sure Joe23232 and Raj2032 are the same guy or not. If not, my apology and you can ignore this comment, but if so (as Joe23232 just joined Github on today Dec 29 just to make an issue here, then please read along)

Based on your past questions mostly about C++ centric, I would kindly suggest to familiar yourself with Godot's direction and usage. I think every tool cannot be fully 100% of individual wants, but community at large is there to be heard and gradually adapt to provide if need.

About why not C++ centered, I would say that Godot itself has put C/C++ at first class citizen already with the benefit of high productivity in-mind via scripting language (GDScript). If they are not care about C++, I don't think they went too far to make 3.0 onwards to support flexible way i.e. shared library to integrate with your custom C/C++ code. So "C++ centered" should not be in a question context. As community answered to your board questions so many times, including this from myself about C/C++ and its ecosystem in general or specific. I'd see it as information overwhelming and better to move on further from there and not to stress this again and again. If this sounds rude, I don't mean to, but at some points someone has to point this out.

If you want discussion, please see community and select which channel is the best for you to initiate the topic. Might be Questions & Answers, IRC, or Discord. Those places are better suitable for this kind of discussion, not issues on Github which is intended for reporting bug or real issues so community would see to fix it (they have seen ton of issues already, so we better at first filter some for them). But if you only want to initiate topics/discussion without serious concern, neither community or here is suitable for that I believe.

But at least stop using native library and bindings and simply allow users to have C++ pre configured straight out of the box without having to deal with native libraries, bindings etc.

As you've already been explained, that is already possible.
Just download the Godot source code off of github and code away. Add your own custom nodes and scripts into the engine, compile it and build your project in the editor using your new nodes.
If you don't want to build your own custom version of Godot and instead use the classic Godot interface (to guarantee compatibility with updates and all), that is where a native library comes into play.
You CAN'T use a compiled programming language like C++ without first compiling it to a library file. That is simply how C++ works. You will face this "problem" in every single C++ project you will ever seek out to ask for "C++ centering" in, because that is simply how C++ works. No way around it, C++ cannot be run as executable code without first compiling it to a binary or library, which then has to be linked to your existing binary, which is what "native libraries" are.

May you please teach me how to use native library?

On Fri, Dec 29, 2017 at 1:39 PM, Tim Schellenberg notifications@github.com
wrote:

As you've already been explained, that is already possible.
Just download the Godot source code off of github and code away. Add your
own custom nodes and scripts into the engine, compile it and build your
project in the editor using your new nodes.
If you don't want to build your own custom version of Godot and instead
use the classic Godot interface (to guarantee compatibility with updates
and all), that is where a native library comes into play.
You CAN'T use a compiled programming language like C++ without first
compiling it to a library file. That is simply how C++ works. You will face
this "problem" in every single C++ project you will ever seek out to ask
for "C++ centering" in, because that is simply how C++ works. No way around
it, C++ cannot be run as executable code without first compiling it to a
binary or library, which then has to be linked to your existing binary,
which is what "native libraries" are.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/15134#issuecomment-354389649,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhTvoV3eg3q2JhB2maz82voPcTEx6bvUks5tFFDWgaJpZM4ROxUK
.

Make this game engine C++ centered?...... no thanks!

This question has already been asked several times the few past days, with several and well argued responses. I close this one.

Was this page helpful?
0 / 5 - 0 ratings