Which will be better for gui?

Started by
26 comments, last by blutzeit 10 years, 4 months ago
Um, i will be making a game engine in the future (as some of you know :)). It'll be a windows directx c++ lua scripting ogre3d based 3d game engine. I'm learning c++ and planning for features for my game engine as i go. The problem now is the gui for engine.
Should i use CEGUI or Qt.
Qt is opengl and opensource but my engine will be directx. CEGUI like ogre3d is both directx and opengl, opensource and mit licensed unlike Qt's lgpl license. CEGUI seems to be mainly for game ui even though they say it can be used for other apps. Qt was used for the UI's of maya, photoshop, daz studio etc. and i've not seen that for CEGUI except for ogre's particle editor's ui. CEGUI seems more ui oriented than Qt and has the better license should i choose to make the engine commercial :).
If you've used any or both of them, what do you think. Thanks

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Advertisement
I recommend you read this blog post (it's part of a series which is itself pretty interesting) talking about one developer's experience with trying to use Qt for his main game UI, and the performance problems that it caused him. Qt is pretty heavy-weight. It's useful as hell, but that usefulness comes at a pretty significant performance cost. It really isn't designed for game UI. Game UI tends to be more highly specialized, since it needs but a fraction of the features something like Qt provides, and as a result tends to be more highly performant. CEGUI was built more with games in mind than Qt, but it also offers a measure of flexibility (and the attendant complexity).

From what I know Qt is awesome for applications, but I couldn't imagine using it in a game.

I recommend you read this blog post (it's part of a series which is itself pretty interesting) talking about one developer's experience with trying to use Qt for his main game UI, and the performance problems that it caused him. Qt is pretty heavy-weight. It's useful as hell, but that usefulness comes at a pretty significant performance cost. It really isn't designed for game UI. Game UI tends to be more highly specialized, since it needs but a fraction of the features something like Qt provides, and as a result tends to be more highly performant. CEGUI was built more with games in mind than Qt, but it also offers a measure of flexibility (and the attendant complexity).


Thanks. That's one part of my question answered. What of game engine ui

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Wait, do your answers apply to both game and game since the game engine runs the game or something like that. That would not be good.
Won't/Can't i need/use Qt to fix all the game engine pieces together and then use CEGUI to build it's UI.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

The game engine is a pile of linked code, it doesn't need a UI.... or are you thinking about making a level editor? If you're wanting to make a visual tool to help make your game then yeah, you could use Qt for that... but that's a whole other level of complexity that I wouldn't recommend. Unity, UDK etc. have their own world building tools, because they sell them... making your very own level designer is a project by itself.

The game engine is a pile of linked code, it doesn't need a UI.... or are you thinking about making a level editor? If you're wanting to make a visual tool to help make your game then yeah, you could use Qt for that... but that's a whole other level of complexity that I wouldn't recommend. Unity, UDK etc. have their own world building tools, because they sell them... making your very own level designer is a project by itself.


Every part of my engine (except the source code) definitely needs a UI because if it doesn't, there is no way i'm going to be motivated to make anything in it. The UI i am refering to is what you see when you load the engine like the menus you see in torque 3d. UI's are really (really) important to me.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy


Every part of my engine (except the source code) definitely needs a UI because if it doesn't, there is no way i'm going to be motivated to make anything in it. The UI i am refering to is what you see when you load the engine like the menus you see in torque 3d. UI's are really (really) important to me.

I never worked with Torque, but from what I could see, it seems you are referring to the GUI of the editor. While this might be accompanied with the engine, it's not the underlying actual engine that does all the rendering/audio/etc.

It's usually your engine at work in the editor so you will be able to achieve "what you see is what you get" when comparing what you see in the editor to the game. With that being said, what Godmil actually said is perfectly valid: Anything beyond the basics (even some of the basics) is a project in itself. Doable, sure, but I would advice to at least get to know Ogre3D first, how it works and such before making an editor for it. Perhaps even better, I bet there's already plenty of level editors to some degree out there for it.

Judging on your (past) posts, I strongly suggest you read Game Engine Architecture by Jason Gregory to get familiar with how things actually work (it uses Ogre as a referrence as well), because at the moment it seems you are mixing things up and/or misinterpreting how stuff actually works.

Every part of my engine (except the source code) definitely needs a UI because if it doesn't, there is no way i'm going to be motivated to make anything in it. The UI i am refering to is what you see when you load the engine like the menus you see in torque 3d. UI's are really (really) important to me.


I never worked with Torque, but from what I could see, it seems you are referring to the GUI of the editor. While this might be accompanied with the engine, it's not the underlying actual engine that does all the rendering/audio/etc.

It's usually your engine at work in the editor so you will be able to achieve "what you see is what you get" when comparing what you see in the editor to the game. With that being said, what Godmil actually said is perfectly valid: Anything beyond the basics (even some of the basics) is a project in itself. Doable, sure, but I would advice to at least get to know Ogre3D first, how it works and such before making an editor for it. Perhaps even better, I bet there's already plenty of level editors to some degree out there for it.

Judging on your (past) posts, I strongly suggest you read Game Engine Architecture by Jason Gregory to get familiar with how things actually work (it uses Ogre as a referrence as well), because at the moment it seems you are mixing things up and/or misinterpreting how stuff actually works.

Yeah, i have the book/pdf. It was the first game engine related pdf i downloaded and i also downloaded the game engine fundamentals pdf (it doesn't have as much content as the game engine architecture but it's definitely more direct and clearly lists all the features of an engine. It's actually were i saw CEGUI). For me, game engine fundamentals is a must read. About the game engine architecture book, as i was reading it, i realised it wouldn't help me that much since i don't know c++ that much as i'm still learning it. So can i use Qt for the game engine ui or editor (the interface of an engine, i don't know ... yet, so i hope you know what i mean) and CEGUI for game ui.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

See it like this:

For your game, you want something function, but doesn't slows your game down to a slug. CEGUI is (appearantly, I never worked with it directly) one of the better options for that.

For your editor, you probably still don't really want it to slow down by a lot, but it's a stand alone application that makes use of your engine (doesn't even need to), The stuff your UI needs to do in here is probably a lot more varying than what it should be able to do in your game, or more data oriented I guess. So QT might be the better choice here, provided it does what you need for the editor.

So it's just weighing off your choices. What do you need, do you need full speed for the editor etc.

I didn't do any proper GUI work to give you the final solution, but if I would, those are a few of the questions I would ask myself when making something.

This topic is closed to new replies.

Advertisement