I want to change the color of some text in my game. I've tried adding materials, but whenever I press P to play the game, the text stays the same white color. Any ideas?
You need to set the Object color in Properties > Display:
Text objects are made out of polygons in the 3D view, however in the game engine they are rendered straight as text (there are also some issues with picking the resolution to render it at, which is why it sometimes looks pixelated).
If you want to have your text look as it does in the 3D view (3D, with materials/textures), then you'll have to convert it to a mesh (AltC> Convert to mesh). Note that once it's a mesh you can no longer edit it as text.
If you do need to have dynamically editable text, then perhaps the technique mentioned in this comment will help:
. . . I don't recommend using text objects at all, since they are a hack right now. The other problems you get are no depth sorting, does not respect materials, Z buffer issues, no alignment. I recommend using this method. If anything you could use text objects to render text off-screen and combine it with the uv mapping technique.
you can use sverchok add-on.
hide text object in layer 2, use sverchok's (object in) node to get text object, then use (viewer bmesh) node to assign material and output mesh. this way you can keep text object and edit text content!