4 ms·
Many game UIs are built using HTML/CSS under the hood, so it has come full circle! https://coherent-labs.com/products/coherent-gameface/ https://coherent-labs.
by scq 2y ago
Many game UIs are built using HTML/CSS under the hood, so it has come full circle!
https://coherent-labs.com/products/coherent-gameface/ https://coherent-labs.com/products/coherent-gameface/
- tyleo 2y agoI was part of an investigation which considered Coherent products for one of the Forza titles. We didn't go with it at the time, and I haven't had the opportunity to use it on a title at other companies, but it looks rad. Forza used a custom UI system based on XAML and the acrylic elements at the top of the article were largely implemented in a custom shader. For a custom system it was pretty solid. We also built a lot of tech into it related to 3D placement of elements to support diagetic UI.
- OptionOfT 2y agoLots of games used to use [Scaleform](https://en.m.wikipedia.org/wiki/Scaleform_GFx https://en.m.wikipedia.org/wiki/Scaleform_GFx) for their UI.
- tyleo 2y agoLots of games still use it but its been discontinued by Autodesk and is on its way out. Not to mention Flash also being discontinued.
- CreepGin 2y ago[OneJS](https://onejs.com/ https://onejs.com/) for Unity is a more modern entry in this space (Disclaimer: I'm the creator). Instead of embedding a browser/webview, it lets you use web techs and directly integrates with UI Toolkit (Unity's native UI solution). A general drawback of using web UIs in games is the lack of support for performant 2D vfx. It's something I'd like to tackle in 2025 with [Spark2D](https://github.com/Singtaa/Spark2D https://github.com/Singtaa/Spark2D).
- scq 2y agoCoherent Gameface does not embed a browser or webview either. https://docs.coherent-labs.com/cpp-gameface/what_is_gfp/overview/ https://docs.coherent-labs.com/cpp-gameface/what_is_gfp/over...
- doctorpangloss 2y agoThis is intriguing. Why not embedding a browser directly though? How do you feel about the Flutter based UI Widgets? (https://github.com/UIWidgets/com.unity.uiwidgets https://github.com/UIWidgets/com.unity.uiwidgets) In my experience there are two kinds of games: UI is the game or UI supports the game. When UI is the game, the performance bottleneck is almost always text rendering. From a DX POV there are many solutions, but from a performance POV, how can anyone compete with Skia or the native text APIs?
- CreepGin 2y agoI feel that no one can compete with Skia in terms of feature-richness. But performance, it'll really depend on the environment, hardware, and what you are doing. Unity's UI Toolkit, for example, is mesh and shader-based, so it can be highly performant for complex UIs. Interesting note: If you use OneJS with the NodeJS backend, you can use the wasm version of Skia and render all kinds of cool stuff onto a texture in Unity. Obviously the performance with that is not ideal for animation. But I was able to quickly and easily render music notations and charts on my deployed Unity app on Android using that method. > Why not embedding a browser directly though? How do you feel about the Flutter based UI Widgets? Mostly to avoid overheads on both disk space and runtime performance. QuickJS is only ~20MB to embed. And I have no experience with Flutter, unfortunately. =/
- djmips 2y agoIncluding Minecraft (Bedrock / consoles) :) https://www.youtube.com/watch?v=BnTUmksfRJU https://www.youtube.com/watch?v=BnTUmksfRJU
- lyu07282 2y agoThe ones that don't are also interesting, like baldurs gate 3 uses this: https://www.noesisengine.com/ https://www.noesisengine.com/