I'm happy to see that this usage of Godot has continued. I've been interested in using Godot for application development since I saw their official "Apps & Tools - 2022 Showreel"[1] video. The only concern I see commonly mentioned is in terms of accessibility (lack of screen reader support, etc.) - which could be a major drawback for certain types of software.
I love Godot for games but it's clearly not designed for utilities. The editor constantly uses a percentage of my CPU doing absolutely nothing. I don't think Godot executables can stop redrawing the window, only lower the FPS. I don't want my applications to be like that.
This is with low processor mode enabled. Hell, it's still true when I multiply Low Processor Mode Sleep by 100. This is a blank default project that has a single empty node--and the window is minimized.
Some post on HN discovered that app rendering would be more efficient if we did that (somebody made that the research of their life). Unfortunately i can't find the link anymore
That's largely my concern with Dear ImGui et al. It's okay to have it as a debug environment in a game, it's not okay to have it as an application.
The lead developer agrees:
"I do know that Dear ImGui unfortunately does not align with requirements of accessible software. It was designed as a technical/debug tooling software to be used as an overlay over 3d/graphics applications which themselves tends to have little to no accessibility features. It's not really my fault that people have started using it for desktop-ey applications."
(GH issue 7892)
Unfortunately I don't think this is great out of the box. Godot renders using very low level graphics API, which I believe would bypass any OS-level accessibility features. However there is work being done in this area, specifically for blind users: https://github.com/lightsoutgames/godot-accessibility
I built a couple of desktop utilities with Godot, and they work fine on both Mac and Windows (I didn’t need to use them in Linux since they are mostly file grouping/management things). Pretty solid.
The one thing I don’t like about it is that you can’t really get the apps to look “native” in any shape or form, and that you have to roll your own widgets for a few things (which is why I went back to some of the wxWidgets stuff I have listed in https://taoofmac.com/space/dev/native)
I've written an article about why I think Godot is a good tool for general app development, not just for building games. The article talks about my experience working with Godot for a mobile app for musicians, as well as some insight from a WIP game project. At the end there is a list of other tools and applications that are built on top of Godot.
Also, slightly unrelated, I have WIP useless desktop widget created with godot https://github.com/nvlled/fps-desktop that shoots a gun on mouseclick. Tested only on linux.
Native file dialogs would be nice, agreed. Same for drag and drop support. The great thing about Godot is that it is, after all, "just" an open source application written in C++, and if someone wants to add support for this badly enough it is definitely doable, especially if you limit yourself to just one or two platforms.
As for menu bar, why do you think a native one in particular is better? Godot has great support for menu bars already, and I'm just not sure what the native one would add to the table.
Unlike most other game engines, Godot has been designed from the very start to build a very specific application... The Godot Editor! Features for building the Editor have been added to the engine since the beginning of development.
(and I noticed the comment you were replying to was from the author thereof so under the circumstances it seemed reasonable to use what he'd written about it long form as context)
Too bad the rest of it hasn't been dogfooded nearly that much! The user experience on stuff like setting up animated sprites, tilemaps, etc. is still pretty uncomfortable. And all the UI stuff is very clearly designed for building desktop applications instead of, you know, games.
Very interesting- coincidentally I’ve been evaluating Godot for my own needs. Many apps have a “gamification” element that in my experience can feel clunky to implement on some frameworks- it then clicked for me that a game engine might be a better tool for the job
Great article. Another example I'm aware of is Blockhead, which is an experimental DAW that focuses on sampling and audio clip manipulation. The creator (@ColugoMusic on Twitter) regularly posts clips and progress, which I find fun to follow.
Yes! I was vaguely aware of a DAW project in Godot, just couldn't remember the specifics. A DAW seems like a fantastic application because Godot has great support for playing sounds thanks to being a game engine.
[1] https://youtu.be/9kKp0oguzr8?si=tib32MgkXFqri7mC