I'm a high school senior who has recently become interested in simulating things like light and sound. I've found myself frustrated by having to search for existing tools, so I decided to build everything from scratch instead. After spending two weekends, I've managed to get a single dot to appear on the screen. I've learned a huge amount, but the slow progress is starting to feel draining. I genuinely enjoy the process, though, and I'm wondering whether I should continue once school starts and my free time becomes more limited, or focus on something that might be a more practical use of my time.
4 Answers
Two weekends to render one pixel can be completely reasonable when you’re building the entire system yourself and still learning. Progress is usually front-loaded: once you have the basic machinery working, drawing a line or polygon becomes much easier, and more advanced simulations can build on the same foundation. You don’t have to abandon it when school begins—just give it a smaller, sustainable amount of time.
If you’re enjoying it, learning from it, and getting a sense of accomplishment, then it isn’t wasted time. The result may only look like a dot, but you probably had to learn about a window, a buffer, coordinates, a rendering loop, and several other pieces to make it happen. That foundation is more valuable than the visual result itself.
A good next step would be to turn the code that draws a dot into a reusable function, then use it to draw a line, a polygon, and eventually simple waves. That gives you manageable milestones and makes the progress easier to see instead of measuring everything by the final simulation.
It depends on your goals. If you need a polished project quickly or want to earn money right away, using established libraries would be more efficient. But if your goal is to understand how graphics and simulations work, starting from scratch is exactly the kind of challenging project that can give you an advantage later. Just remember that learning with existing tools is also valuable; you don’t have to choose only one approach.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically