Game Development Community

Good Font?

by Kevin James · in Torque Game Builder · 06/09/2010 (7:06 am) · 17 replies

What's a good font to use that is readable at most resolutions? I'm going through the list now and its a long list. Everything is starting to look the same.

About the author

Computer security, digital forensics, and platform jumper enthusiast. shells.myw3b.net/~syreal/


#1
06/09/2010 (8:00 am)
Helvetica is the standard. It was designed by a Swiss guy to make it easy to read on the highways. It is currently used by the New York Subway system, American airlines. Pretty much any modern sans serif font is based on it. So yah, many do look the same, but as a graphic designer I find Helvetica to be the clearest and easiest on the eyes.



They even made a documentary about it. Some may disagree since it is so popular, some may hate Helvetica. But I don't, I use it constantly and it is standard on most computers. Though Arial and others I am sure will do. I think this site uses Helvetica, but they all can look very familiar.
#2
06/09/2010 (8:35 am)
Sadly, Helvetica doesn't show up on my list.
#3
06/09/2010 (10:08 am)
Hmmm. this is in TGB? I wonder can you import fonts to TGB?


this might help.
www.torquepowered.com/search/advanced?locations%5B%5D=forums&search=import+f...
#4
06/09/2010 (10:30 am)
Thanks Ren, I've already spent much of the morning researching this issue. If there was a specific font that look good, I would be willing to import it. I have an existing list of hundreds of fonts in TGB and the only one that looks decent in my game is Ariel and people still complain about it. Its really sad when you think about it... You can spend thousands of hours working on graphics & gameplay, but some people take one look at a below average font and they want nothing to do with your game.
#5
06/09/2010 (10:57 am)
well do you use Illustrator?

That is what I use and just import all things that need to be words, numbers etc as gifs.
#6
06/09/2010 (11:14 am)
That is disturbing.
#7
06/09/2010 (11:28 am)
What do you think about Milibus, it's fairly clean and easy to read in-game (bottom left in blue)
#8
06/09/2010 (11:49 am)
I happen to be a graphic designer for my day job, so I can provide a lot (perhaps too much) input on this matter.

Font sizes as I describe them:
Small - 8-14pt
medium - 18-22pt
large - 24pt-70+pt

Serif refers the part of the letter that curls or provides a base. For example, when writing a post, the letters have a serif. On the actual forum post, the font is sans-serif (without a serif)

Serifs can be hard to read across long lines, but in shorter lines (3-5 words) they are easier to read.

Now that you understand serifs, I'll get into some basic fonts.

Arial: The brand standard sans-serif font. Very clean and aliases well at many sizes.

Helvetica: Very similar to Arial, but slightly bolder (only noticeable at higher font sizes)

Verdana: Wide font. Clean as a whistle and looks awesome at lower font sizes.

Georgia: one of the most common serif fonts out there. It's typically used in newspaper sub-lines in italic.

Palatino Linotype: A slightly more subtle serif font. This one is slightly easier to read than Georgia, but doesn't provide as much contrast against a serif font.

Calibri: sans-serif font with a higher x-height; that means the lower case letters are closer to the uppercase in terms of height and size. It's one the most readable medium sized fonts.

Hope this helps! There are lots of fonts, but these ones are very old and very common.
#9
06/09/2010 (12:12 pm)
Steve, your font looks excellent! I assume you are not using t2dTextObject to achieve that.

Daniel, I will test these fonts and see if there is any improvement. I fear not, but we'll see.
#10
06/09/2010 (12:23 pm)
@ Kevin
Well it makes my game look pretty good. If you have not don't use Illustrator I can see why. I wonder what the chances are that TGB can improve it's fonts? It would be good if I could use TGB for a good chunk of my Illustrator and I do feel sorry for no one with professional graphic design software. Anyhow, maybe they can improve it, shouldn't be too hard. Keep me up to date as I would like to know if the situation improves.
#11
06/09/2010 (12:41 pm)
Here's what I get:
www.metalbuildingreplicas.com/syreal/fonts.png
None of these are acceptable.

Hopefully, I'm doing something wrong and there's a way to turn off scaling or something like that. Importing graphics to represent text goes against every fiber of my being (sorry Ren).
#12
06/09/2010 (2:18 pm)
No worries.


::Lol.






Yah it is really poor tho, that should ( i would hope ) be remedied.
#13
06/09/2010 (3:32 pm)
Kevin, I don't know if this helps - I code for the iPhone and had issues with fonts not looking so good and came up with the following code that might improve things for you:

I pre-generate my fonts using the following:

%fontsizes = "16 18 20 28 32"; // include every size you want to use for this font  
for (%i = 0; %i < getWordCount(%fontsizes); %i++)  
{  
  populateFontCacheRange("Bank Gothic Medium", getWord(%fontsizes, %i), 32, 126);   
  // Comic Sans MS is the name of the font (NOT the name of the TTF file)  
}  
writeFontCache();

Remember to remove this from your code once you have the font.

My display text class:

//
// Displays a piece of text using the specified attributes.
//
// @param sceneGraph            the scene graph that this text is contained within.
// @param text                  the text to display.
// @param position              the position on screen for the text.
// @param font                  the font that the text will be rendered in.
// @param fontSize              the font size.
// @param textAlign             the alignment for the text; left, right or center.
// @param textColor             the color for the text. 
function displayText(%sceneGraph, %text, %position, %font, %fontSize, %textAlign, %textColor) {
	%textObject = new t2dTextObject() {
		scenegraph = %sceneGraph;
		position = %position;
		blendIgnoreTextureAlpha = "0";
		text = "";
		font = %font;
		wordWrap = "0";
		hideOverflow = "0";
		textAlign = %textAlign;
		lineHeight = %fontSize;
		aspectRatio = "1";
		lineSpacing = "0";
		characterSpacing = "0";
		autoSize = "1";
		fontSizes = %fontSize;
		textColor = %textColor;
		filter = "1";
		integerPrecision = "1";
		noUnicode = "0";
		hideOverlap = "0";
	};
	%textObject.text = %text;
	return %textObject;	
}

HTH
Scott
#14
06/09/2010 (3:57 pm)
Thanks Scott! I'll give that a try.
#15
06/09/2010 (5:16 pm)
When I need multiple lines of text that's clear, I'll use a GUI. Here's the steps I follow:

First, add a t2dSceneObject to your scene and give it a name. In my example, it's called PetTextArea. You can even attach the t2dSceneObject to another object so that everything stays together.

Next, I write a function like the following:
function HUDScene::initPets( %this )
{
  new GuiMLTextCtrl(PetText) {
    profile = "GuiPetMLTextProfile";
    horizSizing = "width";
    vertSizing = "height";
    position = "0 0";
    extent = "400 400";
    minExtent = "8 8";
    visible = "1";
    canSave = "0";
    lineSpacing = "2";
    allowColorChars = "0";
    maxChars = "-1";
  };
  PetTextArea.attachGui( PetText, HUDWindow2D, true );
  PetTextArea.setVisible( false );
}

function HUDScene::uninitPets( %this )
{
  PetTextArea.detachGui();
  PetText.delete();
}

Finally, I add a profile for the GuiMLTextCtrl:
new GuiControlProfile( GuiPetMLTextProfile )
{
   fontColor = "255 255 255";
   autoSizeWidth = true;
   autoSizeHeight = true;  
   fonttype = "Arial";
   fontsize = "18";
   border = false;
};

GuiMLTextCtrl is great! You can change font colors, add graphics, and with source-code modifications, have underlining and strikethroughs.

One very small disadvanage is that the font size stays the same. Sometimes I'll change the fontsize based upon the height of the scene window. Something like "GuiPetMLTextProfile.fontsize = mFloor( 18 / 768 * sceneWindow2D.getHeight() );" that triggers whenever the resolution changes.
#16
06/09/2010 (6:31 pm)
I'm working on getting this to work:
www.torquepowered.com/community/blogs/view/12116

Tomorrow, I'll work on Will's approach.
#17
06/09/2010 (8:48 pm)
Sweeeeet.

Good luck with that.