@Matty - As usual with me, I didn't bother to look through the command set and just ran off and implemented it myself.

I'll have a look at forcefields today and see if they work for me. The main issue with my manual system is it doesn't take into account collision with other objects, so an explosion on one side of a wall will affect objects on the other side. I can fix this with some ray casting, but if forcefields can deal with that, that'd be awesome.
As for using videos, feel free. I'm going to try and get rag dolls implemented this week, so when I start posting videos of that stuff, that might be good to show it off.
@Pincho - Thanks chap!
@Moonster - There is some ironing out that needs to be done there. There are a bunch of reasons for my door foolishness:
1. Normally I'm not paying attention and I am a fool
2. The camera angle is often more angled than the game camera will be, so it's easier to see the effects I'm working on. This makes it a bit harder to see doorway entry points.
3. Doors are designed to be the minimum gap a player can get through, so they're purposefully small to allow for claustrophobic level design. If you want to make a fast free flowing level, you can just leave doors out entirely and build larger openings.
4. I've not set any material properties for the player yet. I can probably make him more slippy and slidey.

5. I'm forcing the player about with set velocities. I might be able to smooth things up by using different forces.
So basically, yes, it's not as smooth as it could be, but it should all be ironed out.
@TheComet - Emailed.
@FireIndy - It's C++ DGDK.

The aiming system depends on which weapon you're using, but the basic principle is: a ray cast to the cursor to determine the height PLUS the height the player is holding the gun.
So if you're on flat ground, the cursor will hover over the floor. The player will aim at this floor position plus the height of his gun, making him shoot in a straight line. This ensures that, if you fire with the cursor close to you, the player doesn't just shoot at his feet. The bullet will travel forwards.
If you go to a ledge and shoot down a few stories, the player will aim down because the raycast for the cursor will detect it's lower. The bullets will never hit the point you're aiming with the cursor though, because of the "plus weapon height" bit that is added onto the aiming. It'll go slightly passed that point. This works fine for shooting at players though because their chest/shoulder height will fall perfectly onto this point.
The same thing goes for walls, objects and ledges. The cursor detects the height and the player shoots above this height, ensuring you'd hit somebody standing on that object in the chest, rather than hitting the floor at their feet.
The last thing I'm going to implement is a target detection system which figures out if your cursor is over a player, barrel, crate, or other shootable. You'll then target the centre of that object when your cursor is over it. You'll notice in the last vid I had to run to the top of a stair case to shoot the explosive barrel that I'd pushed along. Currently there's no way for me to hit a barrel lying on it's side if I'm on the same level as it, because the gun won't aim down. You'll also notice the bullets never hit the ground beneath the cursor. That's because, when they are in the crosshair, they're at "gun height", so travel on a bit further until they hit the floor.
Big post!