Live data from Hacker News

Godot 4.0 development enters feature freeze ahead of the first beta

godotengine.org

41–50 of 122 posts

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#42

Is there a reason you wouldn't use a game engine to create general purpose cross-platform apps? Is it cumbersome to create textual, structural interfaces (e.g. a twitter clone, google sheets clone, or an ecomm checkout flow)?

You certainly could. You would probably run into a lot of issues in areas that games don't care about that much like multiple windows, smooth window resizing, fancy text layout and input, fast initial load times, matching OS themes and widget behavior, low resource usage at idle, copy/paste/drag/drop, software rendering, etc.

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#43

Is there a reason you wouldn't use a game engine to create general purpose cross-platform apps? Is it cumbersome to create textual, structural interfaces (e.g. a twitter clone, google sheets clone, or an ecomm checkout flow)?

Agreed with the poster below. Godot def could, but I know text rendering is not as nice as browsers last I checked.

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#44
post #2

It's not clear to me whether .NET 6 (and therefore C# support) is going to make 4.0 freeze. It's really just been one guy working on the dotnet6 branch, which is unfortunate. I'm really excited for many features of Godot 4, and GDScript is perfectly adequate for UI glue code and stuff, but to write a serious game you really want C#.

GDScript 2.0 has had some major performance improvements. While C# will still be faster, I find GDScript in Godot 4 to be viable now for things it wasn't in Godot 3. I still rely on GDNative for really performance critical systems though.

Sounds like Godot 4 is replacing GDNative with GDExtension. Just wondering if you have tried it out and have any thoughts. Is it a smoother experience / about the same etc.

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#45

Is there a reason you wouldn't use a game engine to create general purpose cross-platform apps? Is it cumbersome to create textual, structural interfaces (e.g. a twitter clone, google sheets clone, or an ecomm checkout flow)?

Yeah, likely you won't get as many tools to help with structured GUIs and expected hooks to the operating system commands that your user will want to use, but if what you're looking for is unstructured, quirky, or artsy content, possibly the way old school flash sites wanted to be, then it's certainly a fun option for cross platform apps.

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#46

Is there a reason you wouldn't use a game engine to create general purpose cross-platform apps? Is it cumbersome to create textual, structural interfaces (e.g. a twitter clone, google sheets clone, or an ecomm checkout flow)?

The thing I am working on is intended to be useable to also build GUI apps and command line tools.

The tech that is often used in game engines, especially related to GPU support but also memory management and GUI structure is often 10-100x faster than what is commonly used elsewhere.

Text rendering can be just as nice as any desktop app, it is not trivial but not rocket science either, and quite a few smart guys have been doing nice work in this field.

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#48
post #36
post #32

Earlier quoted context omitted.

How do you remove objects if you don't queue free them? Just remove them from the tree?

Yes, or they are free’d automatically as the parent is free’d recursively. If you have called `add_child` on a node you created dynamically, godot will handle its lifecycle from there. If you don’t add a dynamically-created node to the tree, you are responsible for `free`. That almost never comes up, because I eventually figure out how to decompose everything into a tree Node, or! A Resource. Resources are managed in…

In the docs for Node.remove_child(Node node)[1] it says

"Removes a child node. The node is NOT deleted and must be deleted manually."

Do you still have to queue_free the top node that was removed from the tree, or else how is it being deleted. Or is there a different method to call for removing it from the tree.

BTW: I really like the `_init` / `_enter_tree` / `_ready` / `_exit_tree` lifecycle as was described.

1:https://docs.godotengine.org/en/stable/classes/class_node.ht...

Re: Godot 4.0 development enters feature freeze ahead of the first beta

#50
post #8
post #5

Earlier quoted context omitted.

> but to write a serious game you really want C#. I asked someone on Twitter about this the other day [0], and I'm genuinely curious: what is it about C# that makes game development serious? 0. https://twitter.com/LegatXyotic/status/1552219744723402756

Well you could always go with C++ but C# has a solid balance of high level features, good libraries, good tooling, a feature full (if not slick) threading mode, performance features when you need them and good interoperability with native code. Its not always fun or sexy to rewrite a reference type to a value type to get around your GC but you _can_ do that in C#. Its a have your cake and eat it sort of language.

Can you elaborate on that? Do you mean rewriting existing classes as structs so they go on the stack?
Post reply on HN