3 ms·
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.
by devmunchies 4y ago
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)?
- modeless 4y agoYou 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.
- ClawsOnPaws 4y agoAdd accessibility to that list. Screen readers, magnifiers, switch controls, etc. Usually game engines don't support these while your native OS UI probably does, and the web is also not bad in that regard.
- jamesgeck0 4y agoIIRC there is actually an ongoing Godot accessibility effort.
- lbotos 4y agoAgreed with the poster below. Godot def could, but I know text rendering is not as nice as browsers last I checked.
- phreack 4y agoYeah, 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.
- stephc_int13 4y agoThe 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.
- devmunchies 4y ago> The thing I am working on... > ...quite a few smart guys have been doing nice work in this field can you expand on that? like creating quality of life improvements to existing tools like Godot, or something entirely new but in the spirit of game engines?
- mrtksn 4y agoFlutter is essentially just that. Its graphics are built on Skia Graphics Engine and the tooling is designed to cater for UI interaction needs instead of gaming needs. Apple's own UI libraries use their graphics engines too(SpriteKit, SceneKit), unfortunately supported only on Apple platforms.
- cardanome 4y agoWell, the Godot editor is actually a Godot applications, they are dog-fooding their own UI. So it is absolutely possible to create complex applications with it. Games engines are generally not used for apps, as games are optimized differently to apps. Games need to run smoothly at a high refresh rates at all times while apps can not hog all CPU power but need also be optimized to not needlessly drain the battery. This is no an issue in Godot specifically because it offers a low processor usage mode though. So yes, Godot is a decent solution for apps. Only real issue is support for accessibility. There are screen reader plugins but if you want to do it properly, you might be better of with an app using native elements.
- xet7 4y agoFor desktop and mobile apps, it could work. For example, here is kanban PoC made by someone: https://github.com/alfredbaudisch/Godello https://github.com/alfredbaudisch/Godello But for web, that could be too much for browsers to handle. Godello loading at webbrowser has only some time watching at spinner, when you have fast Internet connection, loading about 10 MB of code, WASM etc. But when I tried to save Godot 3D game example to HTML5, and load it to webbrowser, Chromium etc browsers can not handle that much data. Some webbrowser users have slow connections. If there are many users, they start to complain webpages loading too slowly. With Godot everything is browserside, and generated with save button, from that it's hard to move anything to serverside. But if you instead code frontend and backend with Javascript, it's possible to move more of frontend Javascript code to run serverside.