Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I'm making a GUI API (in C++) for games which uses Allegro 5 as a backend. I looked at how GuiChan works and noticed that they intend for the user to override the paint event and do all the drawing yourself.

Since I felt that in general, there's a decent standard to how widgets behave, I have a static theme class in each widget class (static ButtonTheme buttonTheme; etc) and the parameters set in that theme are used to construct that widget (from there, the parameters can be changed individually for specific widgets). These sorts of things are: padding, font color, border color, is drawing border, back color, size, min / max size etc).

Where I also differ from GuiChan is in the fact that instead of default drawing being rectangles, the widgets have bitmap pointers and if they are NULL, it draws rectangles like GuiChan, if not, they are drawn with bitmaps: ex: button has default, hover, clicked. And if hover is not provided, the switch case will just use default for hover. Each theme has corresponding bitmaps. I also have bitmaps for focused and disabled.

The user can always choose to override the paint event and do it from scratch.

Is this a good idea or a terrible one to use themes and theming? Should I stay generic like GuiChan?

As game developers , which would you prefer, (no themes, partial themes, partial themes + bitmaps)?

Thanks

share|improve this question
1  
I think you should change "user" to "developer" to disambiguate it. –  AttackingHobo Dec 9 '10 at 0:30
    
Ah - I hadn't realized there was a way to make comments on the original question. -1 for usability :) Moved my question here... Do you mean for end users (players) to override the look, or for developer userd to use themes to customize the content? –  Tim Holt Dec 9 '10 at 4:46
    
He definitely means developer and not the players. Players are not going to override events or functions. –  AttackingHobo Dec 9 '10 at 5:00
    
Milo said "Sorry I implicitly meant developers" in Tim's deleted answer-that-was-supposed-to-be-a-comment. –  Tetrad Dec 9 '10 at 6:31

2 Answers 2

up vote 3 down vote accepted

I'd definitely let developers do themes and override things if it doesn't add excessive burden to the average developer, nor decrease your chances of releasing.

Assume that most of your user base will just use the stock methods at first, but the rest will love the fact they can do it different. Or once they've got it working with the stock methods, they'll customize later.

share|improve this answer

It doesn't seem to make much difference to me - the developer is going to need to be able to customise what gets drawn either way, so whether those customisations are grouped into a theme or not makes little difference. If you're talking about supplying your own themes then that's great but any developer who wants to release the game with the GUI visible is likely to replace your theme anyway.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.