Here's something I've been working on for fun. It's been a bit of a difficult task learning how this works, but it's been really enjoyable thus far.