logoalt Hacker News

TeMPOraLtoday at 10:46 AM1 replyview on HN

> Do you want to make games, or do 3D engine programming?

Yup. If you start making an engine, you probably won't make a game - especially if you're learning along the way. It's technically possible to succeed at both, but having gone through this process many years ago, and having watched dozens of others in our Polish hobbyist gamedev community do the same, chances are under 5%.

"I'll do an engine for my game first, so it's easier to make the next game" - it's a surprisingly strong trap, because you are actually learning important things and winning small victories every day. There's always another win around the corner. Just one more unroll so the scene looks smoothly. Just one more logic layer to the config format, so it's easier to make the scene. Just one more SIGGRAPH paper.

There's always something important to improve. None of that adds up to a complete game. In retrospect, I'd say, writing your own engine is a perfect way for technical people to procrastinate on the hard but necessary parts of making their dream game - "making it fun", as you mentioned. You end up mastering all the skills that add up to coding an impressive video game. You never learn how to make a game.

(Subtrap of that: you learn a hundred ways to make beautiful visual effects that run smooth in real-time. You never learn how to use that to make art.)

--

(It just occurred to me this is very similar to the trap of "Enterprise Java" - except more insidious, because you're working with concrete terms. Your Scene Graph has no Factory Factory Interface, so you think you've dodged that bullet, missing that it's just unnecessary for the task of putting a bitmap on the screen and making it react to keys.)


Replies

deliciousturkeytoday at 11:52 AM

At least personally, the point of graphics programming or making "engines" is not to make games. It is to make real-time graphics, implement interesting approaches etc. If you are making a game instead of an engine, you will probably never focus on the graphics / rendering part, and instead need to focus on gameplay, 3D modeling etc. For many people this is explicitly not what they want: They want to make engines, not games.