Okay, so this one is a work in progress. I think once I get it a little bit further along, I'll write a small series on the process of it all. I'm having a lot of fun with this one, so I'm excited to share some progress soon.
Some topics I want to cover:
In the mean time, you can check out the code here.