5 ms·
Create non-game apps with Godot Engine
- joezydeco 3y agoAs someone that wants to get away from Qt, is this viable enough to do common desktop or embedded GUIs?
- Zambyte 3y agoAre you thinking of something like this? https://git.sr.ht/~sircmpwn/gdwlroots https://git.sr.ht/~sircmpwn/gdwlroots
- joezydeco 3y agoThat looks SUPER useful, thank you.
- dkersten 3y agoFrom having tinkered with it before and also from using the Godot editor (which is itself made with Godot), it does seem viable (and even quite pleasant), however it’s worth noting that it’s unlikely to have Qt’s level of accessibility support (eg screen readers) since that’s not typically a focus of graphical games.
- lainga 3y agoOTOH (on the orthogonal hand) - I like Godot's i18n support
- headcanon 3y agoIt builds to cross-platform pretty easily so that is a big bonus. Godot supports C# as well and its own scripting language but not much else. You won't be able to take advantage of native UI elements, but I don't think people care about that as much anymore. The built-in development environment is mostly non-negotiable (you can supply your own IDE for text editing but thats it) but its well designed and is made to work with its component model. It feels fun to use. The data model also works better with source control than other game engines, but not as well as non-game UI toolkits. If you're a text-environment purist, you might be turned off, but you'd also be turned off by all the big game engines. I've met developers who use Unity to make mobile apps since the built-in 3D compositing actually makes some applications more performant than the native toolkits. I'd imagine Godot would have similar benefits.
- tredre3 3y ago> It builds to cross-platform [...] Godot supports C# Godot supports C# on desktop only (works well on Windows and Linux, bit annoying on MacOS X but it does work). There's been talk of supporting Android since v3 but it always fell through. There is no planned support for iOS or web targets afaik.
- chris37879 3y agoGodot v3.2 added Android C# support, and Godot v4.2 (due out in November) is enabling both .net 6 and .net 7 support for the engine. From the Godot 3.2 docs on C#: > Exporting Mono projects is supported for desktop platforms (Linux, Windows and macOS), Android, HTML5, and iOS. The only platform not supported yet is UWP. And from a recent Github discussion for 4.2: https://github.com/godotengine/godot/pull/73257 https://github.com/godotengine/godot/pull/73257
- crooked-v 3y agoThe most full-fledged GUI app I can think of in Godot is RPG in a Box (https://www.rpginabox.com https://www.rpginabox.com), itself a game creation toolkit. Its UI is decent (and IMO a lot more attractive than a lot of cross-platform toolkits I've seen), though there's a lot of very obviously non-native elements and quirks.
- atomicnumber3 3y agoThe most full-fledged GUI app I can think of in Godot is Godot's own IDE. If you can build an IDE in a framework, I generally assume you can build any other GUI app you'd need in it too.
- lainga 3y agoAnd it's extensible by plugins! I like using GUT [0] for unit tests, and it injects its own editor tab with a custom UI... which is just another Control node [1]. [0] https://github.com/bitwes/Gut https://github.com/bitwes/Gut [1] https://github.com/bitwes/Gut/blob/master/addons/gut/gui/GutBottomPanel.tscn https://github.com/bitwes/Gut/blob/master/addons/gut/gui/Gut...
- Octabrain 3y agoI remember reading somewhere that Godot is what Tesla uses for the app of their cars. Don't quote me on that one, though. EDIT: https://news.ycombinator.com/item?id=30627087 https://news.ycombinator.com/item?id=30627087 PS: I cannot confirm the veracity of the link I post.
- T-A 3y agoI've seen various claims that they use Qt, like https://news.ycombinator.com/item?id=30274508 https://news.ycombinator.com/item?id=30274508 and some quick googling suggests that's true, e.g. this: https://www.tesla.com/careers/search/job/vehicle-charging-ui-c-qt-engineer-energy-software-98250 https://www.tesla.com/careers/search/job/vehicle-charging-ui...
- TOMDM 3y agoIf you want to see what an "ideal" godot GUI is like, just download the godot editor. The editor itself is a godot app.
- deleted 3y ago[deleted]
- solomspd 3y agoAs nice of an idea this is and how GUI making friendly godot is, wouldn't it being purely immediate mode make it not viable for most desktop GUI applications besides games? This would be the same issue when considering other game engines for this purpose. This is also the reason why it's a breeze writing UIs in DearImGUI compared to QT or GTK. Which explains why general purpose frameworks like QT and GTK take so much time to develop: they integrate more deeply with the OS to enable retained mode rendering. To my knowledge there isn't a way of creating retained mode GUIs in godot but I'd like to be corrected.
- rubymamis 3y agoHave you tried QML? I'm now creating a block editor based on plain-text using Qt C++ for the model and QML for the view and it's going pretty awesome right now. Only 18 days in and I already got something working well.[1] [1] https://rubymamistvalove.com/block_editor.mp4 https://rubymamistvalove.com/block_editor.mp4
- hgs3 3y agoIt's not necessarily being immediate mode that is the problem. The bigger problem with most IM GUI's is they expect to repaint at 60 frames per second like a video game which is bad for mobile devices as it drains battery life. Non-game GUI's should only repaint when needed. Another problem is most IM GUI's lack accessibility and i18n support. Want emoji or right-to-left text? Too bad.
- boberoni 3y agoFun fact: the Godot editor is itself a Godot game. > The Godot editor runs on the game engine. It uses the engine's own UI system, it can hot-reload code and scenes when you test your projects, or run game code in the editor. This means you can use the same code and scenes for your games, or build plugins and extend the editor. https://docs.godotengine.org/en/stable/getting_started/introduction/godot_design_philosophy.html#the-godot-editor-is-a-godot-game https://docs.godotengine.org/en/stable/getting_started/intro...
- willio58 3y agoVery cool! I've never used Godot myself but I sometimes watch livestreams of game devs and godot has always seemed like a great engine and editor to use.
- windsurfer 3y agoThis often-repeated statement doesn't really communicate how the editor works. While it does use many of the same APIs, you couldn't build the editor from within the editor (bootstrapping). The editor itself is largely written in C++ and not Godot's integrated language GDScript, you can see for yourself https://github.com/godotengine/godot/tree/master/editor https://github.com/godotengine/godot/tree/master/editor
- chii 3y agoi suppose the idea isn't that you can bootstrap the editor within the editor, but more like how unreal editor uses the unreal engine to render itself.
- mattetti 3y agoThe Unreal Engine editor also uses the UE engine which is pretty cool (but I wouldn't recommend writing desktop/mobile apps in UE)
- redbell 3y ago> Create non-game apps with Godot Engine I really like to see how people manage to use some tools to build something entirely not intended by the its creator which give it another dimension. I once managed to build an installer for a windows app for a client (with a tight budget) using Winrar, although I usually use WixToolset.
- fattless 3y agoTo be fair, as far as I know godot officially supports non game apps and has documentation about making them
- Keeeeeeeks 3y agois there an LLVM - GDScript transpiler that anyone has seen?
- Keeeeeeeks 3y agois there an LLVM - GDScript transpiler that anyone has laying around?
- unleaded 3y agowhy would you want that? you can use lots of other languages for scripting with gdnative/gdextension such as rust and C++
- chii 3y agoanother example of an interesting application for godot that's not a game is https://github.com/mbrlabs/Lorien https://github.com/mbrlabs/Lorien - an infinite canvas for drawing.
- dulvui 3y agoCool thanks for the hint! I will check it out.