Replies: 7 comments 12 replies
-
@kodkuce they won't gonna replace GDScript with Nim. There are plans for GDScript; in some future an option will be added to pre-compile GDScript code to C-machine code through LLVM. They choose to make a custom scripting language for the engine rather than Nim to have direct control over it without depend on third parties, and for integration with the engine. |
Beta Was this translation helpful? Give feedback.
-
GDScript is a pretty intuitive and easy-to-learn language. |
Beta Was this translation helpful? Give feedback.
-
For reference, here are the reasons for creating GDscript (From https://docs.godotengine.org/en/stable/about/faq.html#doc-faq-what-is-gdscript) ====
|
Beta Was this translation helpful? Give feedback.
-
I love gdscript -- I'd use it as a general language if I could -- but a lot of the stated reasons for keeping it don't make much sense given how miserably slow it is (1, 4, and 5 above, for example). The current 4.x alpha only increases speed marginally, and I doubt it's feasible to make it much better. C# is likely to be the choice of most serious developers in the future, despite the bugs. See godotengine/godot#36060 for arguments against llvm, etc. On the other hand, I'd never heard of nim until yesterday. I don't see much to recommend it over other scripting languages, but maybe I'm missing something. |
Beta Was this translation helpful? Give feedback.
-
Nims a great little language, its a moon-language, but a good moon-language. As explained above however, GD-Script exists for a reason. And GD-Script is also a good moon language. Its simple to learn, and quite comfortable for a pythonista (Compared to "Boo", the Python-like language that used to be Unity, which was often very uncomfortable for python users because while it shared syntax it just didnt think like python leading to a lot of confusion. Boo died for a reason. GD-Script kinda does in many respect think like python, and theres little about the language that would introduce unwanted surprised to someone coming from python. So I dont think its reasonable to expect GD-Script to be replaced. The language is part of Godots DNA, and its fine. Nim CAN be introduced as an extension and in fact thats exactly what people have done. No idea how well it works, but if it does, its an everyone-wins solution. https://github.com/pragmagic/godot-nim |
Beta Was this translation helpful? Give feedback.
-
I guess a solution here would be to use another language to take care of
the heavy lifting? I think that's what C# support is for.
…On Fri, Mar 11, 2022, 02:05 Duane Robertson ***@***.***> wrote:
In lua, I was doing it all after every player turn. In godot I had to
queue the mobs up to process when activated by a timer. It can take several
seconds to complete them all, but that's usually not an issue since it's a
slower, turn-based game, and the mobs closer to the player get priority. It
only gets behind when the player is moving fast.
In lua, the mobs would constantly attack each other and respawn when
killed. In godot, I have to limit that to a radius around the player, which
results in peculiar behavior near the border.
It's an unusual situation. None of my other projects ran into serious
issues, but you know that every new programmer brings some concept that she
wants to achieve, and if she hits a road-block, she's apt to look for
another solution.
I don't miss much about love2d, but I do miss lua, despite its many issues.
—
Reply to this email directly, view it on GitHub
<#4022 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADYBOF3CUWE6B4MXTH2BWTU7KL5RANCNFSM5O2F236A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
Try using while instead of for and if..elif instead of match in tight
loops. Or unroll loops altogether if it's only a few cases.
It can make a noticeable difference.
Also if you can have the same behavior with a node or buch of nodes do
that. A call to a native function will always be faster than the same
algorithm in gdscript.
…On Thu, Mar 10, 2022, 22:05 Duane Robertson ***@***.***> wrote:
In lua, I was doing it all after every player turn. In godot I had to
queue the mobs up to process when activated by a timer. It can take several
seconds to complete them all, but that's usually not an issue since it's a
slower, turn-based game, and the mobs closer to the player get priority. It
only gets behind when the player is moving fast.
In lua, the mobs would constantly attack each other and respawn when
killed. In godot, I have to limit that to a radius around the player, which
results in peculiar behavior near the border.
It's an unusual situation. None of my other projects ran into serious
issues, but you know that every new programmer brings some concept that she
wants to achieve, and if she hits a road-block, she's apt to look for
another solution.
I don't miss much about love2d, but I do miss lua, despite its many issues.
—
Reply to this email directly, view it on GitHub
<#4022 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEAT3N6HSFECKPTISWALITU7KL5RANCNFSM5O2F236A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***
.com>
|
Beta Was this translation helpful? Give feedback.
-
Why make user specific lang when you can use something syntax similar like Nim that is fast and does not lock to only godot
Beta Was this translation helpful? Give feedback.
All reactions