Duke Nukem 3D
Ken Silverman's Build engine allowed complicated levels.  The game could use slopes in the floors. It also supports upwards and downwards mouse aiming (though aiming up and down distorts the graphics due to not having perspective correction).