Live data from Hacker News

Godot game engine reaches 2.0

godotengine.org

11–20 of 59 posts

Re: Godot game engine reaches 2.0

#12
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

> "One thing I don't get with game engines: why do they feel the need to make a X-like scripting language..."

They make it in "X" because they want a scripting language that is familiar to a large number of users and they only want it "X-like" because they don't want to recreate the entire language, including edge cases and undefined behaviour.

Re: Godot game engine reaches 2.0

#14
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

This should answer your question, http://docs.godotengine.org/en/latest/reference/gdscript.htm...

As for my personal experience with GDScript, I used to experiment with Godot a while back, and honestly I never felt like GDScript was some sort of hindrance never felt it was in the way. It was really, really easy to pick up if you know another programming language already.

Re: Godot game engine reaches 2.0

#15
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

Moreover, there are very good languages out there, which are designed for simple embedding.

LUA, for example, seems to be quite popular among game engines.

Reinventing a custom embedding language is almost always a bad idea.

Re: Godot game engine reaches 2.0

#16
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

> One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case?

So I checked the doc

> GDScript is a dynamically typed scripting language to fit inside Godot. It was designed with the following goals: (...)

So yeah, it's close to python but with a different syntax. Why ? it's a big fustrating.

Granted Python wasn't necessary developed with game design in mind(though there is absolutely no issue with developing games in Python). I feel there is a lost opportunity here.

> As with most dynamically typed languages though, the higher productivity (code is easier to learn, faster to write, no compilation, etc) is balanced with a performance penalty, but most critical code is written in C++ already in the engine (vector ops, physics, math, indexing, etc), making the resulting performance more than enough for most types of games.

Then why not go with a statically typed language at first place? I began programming with Flash and never had an issue with learning AS from scratch, granted AS2 was less difficult than AS3 for beginners.

Anyway, first time I hear about this project and it looks quite gorgeous.

Re: Godot game engine reaches 2.0

#17
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

There's a history of reinventing the wheel in game development just for the sake of doing so. Until Unity became popular, everybody was doing their own game engine for their own game. All those game engines have their own image formats, sound formats, archive packing format, etc. None of this is ever open source, of course... And before you think "in the name of performance", it's usually actually in the name of prem…

> Until Unity became popular, everybody was doing their own game engine for their own game.

The very first Half-Life was already using one of the Quake engines. As was Hexen.

The first Deus Ex was using the Unreal engine.

That was all probably ten years before Unity.

Re: Godot game engine reaches 2.0

#18
post #17

Earlier quoted context omitted.

There's a history of reinventing the wheel in game development just for the sake of doing so. Until Unity became popular, everybody was doing their own game engine for their own game. All those game engines have their own image formats, sound formats, archive packing format, etc. None of this is ever open source, of course... And before you think "in the name of performance", it's usually actually in the name of prem…

> Until Unity became popular, everybody was doing their own game engine for their own game. The very first Half-Life was already using one of the Quake engines. As was Hexen. The first Deus Ex was using the Unreal engine. That was all probably ten years before Unity.

Yes, I'm aware of the AAA exceptions. Source, CryEngine and Unreal Engine were around since long before Unity. They represent an extreme minority of games. Obviously the concept of game engines is older than Unity, I didn't think I needed to explain that here...

And even then, CryEngine, Unreal and Source are all engines centered on a very specific kind of game (fps style). There was no serious general-purpose game engine before that, that devs actually used.

Re: Godot game engine reaches 2.0

#19
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

This should answer your question, http://docs.godotengine.org/en/latest/reference/gdscript.htm... As for my personal experience with GDScript, I used to experiment with Godot a while back, and honestly I never felt like GDScript was some sort of hindrance never felt it was in the way. It was really, really easy to pick up if you know another programming language already.

> As for my personal experience with GDScript, I used to experiment with Godot a while back, and honestly I never felt like GDScript was some sort of hindrance never felt it was in the way. It was really, really easy to pick up if you know another programming language already.

Nobody is saying that it's wrong or an "hindrance", it's just yet another language to learn for a single purpose,yet another ecosystem to write libraries for. But the main issue is that it's either that or C++ (nothing against C++ either, it's just that it cannot be put into random hands). Choice is good. But there is Processing,Haxe,Vala,... + all other general purpose languages and co in this space already. It's not like they couldn't pick something that already existed.

Re: Godot game engine reaches 2.0

#20
post #8

One thing I don't get with game engines: why do they feel the need to make a X-like scripting language, where X=Python in this case, and X=JavaScript in Unity's case? Why do they make people re-learn the specifics and slight differences of a language that has been around for more than a decade? On top of this, they are making their engines more difficult to maintain: bug fixes, new features, deprecation and backwards…

What's interesting here, is that they seem to have actually started with Lua, but then switched to a custom language at some point. I'm not quite sure what were the exact reasons, as googling leads to a github wiki which since "has moved", but there's some discussion in an earlier HN submission [1]. That said, personally I can't say I'm really convinced (although I'm not a game programmer by any means).

[1] https://news.ycombinator.com/item?id=7209149

Post reply on HN