Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Which will be better for gui?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
27 replies to this topic

#1 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 12 December 2013 - 03:03 PM

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
smile.png
--
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


Sponsor:

#2 FLeBlanc   Crossbones+   -  Reputation: 3109

Like
8Likes
Like

Posted 12 December 2013 - 03:42 PM

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).

#3 Godmil   Members   -  Reputation: 744

Like
1Likes
Like

Posted 12 December 2013 - 04:08 PM

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



#4 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 12 December 2013 - 04:21 PM

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
smile.png
--
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


#5 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 12 December 2013 - 11:37 PM

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
smile.png
--
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


#6 Godmil   Members   -  Reputation: 744

Like
0Likes
Like

Posted 13 December 2013 - 02:41 AM

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.



#7 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 06:30 AM

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
smile.png
--
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


#8 Rld_   Members   -  Reputation: 1498

Like
2Likes
Like

Posted 13 December 2013 - 08:31 AM


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.



#9 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 09:11 AM

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
smile.png
--
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


#10 Rld_   Members   -  Reputation: 1498

Like
0Likes
Like

Posted 13 December 2013 - 09:31 AM

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.



#11 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 11:46 AM

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.


My game being slow is not good so thanks for the advice on using CEGUI.
For the game engine, i think i may be confused. Doesn't unity/udk game engines have user interfaces i.e. you want to edit the world then you click on the world editor button and the screen changes, you want to import/export a model then you click the import/export button and a drop down menu appears, you get the picture right. I may be confused. Can some post a photo of the first screen they see when they click on their game engine icon and it loads, it'll help me get a clearer picture.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
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


#12 Godmil   Members   -  Reputation: 744

Like
0Likes
Like

Posted 13 December 2013 - 11:55 AM

Unity and UDK come with world builders, but that's not the engine. The game engine is just a collection of prewritten classes and functions that you can call in your code. 



#13 Satharis   Members   -  Reputation: 1051

Like
0Likes
Like

Posted 13 December 2013 - 12:01 PM

A GUI is nothing more than more than some images being drawn onscreen like anything else, most games create their own GUI elements in the engine. Generally they don't have to be as "complex" as a generic GUI toolkit like QT is or something. For instance you might add some boxes on your screen that hold items and react to mouse clicks, you can do that just by tracking mouse movement and creating reactions to clicks.

 

Torque is just one example of engine architecture, their engine has a sort of "editing mode" that is enabled in game just by having the configuration set up a certain way, this isn't necessarily how all engines work. In fact usually all the content creation tools are totally separate programs or at least are launched by providing certain special command line options to the engine to load it in a sort of "editor mode." There's no real rule about this, valve's source engine for example, they do all their map editing and content creation with separate tools.

 

How the "engine" is represented can vary a lot as well, a lot of times the game's executable is the engine, and just has game code layered ontop of it, some companies use things like dll's to represent their engine or static external libraries, it's really a case by case thing.


Edited by Satharis, 13 December 2013 - 12:03 PM.


#14 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 12:25 PM

Unity and UDK come with world builders, but that's not the engine. The game engine is just a collection of prewritten classes and functions that you can call in your code.


Ok, i just did some googling on unreal engine gui, what is the kismet editor (i think that's what i need)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
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


#15 Godmil   Members   -  Reputation: 744

Like
0Likes
Like

Posted 13 December 2013 - 12:49 PM

I think kismet is a visual scripting tool. So a level designer could easily say create a door that opens when you move near it, just by bringing up a few boxes and connecting them with lines. It's an easier way for designers to script a level quickly without having to worry about coding. It's a guess here but I think Game Maker has similar tools.



#16 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 01:21 PM

Is this right, a game engine like udk is made of subsystems including audio, graphics, AI, input system and others like memory management, world editor, scene manager etc. but to use these for your game, you write code and make your 'game ui' within the engine using something like CEGUI but all these subsystems combined to give a single sofware i.e. the engine itself and the engine has no ui so when you compile your game, it runs on the engine but the engine with ui without giving the user access to the engine tools. I'm guessing i mixed up somethings there.
Let's say my engine will use ogre, physx, havok ai and physics, directx etc. So only the renderer (ogre) and the world editor (ogre) will have a ui but physx won't have a ui. Confused

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
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


#17 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 13 December 2013 - 01:25 PM

I hope this isn't too demanding but can someone download the game engine fundamentals pdf because under the high level systems of a game engine, i see 'front end (user interface)' and i'm confused except 'front end(user interface)' means something different from my post.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
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


#18 EarthBanana   Members   -  Reputation: 973

Like
1Likes
Like

Posted 13 December 2013 - 07:09 PM


Let's say my engine will use ogre, physx, havok ai and physics, directx etc. So only the renderer (ogre) and the world editor (ogre) will have a ui but physx won't have a ui. Confused

 

I think your confused because your trying to dive in to too many things too quickly - its like if I was trying to derive the equations for a time varying signal propagating in different mediums from maxwells equations in my EE freshmen year..

 

a game engine like unity or unreal most likely uses their own ui system in game which IS part of the engine - it doesnt have anything to do with the other parts of the engine other than it may be possible to invoke other engine functions on ui events.. but this UI system doesn't necessarily have to do with the toolkit's UI system.. some engine toolkits do use the underlying engine's UI system but they dont have to

 

toolkit UIs are their own applications that can either use the underlying engine for rendering etc.. or not use the engine at all - but create files that the engine can use and knows how to load - these toolkits may let you do things like let you graphically create game menus for the game - the engine ui system would then just need to know how to read the format generated by the tool


Edited by EarthBanana, 13 December 2013 - 07:10 PM.


#19 shadowisadog   Crossbones+   -  Reputation: 2551

Like
0Likes
Like

Posted 13 December 2013 - 07:57 PM

Instead of creating a world editor from scratch for Ogre you may check out http://www.ogitor.org/

 

It is open source and I think contributing towards something that exists would be better than trying to start from scratch.



#20 Nathan2222_old   Members   -  Reputation: -400

Like
0Likes
Like

Posted 14 December 2013 - 12:02 AM

Instead of creating a world editor from scratch for Ogre you may check out http://www.ogitor.org/

It is open source and I think contributing towards something that exists would be better than trying to start from scratch.


Thanks, i don't intend on creating anything from scratch except some things and a reall important really special thing i'll put in the engine but i do need their source codes. Been planning for features but this UI stuff. Hm

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32
smile.png
--
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





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS