nsauzede / vsdl2

🎬 SDL2 V module -- libSDL2 wrapper
MIT License
45 stars 6 forks source link

Integrate V-UI once available for UI components #1

Open ylluminate opened 5 years ago

ylluminate commented 5 years ago

Just wanted to clean this off of the chat and keep it focussed. I think you're spot on in your thought about keeping TTF (and by extension UI) in the realm of existing libraries. Obviously we're waiting (anxiously) for a "V UI" drop from @medvednikov, but this is a critical topic... And I think that should be considered broadly in order to keep things aligned perhaps with the "one way to do things" philosophy of V. (I realize that it won't always work and won't always be true, but where possible it seems that libraries should aim for this too.)

It would be a truly beautiful thing for cross pollination and utilization to have a primary user interface kit that can be used in conjunction with games and simultaneously bring game development INTO app development so that they're not (semi)mutually exclusive. There's no reason to not cooperate where possible and this is one key area where I think cooperation is key.

Speaking from our own experience, we've been really frustrated by (and this is a big point of pain) Unity, for example, not having a really solidly cohesive UI library that facilitates broader app functionality and native integration when using Unity.

I'm (totally) guessing that aside from having the native UI appearance in V UI, it will also have the ability to make custom user interfaces if desired (that seems like a pretty common sense approach). If so, it would seem to me, that this would facilitate both styles in the future with a focus on sanity via native UI by default with the ability to customize for more esoteric and peculiar game interfaces.

Personally I'm super excited about this blending of app-game modality.

nsauzede commented 5 years ago

a problem I see is : what is native UI on say, linux ? gtk ? qt ?

nsauzede commented 5 years ago

I've searched for some SDL2 "native" (or not) UI widgets lib, but I can't seem to find some de-facto standard.. Do you think that someone needs to put yet another common UI (widgets etc..) on-top of, say, opengl ?

ylluminate commented 5 years ago

I think we need to get some input from @medvednikov in this situation since I'm not really sure what he's doing for "native" "Linux" (qt, gtk, other toolkit?)... Also, I think the UI widgets should and will be handled by VUI in some fashion... so yeah, hopefully he's got some clarification on what will be feasible in this regard.

medvednikov commented 5 years ago

I'm (totally) guessing that aside from having the native UI appearance in V UI, it will also have the ability to make custom user interfaces if desired

I think we need to get some input from @medvednikov in this situation since I'm not really sure what he's doing for "native" "Linux"

The answer to both of these is the same :) On Linux, V UI is going to use custom drawing via gg. So that very same UI lib can be used in games and the WebAssembly UI framework.

It's actually mentioned on vlang.io under "Native cross-platform GUI library"