Author Topic: Thanks for proper tooltips  (Read 3316 times)

Offline DesiQ

  • Newbie Mark II
  • *
  • Posts: 24
Thanks for proper tooltips
« on: April 25, 2012, 02:11:24 am »
I registered on this forum specifically to thank the devs for providing actual helpful tooltips for the game settings. I've been gaming on PC for years now, and it's become disappointingly commonplace for me to hover over a game's 'Vsync' option (for example) and see either no tooltip, or a tooltip that helpfully informs me that this option, "Toggles Vsync on or off."

It's a small thing, but it's appreciated. ;D

Offline tigersfan

  • Arcen Games Contractor
  • Arcen Staff
  • Master Member Mark II
  • *****
  • Posts: 1,599
Re: Thanks for proper tooltips
« Reply #1 on: April 25, 2012, 05:18:11 am »
Welcome to the forums!

Thanks so much for the kind words! We spent a good deal of time with that stuff, and it's nice to know it's appreciated.

Enjoy the game!

Offline arcee

  • Jr. Member
  • **
  • Posts: 54
Re: Thanks for proper tooltips
« Reply #2 on: April 25, 2012, 06:07:45 am »
the tooltips on inventory items and in options are both quite good.  I'd wager you never have lines like
Code: [Select]
i++;   // increment i in your code either.

Offline Penumbra

  • Sr. Member Mark III
  • ****
  • Posts: 464
Re: Thanks for proper tooltips
« Reply #3 on: April 25, 2012, 09:19:28 am »
  I'd wager you never have lines like
Code: [Select]
i++;   // increment i in your code either.

Yeah, 'cuz everyone knows that preincrementing uses fewer cycles  ;D

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: Thanks for proper tooltips
« Reply #4 on: April 25, 2012, 09:22:57 am »
I'd wager you never have lines like
Code: [Select]
i++;   // increment i in your code either.
No, very few comments in general, though that's partly because my symbol-name lengths are such that sometimes I wish I could use punctuation ;)

There are comments from me in there like

Code: [Select]
// Yes, yes, I know this is insane, but it really was... (downhill from there)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Aklyon

  • Core Member
  • *****
  • Posts: 2,089
Re: Thanks for proper tooltips
« Reply #5 on: April 25, 2012, 09:48:04 am »
Has there ever been a conversation of comments because of how more or less insane that part was?

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Thanks for proper tooltips
« Reply #6 on: April 25, 2012, 10:32:31 am »
Welcome, DesiQ, and thanks very much for the kind words!  Always glad to have that pay off. :)

Has there ever been a conversation of comments because of how more or less insane that part was?

Those usually take place via email.  And usually it's our insane workaround for something insane in the underlying engine.  "Normally I wouldn't do this, but look -- my little ponies videos make this run faster!" ;)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Quaix

  • Jr. Member Mark II
  • **
  • Posts: 75
Re: Thanks for proper tooltips
« Reply #7 on: April 27, 2012, 07:11:22 am »
I really appreciate all the keybinds as well. Did not expect to find more keybinds than in most MMOs. And of course, with proper tooltips to boot!

Not only that, but most ingame text mentioning keybinds, like "press E to create new character" changes based on your keybinds. You'd be surprised how many games assume you're using their default keybinds.

Offline Mánagarmr

  • Core Member Mark V
  • *****
  • Posts: 4,272
  • if (isInRange(target)) { kill(target); }
Re: Thanks for proper tooltips
« Reply #8 on: April 27, 2012, 09:54:36 am »
Not only that, but most ingame text mentioning keybinds, like "press E to create new character" changes based on your keybinds. You'd be surprised how many games assume you're using their default keybinds.
Yeah, and that completely drives me INSANE. How hard can it really be to have the messages change based on keybinds? Gawds.
Click here to get started with Mantis for Suggestions and Bug Reports.

Thank you for contributing to making the game better!

Offline Terraziel

  • Sr. Member
  • ****
  • Posts: 314
Re: Thanks for proper tooltips
« Reply #9 on: April 27, 2012, 09:58:37 am »
Not only that, but most ingame text mentioning keybinds, like "press E to create new character" changes based on your keybinds. You'd be surprised how many games assume you're using their default keybinds.
Yeah, and that completely drives me INSANE. How hard can it really be to have the messages change based on keybinds? Gawds.

Whilst I can't remember where the hell I read this, but I think it was Skyrim where the devs said that loading the images for the different buttons would take too much memory. Which I think might be one of the worst excuses i have ever heard.

Offline Mánagarmr

  • Core Member Mark V
  • *****
  • Posts: 4,272
  • if (isInRange(target)) { kill(target); }
Re: Thanks for proper tooltips
« Reply #10 on: April 27, 2012, 10:00:24 am »
Well, if you have prerendered pictures, of course it would. But how hard could it be to just make a text overlay, rendered on the fly?
Click here to get started with Mantis for Suggestions and Bug Reports.

Thank you for contributing to making the game better!

Offline Terraziel

  • Sr. Member
  • ****
  • Posts: 314
Re: Thanks for proper tooltips
« Reply #11 on: April 27, 2012, 10:05:00 am »
Well, if you have prerendered pictures, of course it would. But how hard could it be to just make a text overlay, rendered on the fly?

Exactly, clearly using "pretty" button images trumped usability, because I'd imagine it is considerably harder to put the images in than to simply show it as text.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Thanks for proper tooltips
« Reply #12 on: April 27, 2012, 10:20:20 am »
Cheers folks, thanks for the kind words!

