This is a game trying to replicate doom made in XNA using C# for a project during my second year
This game uses XNA to display the game and the kinnect for a form of control, although regular controls still work. the entire game uses 2D sprites on planes. The enemies use their position and their goal position to decide which direction they are heading and then uses the players position to decide which set of sprites to use. the walls are stored as an array of 2D points, some code then creates a plane with height 2 between the 2 points and then adds the texture. The texture uses the length of the wall to decide the texels so that at any length the walls look right. Wall collision use geometry to decide how far away the player is and prevents the player from passing through the wall. Shooting makes use of line collisions to decide if the line intersects the enemies line, to expand, all of the maths in the game is considered to be in 2D without the y dimension so on the floor.
Due to issues with the build there is not GitHub version, however the entire source can be downloaded via Dropbox.
Dropbox source: https://dl.dropboxusercontent.com/u/139185283/website%20stuff/Doomv0.1.zip