Live data from Hacker News

Making Advanced GUI Applications with Godot

medium.com

111–120 of 259 posts

Re: Making Advanced GUI Applications with Godot

#111
post #2

QtWidgets works really hard to try and remain native (both by reusing the platform window pointers, and mimicking style and functionality). That for me is worth it. While the article constantly complains about dev tooling size, a reasonable complaint, my DLLs I ship w/ my Qt program are just 20MB (so I'd suspect a similar size increase to a single binary were I to statically link). If I didn't care about native look…

It's odd to see the "just 20MB" phrasing. I guess even native applications have expanded to the point where 20MB seems small, but in absolute terms I still consider that quite large --- to put things into perspective, a full installation of Windows 3.11 , the OS with all of its included applications, is less than 20MB. I wonder if, in another 20 years, we may see people speaking of "just 20GB"...

IIRC, the single biggest component of that 20MB is the ICU Unicode library. It may be double the size of Windows 3.11, but it supports multiple languages.

Re: Making Advanced GUI Applications with Godot

#112

> Game development faces some rather brutal conditions to survive. Which begs the question how do other areas of development get such easy conditions?

Game development feasts on people willing to sell their souls to live the dream, so they have an endless supply regardless of the conditions..

Re: Making Advanced GUI Applications with Godot

#113

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…

It's perfectly reasonable to build a game engine that's possible to build these GUI-specific systems on top of (if you want lazy UI rendering simply don't call the update. For godot I believe the biggest block is the editor cuz it's geared towards game creation (haven't used godot for a while don't know anything about its usage without editor)

> For godot I believe the biggest block is the editor cuz it's geared towards game creation

Recently Godot gained the ability to selectively remove features from the editor:

* https://godotengine.org/article/godot-32-will-allow-disablin...

* https://docs.godotengine.org/en/stable/classes/class_editorf...

The documentation describes it like this:

"""

When disabled, the features won't appear in the editor, which makes the editor less cluttered.

This is useful in education settings to reduce confusion or when working in a team.

For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files[...]

"""

Re: Making Advanced GUI Applications with Godot

#114
post #6

This just reads like a godot advertisement...it only has good things to say about godot and only bad things to say about any other library. It's really hard to take the article seriously with so much blatant bias. It also seems to leave out any technical information that a developer using the engine would want to know, like how well it integrates with existing code, what paradigms it uses compared to other UI engines…

> whether it uses lazy rendering or if it constantly runs at 60fps

This point was mentioned in the article. Seems like you made up your mind without reading too closely.

Re: Making Advanced GUI Applications with Godot

#115

Why is Hacker News not interested in JavaFX at all? Seriously.

In general desktop ui is underrepresented. Then again, if you look at (most of) big tech, they're web first (or only), plus maybe a custom platform (iOS, Windows, Android). None of these companies really do cross platform desktop ui. That's the space of smaller businesses, and perhaps a smaller space in general.

Re: Making Advanced GUI Applications with Godot

#116
post #107
post #58

Earlier quoted context omitted.

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

I think mostly because having scads of clever conditionals all over the place greatly increases the risk of subtle and hard-to-reproduce bugs. From a 2007 Carmack email [1] : > The way we have traditionally measured performance and optimized our games encouraged a lot of conditional operations -- recognizing that a particular operation doesn't need to be done in some subset of the operating states, and skipping it. T…

Also, modern processors might run the code anyway and trow away the path not taken. Its better to optimize by generating a function that does not have branches.

Re: Making Advanced GUI Applications with Godot

#117

> Game development faces some rather brutal conditions to survive. Which begs the question how do other areas of development get such easy conditions?

Competition. When I was in high school some 15 years ago many of my classmates wanted to make games. It was seen as fun and because it was seen as you had to be smart to do it (parents had no clue) it was in my classmates eyes the perfect combination.

Fifteen years later and the competition is huge, and the demand in overtime and the stress followed.

As you start to make even more “programming is fun” classes, what they don’t see is the other end, and then queue in the FAANG salaries as if that is indicative of what programmers salaries are.

If I get kids, I’ll tell them to do some soul digging to find out what they find fun that the majority instead finds boring or something that has a clear path through a moat.

Re: Making Advanced GUI Applications with Godot

#118

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)?

BTW dx87 quoted from this page: https://docs.godotengine.org/en/latest/about/faq.html#doc-fa...

An additional aspect is that--in terms of language design--in many cases "do what Python does" was the design principle followed, so that helps reduce the learning curve for those with Python experience and potentially helps avoid language design roadblocks during development of GDScript itself.

It's extremely common for people to be resistant to using GDScript initially but then be: "oh, actually, this is really good".

And there's now additional bindings for other languages (e.g. C++, C#, Rust, Python to various degrees of completeness) via the "GDNative" interface that essentially provides a C API for communicating with Godot & passing objects around.

Re: Making Advanced GUI Applications with Godot

#119

Earlier quoted context omitted.

It's odd to see the "just 20MB" phrasing. I guess even native applications have expanded to the point where 20MB seems small, but in absolute terms I still consider that quite large --- to put things into perspective, a full installation of Windows 3.11 , the OS with all of its included applications, is less than 20MB. I wonder if, in another 20 years, we may see people speaking of "just 20GB"...

I think this is in comparison with 200M+ Electron executable, which is nowadays bundled with almost every 'native' app. Do you want to flash image to USB drive? There is Electron app (balenaEtcher) for that. Do you want to control your mouse/keyboard? There is Electron app for that (Logitech GHub), which also includes many Qt libraries. Do you want a terminal emulator? There is an Electron based app for that. ...

It's unfortunate that traditional desktop GUI frameworks are such an abysmal developer experience that everything from FOSS made by 1 person in their spare time to the cornerstone of multi-billion dollar companies choose to embed a web browser into their desktop app instead.

Qt is the best I've seen, but it has the normal c++ FUD plus the infamous licensing FUD.

And honestly, I'll have to admit that how react models GUIs is a really attractive.

Re: Making Advanced GUI Applications with Godot

#120
post #22

There is so much bullshit and lies about Qt5, I won't bother finishing that piece of crap: Erik Engheim: Qt5 is 5GB Actual fact (on arch linux): qt5-base = 64.07 MiB, qt5-declarative = 24.72 MiB, qt5-quickcontrols2 = 8.56 MiB > Try having somebody look at a Qt design you made. “Oops sorry you need a 5 GB download to do that. Oh and btw you need to register an account on a website, login and search really hard to find…

I tried to install qt the other day on Ubuntu, I couldn’t find the free version. I gave up and moved on to an alternative. Why are they shooting themselves in the foot there?

  sudo apt install qt5-default qtcreator
There's additional packages for certain things like multimedia formats, SQL support, and other specialized components, but that gives you everything you need for Qt Gui.

I think you could add `--install-suggests` to that command if you wanted to get everything and the kitchen sink.

Post reply on HN