Why my textures have a dark color in game engine?
It sounds to me like you are struggling to get the image you see in the viewport to align with how your game performs in realtime. This is usually the fault of Multi-Texture shading, which is the default in-game render mode for BGE. If you want the game to look the same in and out of game, change the shading mode to GLSL. 
Here is what my scene looks like when I see it in the Blender 3D view, or viewport.



Once I hit P though, it looks terrible! 



The good thing is, this is an easy fix. Just click multitexture, and select GLSL in the dropdown menu. The tool bar that has this option can be opened and closed in the 3D view by pressing N.



Ah! Much better. As you can see, it matches the way i thought it should look from the 3D view perfectly!