GUI libraries for jME

These are the GUI libraries which currently work with jME:



  • FengGUI - General purpose OpenGL GUI library (not only jME)

  • BUI - The GUI library developed for the commercial game Bang! Howdy. It seems that it is discontinued and its not compatible with jME CVS. The last jME version it works with is 0.11

  • A BUI Split (i'm not quite sure about the name) - An effort to keep BUI compatible with jME CVS



jME can also display Swing components without the use of an external GUI library except Swing itself.

and then there's swing :wink:

that's not an external lib. and it's in jme so it's probably not hard to find

You never stated external lib, you just said GUI libraries…many people still don't seem to realize that JMEDesktop even exists. :o

Considering how difficult it is to get working on Mac, maybe it's better that way.  :expressionless:

well i have the feeling that all of them seem difficult to get working for someone. some complain about FengGUI, BUI looks abandoned (tests are broken, still uses LoggingSystem and some other stuff doesn't work either), and gerbidrop's BUI is probably partially broken (i fixed as much as i could today but some tests are still broken and there are still other things to fix).

i just hope those complaints about FengGUI aren't true… sarcius :stuck_out_tongue:

Personally, I rave over fenggui

the BUI split doesn't really have a name… I called it GBUI simply because it was the compilation of changes that I made to BUI for DRADIS graphics which are based off of the GerbilDrop engine… hence GBUI.  I wanted to keep the project name something that said it's BUI, but it's really not… until it's been merged in with the trunk of BUI.  Basically it was the GerbilDrop Banana User Interface (GBUI)…



I know Sfera did a lot of work yesterday working on the tests and src to ensure that the build worked with the latest JME releases.



Michael contacted me about reviewing the changes and merging them into the BUI trunk… I don't know what's come of that.  They're so busy over there right now that i'll probably keep this version going and check BUI for updates every once in a while and merge into the GBUI trunk.



@Sfera – if you have a name, I'd like to hear it:)



timo

i don't know about that name :slight_smile: it has to be something with bananas, other fruits, monkey and animals (no frogs allowed) :stuck_out_tongue: let the users come up with some ideas. :wink:

and after the split there were some additional commits to BUI so if you know at which revision the split was made, let me know and i'll try to merge those fixes and features into your trunk.

No, not banana split

which revision?  uh… sure… uh… hmm…



yeah, so no clue:)



I wanna say I had everything up to date as of May 11… at that time, if I remember correctly, the last commits to the BUI trunk were on 17 April I believe.



As for the name, whatever comes up is alright with me… it wasn't intended to be a permanent project on google code, just storage until I could get my server back up… but  I suppose it's permanent now:)



I'll try to think of a name tonight

JMEDesktop, FenGUI and BUI have all one serious problem: They are so… two-dimensional  :smiley:



E.g. If you have a game with a dungeon, why not make an extra room, put some buttons on the walls and use it as your main menu?



Started to play around with a simple GUI structured a little bit like Swing, but build from JME primitives. Everything as simple as possible.



As soon as I have a button class, I'll post some code. So far the classes Container and Border seem to work fine.

Landei said:

JMEDesktop, FenGUI and BUI have all one serious problem: They are so... two-dimensional  :D

E.g. If you have a game with a dungeon, why not make an extra room, put some buttons on the walls and use it as your main menu?

Started to play around with a simple GUI structured a little bit like Swing, but build from JME primitives. Everything as simple as possible.

As soon as I have a button class, I'll post some code. So far the classes Container and Border seem to work fine.


that's imho a quite special kind of gui. the libraries you mention intend to be more general-purpose (but i suppose you can still render them to a texture).
but it would be very interesting if you manage to make something entirely new.

Sauerbraten a special kind of in-game Menu.

Its a 3D-Box placed infront of you, on the front side is the Menu which you can interact with.



I couldn’t find a screenshot, but will post one once i get home, if no one else beats me to it.

Sort of like the one in Roll-A-Rama?



http://rollarama.captiveimagination.com/

Core-Dump said:

Sauerbraten a special kind of in-game Menu.
Its a 3D-Box placed infront of you, on the front side is the Menu which you can interact with.

I couldn't find a screenshot, but will post one once i get home, if no one else beats me to it.



i know it. i downloaded sauerbraten last week and gave it a quick look. i found the menu very strange. but it's probably a matter of taste.

well actually its not a box, just a transparent quad … there you go:







two more:

one

two



i kinda like it.



darkforgs cube is nice too of course :).

the only difference to "normal" gui's is that they don't deactivate the "game input" when showing the menus, and that they render the menu on a quad that's not ortho :wink:

at least that's my impression

If you do a JMEDesktop GUI this is easy (see the JMEDesktop tests that come with jME).

Yeah, you can do something like in the screenshot with JMEDesktop.



However, I'd consider this as 2.5D, not 3D, and I want 3D! How about a "real" keyboard in JME - would be cool, eh?  :smiley: