Jump to content

  • Log In with Google      Sign In   
  • Create Account


dealing with GUI (HUD) at different screen resolution


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
1 reply to this topic

#1 Bow_vernon   Members   -  Reputation: 137

Like
0Likes
Like

Posted 13 January 2014 - 09:35 AM

Hi guys, as usual, gamedev.net is a hangout place for masters in game dev. Thus here I am, asking for your wisdom.

I'm at the stage of develoing a GUI system, and HUD (are those two different? :P I think HUD is more to show states/value, and GUI is more like input/output to acommodate user input). But now comes the confusing part. How do you deal with drawing GUI/HUD at different screen resolutions? Do you stretch them to enforce consistent screen occupancy? or...how? currently I have looked at only 1 games so far (linux, man). it is an Action RPG (Secret of Ultimate Legendary Finally Unleashed / SOULFU). Here's how I think that game solved this problem.

 

SOULFU handles this by stretching image as to conserve screen space used. However, this could work since they only support 4:3 screen ratio. Plus it gets blurry if we select fancy screen resolution (such as 320x240) it gets horribly blurry. But it kinda works for bigger resolution, I didn't notice too much difference. But they don't seem to handle cursor movement scaling. In lower resolution the cursor travels faster than in large resolution. How would one usually handle this case?

 

I'm asking you experienced gamedev, How would you solve this intriguing case of differing screen resolution? thanks before. Pardon my english, I'm not a native english speaker :P



Sponsor:

#2 Juliean   GDNet+   -  Reputation: 2387

Like
1Likes
Like

Posted 13 January 2014 - 06:18 PM


But they don't seem to handle cursor movement scaling. In lower resolution the cursor travels faster than in large resolution. How would one usually handle this case?

 

You could eigther use a float for sub-pixel precision or just store the cursor position in a range of the displays native resolution (e.g. 2560x1600 for my 30''), regardeless of the used resolution. If you need to do something like this, it mean you are already taking complete care of the cursor yourself, are you sure you need that and can't just rely on eigther the OS cursor or something like the DX9 hardware cursor? Then you wouldn't have to care about this.

 

Regarding the other parts of the UI, I'd start by specifiying all elements in relative (0,0 to 1,1) instead of fixed. Also, you should allow elements to have a different alignments (e.g. is snapped to the lower left corner of the screen with a certain offset). Another way to ensure everything looks good is to allow widgets to maintain a certain ration themselfs (e.g. width is 0.5f of the resolution, and height is 1/3 of that for the chat-box). Then, depending on how you want ot draw the HUD, you can eigther use different graphics for different resolutions (e.g. use a 128x256 texture for message boxes when the resolution is < 1027x768, for everything above use a 256x512-variante so it doesn't appear blurry), or you could draw certain elements as a composition of "tiles" (e.g. a button with fixed corners â 5x5 pixels, the body and the other borders get stretched or repeatedly drawn = tiled).

 

Hope some of this is helpful to you.


Edited by Juliean, 13 January 2014 - 06:19 PM.





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