Jump to content
  • Advertisement
Sign in to follow this  
3dguru

UI design and programming.

This topic is 5043 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Could you give an idea of programming languages and API's that are being used for UI? Can you point me to such a toolkit? Are art skills necessary?

Share this post


Link to post
Share on other sites
Advertisement
The .Net platform, specifically Windows Forms is, IMHO, the best way to create windows user interfaces. If you want to be cross-platform, you could try something like qt of Java. If you want a '3d Game style' interface, tough there is a few offerings, I've never heard anything good about them.

As for art skills, it really depends what you want to do...

Share this post


Link to post
Share on other sites
Sometimes its best to code your own UI if you need platform independency. I'm currently working on one for my project right now (done in C++) as all the toolkits I looked at didn't seem like they would fit.
Are art skills necessary?

I would say, if you're doing something professional, but you could do the UI with primitive shapes as well.

Share this post


Link to post
Share on other sites
3dguru,

When you say UI, are you referring to in-game UI or application UI?

In-game UI comes in the form of overlays, HUD's, console buttons, in-game menus, etc... In-game UI is generally done as 2d quads rendered over top of the game rendering. Hotspots or active regions are then checked for events such as mouse clicks, etc... If you're looking for a free example, I believe the Ogre3D Rendering API has an in-game UI example. In-game UI is generally coded in whatever language the game itself is coded in. As well, to make in-game UI look good, some art skills are generally required.

As for application UI - things such as world editors, or external tools - Game companies have traditionally used MFC up until the last year or so. During the last year the industry has seen a surge towards the .NET Framework. The .NET defacto language is C# and is much easier to work with than the other .NET languages. However, if you're very comfortable with C++ you can use Managed C++. Though MC++ is not for the faint of heart. Visual Basic is another option...but well...never mind. =) Hope this has been helpful! Cheers!

Share this post


Link to post
Share on other sites
Yeah, as the above poster said, if you mean application UI (I call them game tools, like map editors and such), then I highly recommend C#. I took a course in it, and I made a full version of solitaire in about 8 hours. A full GUI windows app. What I'm trying to say is that Forms, buttons, dialogs, ... are all drag-and-drop in C#, much easier than C++, IMHO. Also, its great when the speed doesn't matter, like for a map editor.

Share this post


Link to post
Share on other sites
Quote:
Original post by 3dguru
Could you give an idea of programming languages and API's that are being used for UI? Can you point me to such a toolkit? Are art skills necessary?
Any OO language is ideal for UI development. For GUIs, Cocoa/OpenStep/GNUStep is the ideal API/Framework (and has been for the last 20 years). Java Swing and .NET Forms are getting there. There are hundreds if not thousands of GUI frameworks out there for all kinds of languages. Pick the one that best suits you.

Share this post


Link to post
Share on other sites
Quote:
Any OO language is ideal for UI development. For GUIs, Cocoa/OpenStep/GNUStep is the ideal API/Framework (and has been for the last 20 years). Java Swing and .NET Forms are getting there. There are hundreds if not thousands of GUI frameworks out there for all kinds of languages. Pick the one that best suits you.

Actually, Cocoa wasnt released until 2001 and Gnustep began in 1994/1995 along with OpenStep. All based upon NeXtStep, which was released in 1989. ( NeXtStep is 15 years old).

But its important to point out that Cocoa is (to the best of my knowledge) only available on MacOS X, and GNUStep/OpenStep are mostly supported on Linux. Neither of which shows up much in Windows UI development. Which IMO makes it difficult to call GNUStep "ideal".

Share this post


Link to post
Share on other sites
What are the options if your normal programmiing language is c++, (and you don't want to use mfc), could you use managed c++ for the ui then normal c++ for the rest? At the moment I have been doing everything with just the win32 API functions and the vc 6 resource editor. Someone mentioned WinForms is used in .Net, how hard would it to be to use WinForms then still do the rest of the code in C++?

Share this post


Link to post
Share on other sites
Jwalsh,

What do you mean with "Visual Basic is another option...but well...never mind."? It is not that good, fast? Thanks.

Share this post


Link to post
Share on other sites
Quote:
But its important to point out that Cocoa is (to the best of my knowledge) only available on MacOS X, and GNUStep/OpenStep are mostly supported on Linux. Neither of which shows up much in Windows UI development. Which IMO makes it difficult to call GNUStep "ideal".
I was referring to the OpenStep/Cocoa API, which GNUstep mostly implements, and the developer tools (Interface Builder). OpenStep is ideal in that if I was going to create a GUI on Windows or Linux, I would prefer an OpenStep-based framework. I wouldn't call GNUstep an ideal implementation. It is in need of some serious TLC and code auditing. Still, it's cross-platform (in that it works on 32-bit Linux and 32-bit Windows).

... and thanks for correcting the dates =)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!