White looks to be easily winning if, instead of 18. Bd5??, he just plays Nf3 or Qd5. Pretty much any reasonable move should win easily, except he managed to find Bd5....
You really should not launch sacrificial attacks until you have reasonably complete development. Here, since your development was not complete (rooks were doing pretty much nothing) your attack went nowhere and black was dead by move 14 (except your opponent gifted you the game with 18. Bd5??).
Recently I finished a game against artemev4. It's full of tactics although I started with a knight sacrifice but then i could recover material and put pressure on him. Once the position was good enough, it was mate in 10 forced moves at final part.Any advices are welcome, thx.