Its all a game of trial and error, explore.. see what is there, potentially die, do it again knowing what will happen... rinse and repeat. Then you can min/max your build to make it easier or harder lol
as for bosses, learning their patterns is all you really need to do. Learn their attack...