I have, but it was very basic. Contained only the needed files header.php, index.php, footer.php, sidebar.php etc
WordPress provide a Codex which makes nice sense of everything in explaining how it all works together etc
https://codex.wordpress.org/
And the Theme Anatomy is very helpful if you're first setting out or even a pro already
https://codex.wordpress.org/Theme_Development
However when it came to the CSS side of it that's when things started getting really quite tricky for me.
I do know some CSS basics but if you want to create a really functional theme with lots of bells n' whistles you'll probably need to be quite well versed in CSS and PHP and HTML for that matter.
While most intermediates can knock a fairly basic WP theme together quite quickly from scratch, if you want something that has Theme Options you'll probably start to struggle.
Fortunately the good things about WP themes is that you can look at how they are coded together by literally pulling them apart and putting them back together again.
Kind of like when you're a kid and want to see how that robot toy you've got works, you start unscrewing things and pulling out springs and sprockets and a light goes off in your head like ding!
Like Ron has said, there are countless good tutorials online that will help you along the way, just Google search "build wordpress theme from scratch" for a wealth of them.
It's something that I keep returning to every now and then when I can't seem to find that "perfect theme" for my new site/blog or need something more personalized.
Hope this helps and good luck!