The dino game (DinoLand) was one of the games he ever created. Actually the game has nothing to do with this challenge I submitted. If anyone interested to see his latest game (some months ago), this is the link:
https://gamejolt.com/games/gh/263866Although he decided not to use Pascal, but I'm still glad to see a teen who has such passion to learn game programming. He asked me many questions about the calculations that needed in game programming, I explained but I doubted he can understand. For example I ever replied his question about one of the case he needed to solve with Trigonometry. He can't understand, I guess it had not been taught in his class yet.
He is young but want to try the things that he possibly can't understand. For this challenge, I know it actually better to solve with OpenGL shader (although I'm not good in using shader), but I think he may not able to understand how to use shader. Last time I knew him, he uses SDL not OpenGL.
But if you can create that 2D lighting effect using OpenGL shader, it's okay too. I will try using the default Lazarus drawing components. I think it will have several tabs. The first tab will show how to use trigonometry to shot a single ray from a fixed point. The second tab will show multiple rays shot with increment of 10 degree. On the third tab, the point (that shoots rays) can be move. And so on. There will explanation each tab.
It does not need to be realtime, performance is not important. It is like a educational presentation slide show. It is for educational purpose. You know, it will be awesome if it is write in Pascal and put on the Lazarus component/tutorial repository.