Original Post
Hey I haven't posted in a while, but a question just popped up in my mind:
Why do people want to make game engines from scratch?
I ask this mainly because when I started out programming(I still remember my first post in these forums lol) I wanted to make everything by myself; I didn't want to use any libraries(although to be completely honest, at the time I doubt I really understood what a library was). I eventually got over that, as I've been programming for a bit longer now. I've been working under the tutelage of a mentor for a school project to make a video game in Java, and so far I've been able to make my own game engine and I am in the process of finishing up the last bits of the demo, but of course through using the Java API(mostly just using AWT and Swing).
However, recently I was reading some articles and although I'm generally not one susceptible to being influenced by heavily biased works/articles, I did read one that made me think a bit. It was talking about using different languages to program. I started out with C++ (which I'll admit, I did against the advice of others, and somewhat regret) but after about a week or two, I switched over to Java. I started out learning using The New Boston's tutorials on YouTube, and once I finished Bucky's video series, I bought a book on Java, and then another, and then another...... basically I amassed a giant stack of books on programming languages. Recently, I got a mentor for my school project, and I now feel very confident in the language, but what the article said struck me:
Programming in Java is largely looking for the right API, learning how to use it, implementing it, and forgetting about it until it is necessary again.
I'll admit that for a second I cringed, because I felt that the time I had spent learning the language had been reduced to something akin to learning how to use GameMaker or RPG Maker. For the past week or so I stopped programming in Java and fell into a sort of "programming depression" in which I was desperately searching through my C++ books to try and learn it again and see if I could make a game engine from scratch, without relying on any APIs. I essentially wanted to set out and make the wheel again. At first it was just simple stuff as with how to do active rendering, but then it got really ridiculous when I felt "ashamed" of using even the BufferedReaders in Java to handle file input. It felt really greedy to want to know how to do everything, and I'm sure given another couple of weeks I probably would not be satisfied with anything less than making my own computer from scratch so I could make my own game from scratch.
I'm trying really hard to force away this urge to do everything from scratch so I can go back and work on my project again without feeling like I'm doing something morally wrong. Has anyone else been in this situation? Is there anything inherently wrong with being high-level vs. low-level with respect to games?
Why do people want to make game engines from scratch?
I ask this mainly because when I started out programming(I still remember my first post in these forums lol) I wanted to make everything by myself; I didn't want to use any libraries(although to be completely honest, at the time I doubt I really understood what a library was). I eventually got over that, as I've been programming for a bit longer now. I've been working under the tutelage of a mentor for a school project to make a video game in Java, and so far I've been able to make my own game engine and I am in the process of finishing up the last bits of the demo, but of course through using the Java API(mostly just using AWT and Swing).
However, recently I was reading some articles and although I'm generally not one susceptible to being influenced by heavily biased works/articles, I did read one that made me think a bit. It was talking about using different languages to program. I started out with C++ (which I'll admit, I did against the advice of others, and somewhat regret) but after about a week or two, I switched over to Java. I started out learning using The New Boston's tutorials on YouTube, and once I finished Bucky's video series, I bought a book on Java, and then another, and then another...... basically I amassed a giant stack of books on programming languages. Recently, I got a mentor for my school project, and I now feel very confident in the language, but what the article said struck me:
Programming in Java is largely looking for the right API, learning how to use it, implementing it, and forgetting about it until it is necessary again.
I'll admit that for a second I cringed, because I felt that the time I had spent learning the language had been reduced to something akin to learning how to use GameMaker or RPG Maker. For the past week or so I stopped programming in Java and fell into a sort of "programming depression" in which I was desperately searching through my C++ books to try and learn it again and see if I could make a game engine from scratch, without relying on any APIs. I essentially wanted to set out and make the wheel again. At first it was just simple stuff as with how to do active rendering, but then it got really ridiculous when I felt "ashamed" of using even the BufferedReaders in Java to handle file input. It felt really greedy to want to know how to do everything, and I'm sure given another couple of weeks I probably would not be satisfied with anything less than making my own computer from scratch so I could make my own game from scratch.
I'm trying really hard to force away this urge to do everything from scratch so I can go back and work on my project again without feeling like I'm doing something morally wrong. Has anyone else been in this situation? Is there anything inherently wrong with being high-level vs. low-level with respect to games?