Sometimes the mistakes that you make when you’re writing an engine are just as interesting as getting things right. I’m in the process of writing a little optics simulator that will become a game, I promise. The reflections aren’t quite completely wrong, but I need to dig out my math textbooks from university to get the equations right. If you know of a good tutorial on these matters, please send the link my way!