I recommend looking up some tutorials, namely basic optimization in hammer before you jump into making something. Learn what func_detail is used for and how the Source engine's visibility leaf system works. Reading the documentation is the key to success, if you just go straight into making something you're likely to be wasting your time as it will take too long to correct later, it'll also stop you from getting stuck and having to ask for advice.
There are plenty of tutorials out there that outline all the techniques you need.