5 ms·
I really enjoyed and appreciated this article. So many harsh comments! Yes, what he did was foolish, but thank god for foolishness. And these things are easier
by pjungwir 13y ago
I really enjoyed and appreciated this article. So many harsh comments! Yes, what he did was foolish, but thank god for foolishness. And these things are easier to see from outside and after the fact than when you're following a dream.
I've had a lifelong dream of building my own game, and I'll be sad if I die without trying. I'm way less prepared than the author. I've done web dev for 15 years. My last game was an ASCII roguelike in GW BASIC. I'm almost done reading Game Engine Architecture by Jason Gregory, and building my own engine sounds like a blast---but also like a 20 year project. Fortunately my dream game is more like an old 2-D Zelda 1 or 3. Still, it's tempting to build even that with 3-D techniques. . . .
The big lesson I'd apply to myself is to build something modest. That seems even more true given my lack of experience, although I'm not sure I'll listen.
I guess the difference between the author and myself is that I fortunately don't have the expertise to think of game making as anything other than a creative hobby.
- tieTYT 13y agoDo not build a game engine unless your goal is to be selling a game engine. If you're going to make a game that requires a game engine, use another engine that's already built. Lets put this in terms of web development: You wouldn't start building a webapp by building your own web framework first.
- gavinpc 13y ago> You wouldn't start building a webapp by building your own web framework first. Umm, yeah, I kinda did this. And as I am not ready to promote either the framework or the app, I can certainly relate to the OP. Having said that, I don't regret my decision at all, and I'm now using the framework in some production work for clients. This is very satisfying. I also have a mortgage and two kids, and I am paying the bills while my wife is in grad school. So my side projects must remain just that. But they keep me sane, so for me it's not just about the end result. Having kids makes moonlighting much harder than having a day job does, IMHO. (But what do I know, I've been freelancing since Katrina.) And I really am going to publish them this year! Really!
- rgbrenner 13y ago"You wouldn't start building a webapp by building your own web framework first." If I were starting from scratch TODAY, then I agree with you. I started a small ecommerce site back in 2003, and django, etc didn't exist. So I did develop a framework from scratch in C. 10 years later, it's the engine my new data storage startup (Nuevo Cloud). Point is, things like web app engines and game engines aren't things that pay off immediately. They require _a lot_ of development, and during the entire time that you're working on it, you're basically handicapped until it catches up with other engines/frameworks. But after it's far enough along, it can be a big advantage, letting you do something unique compared to your competitors.
- tieTYT 13y agoFirst, yes: You can only tell someone, "Don't reinvent the wheel" if the wheel has already been invented. Re: your last sentence: Isn't it even more likely that it could end up being a complete waste of time and effort and be inferior to other frameworks/engines?
- rgbrenner 13y agoYes, that is probably the most likely outcome. That's why I said "can be" an advantage, but maybe that's too strong wording.
- usea 13y agoI've also read Game Engine Architecture, and I've written a (much less sophisticated) engine on a small team in school. Unless your goal is to make a game engine rather than a game, it would be the height of foolishness to build a game engine. The main takeaways of the article are "have a business model" and "don't build your own engine." It adds years to the process, it's extremely difficult to get right, and the end result will be worse than using existing tools. If your goal was to make a web app, would your first step be to write a garbage collector and a database management system? Would you invent a templating language, and build a parsing engine for it in C? Would you think it responsible to pay a web developer a salary to do those things if their goal is to just make a website? If not, then it'd pretty foolish to pay yourself to make a game engine.
- pjungwir 13y agoYou and tieTYT have convinced me. :-) But when I worked at a dev shop around 2000-2005 we did have our own app server (begun in the 90s), with its own templating language (two actually), its own "NoSQL" database, and its own scripting language (all operators and function calls in Reverse Polish Notation). And it was written in C. It was pretty fun to work on it, actually. But there's no way I'd build something like that today. And I think my desire to make games is stronger than my desire to make a game engine.
- usea 13y agoI enjoy inventing things and completing challenges. I think this trait is common among engineers. Unfortunately it doesn't make much practical sense in a lot of situations. I have entered Ludum Dare multiple times and each time I failed to finish a game because I end up spending the whole weekend writing a cool particle system or whatever. When I'm left to my own devices without planning, who knows what kind of thing I'll end up making. The decision to invent should be made intentionally, rather than impulsively. If your goal is to have fun, then have at it. But if your goal is to launch a product, it's not prudent.
- benihana 13y agoI like this analogy much better than the one above about using a web framework. This is more in line with the amount of work it would be to build a game engine.