Well done! That's the way to play chess. Don't surrender even in bad position. Make it though as possible.
Try somethime 3. d5 e6. It's a Benonni. I think it gives black more chances. At least it makes the position more imbalanced ;)
On 13. g4 you're not forced to sac piece. You could play Be4 or even Ne4. I think both ways you keep the material equal.
15. Bh3 -- if you're piece down, try to keep the pieces and complicate the game.
29.Rxe6 is a mistake. At least white are not forced to go to complications. They don't need sharp complications. Simple 29.Rg4 (Nf6 is pinned so no Nxg4) and the knight on f4 is protected and the rook is threatening the h4 pawn which cannot to be protected - no g6-g5 because of Nxg5, on Rf5-e5 then Nxf6 and Rg4-h4. I believe here white are won.
35.Rxe5 is a mistake. Simple f4 wins material -- Ne5 is pinned both from threats Nxc5 and Qxh8
37.Nxh3 is a mistake. Kh1 wins. No Re1+ and no pawn promotion. Black loses a rook.
38.Kg3 is a mistake. Kf1 and both rooks are hanging. And no Rxh3... becase after Qxh3 white are threatening mate (Qh8+ and Qf8 mate) so Rxe6 is forced (rook is hanging) dxe6. We get interesting queen ending I'm no sure if it's win or a draw but I think it gives better chances for white than Kg3 ;)
I believe I'm wrong about most of the comments. Feel free to correct me
Here's one of my "better" games (by my standards, anyway) wherein I refused to get rattled by my opponent's very strong attack (2 rooks, 2 knights, and 1 queen!). I stayed cool even though I was a full knight behind, and persisted in creating counter-play/attack whilst trying to fend off mate myself! Finally, I grabbed my opportunity when it was presented to me.
I am playing Black. Please feel free to point out my blunders and what White should have done to finish me off. I know I can learn even more from this game even though I won.