You are correct to say that a first person shooter is a big job. I have been interested in making one for quite a long time. Are you planning to write it in C++ or with what? For C++ there is a system called the "Dark Game Engine".
You might check out the Valve SDK development tools. The awesome part is that they are free with the purchase of the Half Life 2 video game, and they are awesome. You can have a powerful level editor and access to all of the wall, door, windows, WEAPONS, and monsters in the game, or you can import your own. The downside is that anybody who wants to run your game also has to buy a copy of HalfLife 2 or a related game like Portal. "The Orange Box" from Valve is an incredible value. The games are always there for me when I need a break from programming. :-)
If your game gets really great and you want to promote it you can talk to Valve about buying licenses for just their game engine, that way your users would NOT have to have copies of Half Life any time they wanted to play. Several success full commercial games have gone this route. The most notable is "Left for Dead".