I believe the GameDev.TV folks have a cheap course on their page for it! I believe this is where he started for learning it! I know a little about it, especially with working on this now, but it definitely took me a moment to wrap my head around it too to connect the puzzle. And I still get confused haha. But yeah, I would start there. Good luck, I hope to see it in your future games!