When I first started writing Lodestar, I had no idea what I was doing. I read everything related to first-time game creation that I could get my hands on. One of the recurring themes that was thrown at me was: if you want to make a game, don’t write a game engine.
When I read, “Don’t make a game engine!”, regardless of the reasons provided, all I heard was, “You can’t do it!” I felt outraged, like I had to prove that I could do it, that I was smart enough or talented enough, and it was at that point that I decided that I would write my own engine for Lodestar. I told myself, and anyone who asked, that I was doing it because I wanted to learn as much as I could about game engine practices and technology. In retrospect, it would be more truthful to say that I felt like I was the exception to the rule, like I was better or smarter or faster than everyone else who had come before, and, because of that, I could pretentiously disregard the wisdom of my predecessors.
In life, it’s important to challenge yourself and prove to yourself that you are capable, but it’s more important to take what you’ve learned from those personal challenges and use that to your advantage in the future. I’m not just talking about technical skills either. I’m talking about the things you learn about yourself.
Developing an engine has taught me many things, not just about game engines, or the technology involved, but also about myself and my limitations. The most important thing that I learned from my time spent creating an engine is that no matter how smart or fast or talented that I think I am, I am still only one person; the time I have here is finite.
The people that state you should not make a game engine if you want to make games, they aren’t saying that you’re not capable. They are saying don’t waste your time reinventing the wheel. Any wheel you create is not likely to be better than a wheel created and refined by many people who are dedicated to making better wheels.
I made an engine, and I’m happy with it and proud of it. I definitely don’t regret the experience, but what happens when it stops working on X system? I can’t just wait for the next update, “’cause those people are on it.” I have to stop whatever I’m doing and do more engine coding. Sure, I can do it, but the real question is: do I want to spend the time to keep doing it?
Just because you can, or need to prove that you can, doesn’t mean that you should; it doesn’t mean that would be the best way to apply your time. So, before you dive in and go creating the next CryENGINE to power that game, question your motives and be honest with yourself; now is the only time you’ll ever get. Do you want to spend your precious hours making a game or making a game engine? – make your time count.