Not only that, but most ingame text mentioning keybinds, like "press E to create new character" changes based on your keybinds. You'd be surprised how many games assume you're using their default keybinds.
Yeah, and that completely drives me INSANE. How hard can it really be to have the messages change based on keybinds? Gawds.

Whilst I can't remember where the hell I read this, but I think it was Skyrim where the devs said that loading the images for the different buttons would take too much memory. Which I think might be one of the worst excuses i have ever heard.

While I don't know much about their specific situation, I can explain what they meant from a technical standpoint at least -- their concern was valid.  See, what most large game companies do when they want to include icons in text is that they build those icons into the sprite dictionary for the spritefont.  Then various special characters that can be directly embedded in strings allows you to render them really easily, and with your writing staff able to do that sort of insertion of graphics into text strings without the involvement of the coding staff -- critical ability, there.

That works exceedingly well on consoles, where there's only a handful of really brightly-colored images that look really different for all the various buttons.  Especially nice on XBox, I imagine, given their controller's approach to button colors.

So what happened here is that this is actually a poor PC port -- they made this for consoles, I am guessing, and the nice green A and nice green B images were able to be inserted into their text.  Then when localizing this to the PC, they had to have an image to put there.  It had to be a single image since you can't normally remap stuff on consoles, and so they probably made an image of a keyboard key with the text on it.  Attractive and easy.

The problem is, of course, that it's also static.  So there are then two problems for supporting rebindings:

1. On the one hand, they'd have to have a way of taking a character in text strings that they already had for the many different langauges of the various console versions, and then translate that into varying images depending on the way things were bound.  That's really tricky, and would be murder to retroactively try to insert into a game that large.  If they'd started out with that system in the first place it wouldn't have been so bad, though.

2. On the other hand, if they're going to do 103+ images of keyboard keys (possibly more considering various non-US keyboards), all those images won't fit into a single spritefont texture.  So it's not really a matter of not having enough RAM, it's a matter of not having enough spritefont texture space.  Which they could potentially add a second spritefont to hold all the overflow, but they might need more than even just one additional one to make that work -- and then on various graphics cards there very literally could not be enough VRAM budget left for that.

In other words, I think the guy was telling the truth, he just didn't explain himself well at all.  If you want to get mad, get mad that they didn't think of the PC port more from the start, which is what led them to that situation in the first place.  But the actual guy was being truthful about the situation they were in, I expect.

Well, if you have prerendered pictures, of course it would. But how hard could it be to just make a text overlay, rendered on the fly?

Turns out: extraordinarily hard.  Rendering text is one of those really tricky things.  Normally it consists of quite complex math to position all the characters and figure out their kerning and positions and wrapping and all that.  The general presumption with standard algorithms for that is that each character consists of a single image from somewhere in your spritefont dictionary.  Otherwise the math gets even more complex when you're rendering this one giant triangle fan mesh to hold a paragraph or more of text.

Once all that math is done, typically there's not an easy way to get the position of a given character so that you can then overlay something above it.  And to do so would either require making your mesh math even more complex, or would require the added GPU cost of making an entirely new mesh layer to do the overlays.  And then you get into sorting and clipping issues... and it's all a big mess.

It could be done, and I can think of a few ways that it could be implemented.  But it wouldn't be fun by any stretch, and would likely be a source of ongoing bugs for quite a while.  And normally it's so out of scope of what you'd need to do for games that it wouldn't be thought of until way at the end.


The system that we use for doing the insertion of custom keybinds is something the largely only works because our programming staff (Keith and I) also do quite a lot of the writing.  So we're able to hook things together in a way that your average AAA company could not.  We handle that at the code/string level, and then the actual spritefont level just does what a spritefont does.

Anyway... hopefully that gives some background.  I'm in no way a Skyrim apologist -- I've never even played it -- but I think that developers sometimes get flack for things a bit out of context.  I agree they should have handled it better, but the root issues were way back in their development process.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline DesiQ

  • Newbie Mark II
  • *
  • Posts: 24
Re: Thanks for proper tooltips
« Reply #13 on: April 27, 2012, 05:41:45 pm »
Well, if you have prerendered pictures, of course it would. But how hard could it be to just make a text overlay, rendered on the fly?

Turns out: extraordinarily hard.

In my mind it shouldn't be, since in every instance where they used a picture to represent a key, there was text immediately following or preceeding it. You might be thinking of dialogue text floating above a character's head in point-and-click games, but in Skyrim the text never follows anything around the screen. It always stays in the middle, or gets stuck in a predetermined spot in the inventory screen and so on. And like I said, text was already being placed there anyway, so what's the pain? It's just form before function, since PC gamers aren't picky about how keys are represented anyway; lots of games have used a simple "Press [Space] to jump" prompt. No biggie.

But yeah, Skyrim's controls were not ported over well. I and many others got stuck the first time we opened a container and couldn't close it again.
> Press E to open.
> Press E to close (doesn't work).
> Press Esc to close (doesn't work).
> Press Space to close (doesn't work).
> Mash buttons on keyboard.
> Finally discover that Tab closes containers. TAB, REALLY?!
« Last Edit: April 27, 2012, 05:44:57 pm by DesiQ »

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: Thanks for proper tooltips
« Reply #14 on: April 27, 2012, 05:46:56 pm »
See above.  The picture that they were including was being treated as a single character in a sprite font.  It's like if capital O was a graphic of an XBox 360 A button.  They just did it with more obscure ascii characters.

Inserting arbitrary images that don't fit in the spritefont texture is a whole other matter.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!