game gui

BlitzMax Forums/BlitzMax Programming/game gui

Kanati(Posted 2009) [#1]
So it's been quite some time since I've done anything at all with max. And I'm thinking of tossing together a game. And I'm wondering what a good gui is these days.

I've seen threads for FryGui and IGlass, but they are 2 years old or more. Is there anything new on the gui front? Are the authors still hanging around anywhere here?


TaskMaster(Posted 2009) [#2]
My GUI has quite a few features, and I am adding more everyday.

http://www.ifsogui.com


GW(Posted 2009) [#3]
Frygui is nice, but its terribly slow.
Nitrous gui is fast and full featured, but there is zero documentation for it.
If your game runs in a window, the winblitz3d mod is pretty nice.
they are all free as well.


Armitage 1982(Posted 2009) [#4]
I'm absolutely biased in saying this but CEGUI is the best in-game GUI I ever used in Blitz.

Very skinable you can even create your own gadget through the Falagard system.
There is nothing I couldn't realise with it while programming my level editor and users dialogue box.

CEGUI is also fast, stable, work with Regex and as a lot of features.

Plus it's cross-platform and you can use it over a large amount of others engine.
So learn it once use it "forever".


Kanati(Posted 2009) [#5]
Thanks for the info. I'll take all into account.


GW(Posted 2009) [#6]
Does the CEgui mod work with DX7/9 drivers?
I didnt mention CEgui in my previous post because it wont compile. without having that fixed its not much of an option.


Brucey(Posted 2009) [#7]
I didnt mention CEgui in my previous post because it wont compile

It doesn't ?
Do you get any specific errors?

It should work with DX9 drivers, although I've not coded the module to support it yet - since there is no official DX9 support for BlitzMax as far as I know.


Zeke(Posted 2009) [#8]
i like that.. any possibility to use shareit payment?


TaskMaster(Posted 2009) [#9]
Zeke, are you referring to me?

If so, I only have Google Checkout setup at the moment. Is there some reason why you would not use Google Checkout?


Brucey(Posted 2009) [#10]
Zeke, are you referring to me?

I'd guess so. You're the only one expecting to be paid ;-)


Mahan(Posted 2009) [#11]
TaskMaster: I tried the demo from http://www.ifsogui.com and the program crached. The usual window where you press [Don't send] you know. I run XP pro SP3 on this machine.

Just letting you know.


AdrianT(Posted 2009) [#12]
CEGUI is very nice and artist friendly since the editors are half decent. Especially the imageset editor. I wouldn't say CEGUI was all that fast since currently every character etc is a seperate quad though the upcoming version is supposed to have a new render engine that allows render to texture for static text.

Perhaps the new engine is out already, I know flow was a bit out of date on the CEGUI front, haven't checked to see if its been updated these past 6 months.


Corum(Posted 2009) [#13]
Does the CEgui mod work with DX7/9 drivers?
I didnt mention CEgui in my previous post because it wont compile. without having that fixed its not much of an option.


It doesn't ?
Do you get any specific errors?

It should work with DX9 drivers, although I've not coded the module to support it yet - since there is no official DX9 support for BlitzMax as far as I know.


Is There a working CEgui mod/wrapper for Blitzmax?! :-O
Where?


TaskMaster(Posted 2009) [#14]
Mahan, did you run one of the examples? Or you were using the demo?

If you were using the demo, did you put the mod in the BlitzMax/mod directory? Did you have the Skin2 folder in the directory the sample app ran from?


Mahan(Posted 2009) [#15]
@TaskMaster I simply downloaded the file http://www.ifsogui.com/files/ifsoGUIEx1.zip and unzipped it into a new folder and ran the exe-file. (ifsoGUIEx1.exe)

I didn't feel like installing the bmx-mod before running a pre-built demo app that just showed the performance of the GUI, before deciding to install the demo .mod and try it out. After all a pre-build .exe is what I'll hope to distribute to potential future users/customers :-)

If i misunderstood the purpose of the example files, I'm sorry.


TaskMaster(Posted 2009) [#16]
Thank You for letting me know.

They have been corrected. i forgot to incbin the zip file for the graphics.


Mahan(Posted 2009) [#17]
@TaskMaster: It works now. The product shows promise in responsiveness, so I'll try out the mod later on.


Corum(Posted 2009) [#18]
I tried FryGUI, and IMHO it's almost perfect.
Little memory occupation, find it not so slow as said above, and as flexible as a GUI library should be.
Just what I need for my old-style turn based thing.
It's free, and I'll include the author to my credits list! :-)


Armitage 1982(Posted 2009) [#19]
I try the ifsogui : the grid object is really really nice :)
If you need something like this gadget in you UI then I can tell you it's harder to get it done with CEGUI.
Ifso maybe miss a selection text feature and a multiple-line editbox IMO.

Other than that CEGUI is not slow at all even with a full screen of text, so maybe the new engine is in (but I didn't notice any slow down over a year using it).


TaskMaster(Posted 2009) [#20]
ifsoGUI has a multi-line textbox. So, that is not missing. It even has word wrap. ;)

Copy/Cut/Paste is on the todo list. Very possibly the next feature that gets added in. Would probably take just a couple hours to do when I actually have the time to sit down and do it.


Fry Crayola(Posted 2009) [#21]
I'm currently working on FryGUI2, rewritten but based on the same ideas as the first edition, and with more features and flexibility, and most importantly joypad/keyboard control.

Could be a while yet before the first release, still not up to the same functionality of the first version, but what's there is definitely cleaner than before.


Corum(Posted 2009) [#22]
I'm currently working on FryGUI2

Argh! I struggled 2 days to figure out a safe way to replicate the behaviour of left mousebutton events for right button too, and you announce a new release right now?! :-)
Seriously: nice to hear it! ;-)


Armitage 1982(Posted 2009) [#23]
ifsoGUI has a multi-line textbox. So, that is not missing. It even has word wrap. ;)

Copy/Cut/Paste is on the todo list. Very possibly the next feature that gets added in. Would probably take just a couple hours to do when I actually have the time to sit down and do it.



Ohh nice !
I didn't notice this in the binaries examples sorry :)

Will copy/cut/past will work on all platform ??
I only been able to add this feature in windows for the moment.


TaskMaster(Posted 2009) [#24]
None of the samples include the Multi-Line textbox or the FileSelect gadget, which is a modal File Select dialog box.


Mahan(Posted 2009) [#25]
Notice about ifsogui:

Just be aware that ifsogui does not come with source at the time being. It's a precompiled binary release.

I didn't check this myself before buying the ifsogui, so I don't blame anybody but myself for not checking this up :-)

If the source is not important for you, check it out because it's a very nice product, as far as i saw.


TaskMaster(Posted 2009) [#26]
That was no secret, it was asked and answered in the other thread.

Would you not have bought it, had you known this? Are you not going to use it now? Just curious...


Mahan(Posted 2009) [#27]
@TaskMaster:

That was no secret, [...]


Yes, and as I said I don't blame you at all. I should have read the info more thoroughly myself :-)


Would you not have bought it, had you known this?



No, I would not. But on the other hand the license cost was so small that there is no problem about it (really!). I've bought things 20 times more expensive on a whim and then only used them once or twice, before putting it away in some storage room or deleted them from disk. :-)


Are you not going to use it now?



Nah, I've already bought iGlass before, so I plan on trying it out instead.

Problem with small production closed source libs for me is that even if the author has the purest intentions, sometimes things happen in life and he might not be able to even post the last code to the internet. It's very unlikely I know, but if it would happen I don't wanna sit on a heap of nice code, in my own project, that is not usable on the latest version of the compiler because the lib is no longer functional in this compiler version.

Take my iGlass experience this evening as an example: There is some built in "ResolutionRequester" dialog in a function. This function failed for me because on my laptop there is no graphic mode for 640x480 available when using the built in screen(!). This situation was probably completely unthinkable when the original author wrote the code, but now apparently there is modern hardware+drivers that does not accept a 640x480 full screen window. Since i got the code i simply went into the function and added the logic to have it check for valid graphicmodes in this order: 640x480, 800x600, 1024x768 ... voila! the lib is working nice again! And if I feel good that particular day I can mail this update to the author of iGlass (I haven't done it yet though :-)

Well sorry for long rant, my main point (with last post) was that the lib is very nice and will do good for anyone less paranoid than I am, but I just wanted people to know that they don't get the source, so that was clear when comparing Game GUIs.


TaskMaster(Posted 2009) [#28]
Thanks for the response.

I will make it more clear on the website that the source is not included. And I will have to mull it over in my mind a bit more now.

Is the source not being included stopping others from purchasing it? I am wondering if many people have this same thought that if the source is not included, they do not want it?


_Skully(Posted 2009) [#29]
I think its more a worry of vaporware... what happens if you get disinterested and they find bugs...

I'm not sure why people purchase gui's anyway honestly... is MaxGUI missing something important for game dev? or even Brucey's wxGUI lib?


TaskMaster(Posted 2009) [#30]
Many people do not want the OS look for their games.

ifsoGUI isn't just for making apps, it allows you to have a windowed interface in your game.

If I lose interest or decide to drop it, I would release the source code to the community. But seeing as I have pans for a few projects using it, I don't think I will be dropping it any time soon. Also, it is written in a way that users can easily continue to expand it, even with out the source.

Every gadget in the mod is its own mod, just import the main gui and extend the base gadget and you have everything you need to write a gadget for ifsoGUI. A couple users have already been doing that, with a couple animated button gadgets.


Brucey(Posted 2009) [#31]
ifsoGUI isn't just for making apps

Well, I would never envisage making a "normal" app using an OpenGL-canvas-rendered-UI - since it adds the overhead of requiring a graphics context suddenly - which invariable have driver issues on certain installations.


TaskMaster(Posted 2009) [#32]
By apps, I mean stuff for games, like map makers, layout tools, stuff like that. Stuff you still want to have the look of your game.


_Skully(Posted 2009) [#33]
I guess I just envision any app that uses complex controls like listboxes, spinners, multi-line textboxes and the like as more appropriately suited for a windowed app (editor), and an in-game hud is an altogether different animal. Must just be me... maybe for simple game editors your idea would work... but then again... a simple game wouldn't likely need those advanced controls... eh.. who knows


Mahan(Posted 2009) [#34]

I'm not sure why people purchase gui's anyway honestly...



Because some of us might have become tired of making GUI-libs and GUI-on-Canvas/Bitmap-like-functions for the n'th time in our life on our x'th platform.

We buy a product so we don't have to wade in the details of gui-states and shadows etc., but rather use an API.

Regarding MaxGUI: is it a free addon to BlitzMax now? I somehow remember buying it as an addon to BlitzMax. (So if you got it: why did you purchase an GUI?)

Besides MaxGUI and xwGUI libs are wrappers around the operating system(s) built in controls, and are not able to operate themselves on a graphic canvas afaik. Not a valid comparison or alternative since it's completely different things tbh.

edit: spelling


Fry Crayola(Posted 2009) [#35]
Even the most basic of games would require an interface on its title screen. One of the graphics-based GUIs becomes perfect for that, even if it's only used to provide Start Game and Exit buttons. The more complex a game gets, the more it may well require an interface. A bog-standard match three game can be almost entirely GUI driven, saving an awful lot of work. A football management title is 99% user interface.

I imagine the more complex gadgets like spinners, multi-line text boxes and so forth get implemented in the release in part because they're expected gui elements, but also because it lets the developer expand what his GUI is capable of under the hood. A spinner, for example, may consist of two buttons and a text field that effectively "talk" with one another, the buttons automatically altering the value in the field. A game may never require a spinner, but a GUI that can handle internal events such as that is more expandable.