I assume your problem with the idle is implementing a finished animation in the game. Basically you’re gonna want to have an always sensor on the armature, connected to an action actuator set up to loop the idle animation (on loop stop). Now, set the priority to a number higher than any other animation. This means that whenever no other action is playing, the idle will take over. All you need to do now is to add animations at will; for example when the player presses W and the character is on the ground, not only apply forward movement but also play a walk animation.
In terms of physics, it’s always best to avoid giving physics to an armature. Instead, make a bounding box set to dynamic. This will be the parent of the armature and handle all physics (so when you want to move your player, apply force/linV to this object) As far as the game knows, this bounding box is the character. The armature and character mesh are just for looks.
If you set your ground to No Collision, it will register no collisions and everything will fall through it. You want it to be static, which it should be by default.
If this doesn’t work, you’re going to have to post a .blend that shows your problem.