Live data from Hacker News

Making Advanced GUI Applications with Godot

medium.com

61–70 of 259 posts

Re: Making Advanced GUI Applications with Godot

#61
post #58
post #40

Earlier quoted context omitted.

As mentioned in the article Godot has a low processor usage mode: > If true, the engine optimizes for low processor usage by only refreshing the screen if needed https://docs.godotengine.org/en/stable/classes/class_os.html...

Why would any engine re-render if it's not needed? It will still have benefits even on desktops.

If it's built with the assumption it needs to throw it all away because every frame SOMETHING should change, why take the time to figure out dirty flags or the like.

Re: Making Advanced GUI Applications with Godot

#62
I like the concept, but you're starting your development by throwing out the native UI components, along with all the accessibility features, keyboard shortcuts, and other features that go with them.

A search about accessibility immediately popped up github issues acknowledging the difficulty making screen readers work: https://github.com/godotengine/godot/issues/29736

There are some applications that mimic all those friendly native behaviors, but it tends to take a lot of work, and sometimes pushing updates when the OS behaviors change.

Re: Making Advanced GUI Applications with Godot

#63

I did an Ask HN [1] about this topic a little while ago. Most relevant comment [2], from gunibert is here: The problem in a framework like GoDot is, that it is meant for Games. A game renders screens in 30/60 fps. A Desktop application like a Gtk application does exactly nothing if you dont interact with the application. If you click a button only the button gets re-rendered. This is more efficient then using somethi…

> This is more efficient then using something like a game engine which has no concept about damaged regions and so on.

A game engine can avoid redraws trivially if no relevant input/event has occurred.

Further, AFAIK some graphic APIs do support dirty rectangles too, but to be honest, for desktop/laptop GUI apps I doubt it matters compared to anything else going on in the system.

And GUIs runs perfectly fine on integrated GPUs, further reducing the cost.

Blender does this perfectly fine, for instance.

Re: Making Advanced GUI Applications with Godot

#64
post #20

I did a lot of tutorials on my YouTube channel on how to start making GUI applications with Godot. The visual scripting is really bad for now, so I would stick with GDScript (a Python like language) or C#. It is really a great piece of software to make something quick for non-technical people. I really recommend anyone to explore and play with it a bit and I'm sure you'll find a use for this amazing engine.

> visual scripting is really bad for now Are there any visual scripting languages that aren't terrible? The system in unreal works but every time I use it I find myself wanting a text editor (I have spent years learning to program well, be that C++ or shaders, just let me do that!).

Yeah redstone in Minecraft is pretty good. Very visual. Few people have made entire CPUs

https://youtu.be/ydd6l3iYOZE

It is still just connecting blocks though as pierrec says below so it can take a lot of connections to get something done

Re: Making Advanced GUI Applications with Godot

#66
This is such a bad idea. Try adding a line editor. Now try typing anything that is not ASCII or an emoji. Suddenly you'l see why you generally do not want to use a game engine for a tools.

Even the Godot editor itself is not non-English friendly. It's got a horrible experience for any language that uses an IME. If you try to insert an emoji on Mac the IME won't even appear.

Re: Making Advanced GUI Applications with Godot

#67

This is such a bad idea. Try adding a line editor. Now try typing anything that is not ASCII or an emoji. Suddenly you'l see why you generally do not want to use a game engine for a tools. Even the Godot editor itself is not non-English friendly. It's got a horrible experience for any language that uses an IME. If you try to insert an emoji on Mac the IME won't even appear.

Assuming that is true, it is an oversight. There is no actual technical limitation.

I am confident if Godot sees usage as a GUI/app framework, they will take care of that.

Re: Making Advanced GUI Applications with Godot

#68

I did a lot of tutorials on my YouTube channel on how to start making GUI applications with Godot. The visual scripting is really bad for now, so I would stick with GDScript (a Python like language) or C#. It is really a great piece of software to make something quick for non-technical people. I really recommend anyone to explore and play with it a bit and I'm sure you'll find a use for this amazing engine.

Working with unity that also does not have a visual script feature, sorta, I like using c#.

It's simple and straight forward.

Re: Making Advanced GUI Applications with Godot

#69

I did a lot of tutorials on my YouTube channel on how to start making GUI applications with Godot. The visual scripting is really bad for now, so I would stick with GDScript (a Python like language) or C#. It is really a great piece of software to make something quick for non-technical people. I really recommend anyone to explore and play with it a bit and I'm sure you'll find a use for this amazing engine.

Why would any software not use an established scripting language like Python or JavaScript? Isn't it just makework and reinventing the wheel (badly)?

I can try to guess a few:

- Bloat... Both are extremely heavy dependencies if you want "the real deal" vs a stripped down version that looks like Python or JavaScript.

- Performance too. Python is slow. JavaScript too, unless you use the modern JITs.

- Licensing perhaps?

- Lack of support for that use case?

- Painful interop? No idea.

Re: Making Advanced GUI Applications with Godot

#70

Godot is an incredibly good piece of technology, made by fantastic people. But I'm not sure that I can echo the sentiment here exactly. I took the time to read the entire article. This is what it boils down to for me: IF you are going to build a native desktop app with a drag-and-drop WYSIWYG editor, I think it's arguably a solid choice over QT or whatever else you might do it with. But the latter part of the article…

> It's all pixels on a screen. Any design asset you can whip up, with whatever animations and effects, can be rendered identically on a web, or native mobile/desktop app.

The issue is that no one bothers to do all the OS integrations you get for free when you make a native app.

Also, every web app I've used that pretends to be a desktop app has issues that make it feel off. Using Discord as an example; I have to focus the title bar before I can use the minimize/maximize window buttons - unlike every native macOS app. I run into this almost every day.

I'm not denying that web applications are useful, but if you want something really high quality, native is the only solution in my opinion.

I was hopeful that web applications could offer a really great way to make cross-platform applications. After trying some frameworks out, and following the web standards more closely, I'm pretty pessimistic. The complexity of web browsers is out of control and I don't think they'll ever be comparable to native apps.

Post reply on HN