Great tutorials, I have learnt a lot.
I noticed a couple of things:
The formula for strafing in the Tutorial 6 C# code seems to be wrong.
Change this line in the MoveCameraPosition method:
_z += z * (float)Math.Cos(_heading) + x * (float)Math.Sin(_heading);
to:
_z += z * (float)Math.Cos(_heading) - x * (float)Math.Sin(_heading);
Also, because of the rounding in this division the camera doesn't move when you move the mouse slowly. To change this change the following (in GameEngine.cs):
_camera.MoveCameraLeftRight(_mouse.State.X / 10); _camera.MoveCameraUpDown(_mouse.State.Y / 10);
to:
_camera.MoveCameraLeftRight(_mouse.State.X / 10f); _camera.MoveCameraUpDown(_mouse.State.Y / 10f);