Because my game in development absolutely requires some kind of GUI (and an XBox360-capable one at that -- it would be a shame if all my portability efforts would gone to waste just because of that), I've been looking around for a good GUI library recently.
Thrust
There's John Sedlak's Thrust
library, previously called Xna5D, which does not have licensing terms
I'm willing to settle on.
Buttermilk 2D Game Engine
Bryan Edds has been working on his
Buttermilk
2D game engine seemingly since the beginnings of XNA. Its GUI system is
quite extensive (for example, it provides an on-screen keyboard for
gaming consoles). The released alpha version was not allowed to be
redistributed and now he decided to rewrite his engine to become a
3D game engine, so this projects falls out of the equation as well.
2DNA
Next in line is
2DNA by
someone who's only published himself as Hawthorne. While from what he's
written in the XNA forums, it could be a well-designed project (and it has a
visual form designer, too), the source code is only available on request and
he's not advertising his project anywhere (there's not even a website at the
time of this writing). So, sadly, I'm not going to bet my money on this one as well.
xWinForms
Then there's xWinForms
1.0 from Eric Grossinger. The library comes with lots of controls and has a great
look and feel, but it doesn't work on gaming consoles and the code is baked
together rather tightly with the visuals.
CeGui#
Of course, CeGui#, the C#
CeGui port is also still around. I tried
to get it back in sync with the latest CeGui sources last summer, but *sob* it's
quite a laborious task and I eventually lost traction (sorry Rob!). If anyone would
offer his help to gain some ground, *wink* I'm still willing to get this done!
Unfortunately, it also wouldn't work on the XBox 360.
? ? ?
So now I'm thinking about starting my own GUI library. The working title would
be (plain and simple) Nuclex.UserInterface. As usual, I'd put some good effort
into its design. CeGui# is ok, but I'm sure I can do better. Isolate the visuals from the
logic (so you can have skinning or even 3D models as GUI elements), abstract input
enough so it works on a gaming console without keyboard or mouse, allow for
multiple active GUIs (think of Doom3's in-game computers) and first and
foremost, have an elegant API that everyone understands.
Any comments on this? Features you'd be interested in if I pull this off?
nice idea, but i think the
nice idea, but i think the project will be much work for you ;)
i'd like it to be very easy integrateable into XNA.
The less lines code, the better ;)
as you said, an elegant API.
i'm looking forward to seeing your project ;)
Take a look at Aaron's
Take a look at Aaron's XNAWindowsSystem project. It's still in alpha status but maybe it fits your requirements.
http://aaronkm.blogspot.com/
Thanks
Aarons XNAWindowSystem indeed looks nicer than all the others I've tested, I'll see if I can modify it for my purposes!
@pyrokar: Look at my Nuclex Engine news, I've done a complete GUI framework with skinning before already :)
Post new comment