5 ms·
NIH Syndrome. Also, I imagine that a lot of game development is fairly menial drudgery from a software development standpoint, so the temptation to make it more
by cycrutchfield 8y ago
NIH Syndrome. Also, I imagine that a lot of game development is fairly menial drudgery from a software development standpoint, so the temptation to make it more intellectually stimulating probably becomes pretty high.
- _wmd 8y agoI've been researching a design recently and have faced the temptation freshly, so perhaps it'd be useful to share. Having investigated every 2D and 3D engine for the web (it's a nice UI, not a game), it seems none of the existing options scratch my itch: SVG and its huge complex object graph grind to a halt burning CPU after your first few thousand nodes, while game engines that can often cope with huge entity counts just continually burn CPU and apparently have no concept of 'idle'. So the itch is there: just a little <canvas>, a few wrapper objects, and I'm sure I'll be done in no time. Just gotta reimplement D3's TopoJSON renderer, that's all. Of course it's a lie, but at this stage I'm old enough to realize that :) I think the only way many people (just like me) in IT learn this is the hard way: be getting burnt too many times.
- anonytrary 8y ago> temptation to make it more intellectually stimulating probably becomes pretty high. This is not OK when you have made promises to people who expect a product. This guy took advantage of those people, and it's incredibly sad. I don't know how they kept on doing this for 6 years without reassessing if their approach was really the correct approach. I can't fathom that in 6 years, not one person raised their hand and asked "why the hell are we writing a game engine?".
- smadge 8y agoI haven’t looked closely at game engines. Is it possible to write the game at the level of abstraction you want, then write a translation layer into various game engines? Or do these game engines tend to creep into all of your code, preventing you from decoupling your game from the engine? If this were possible then you could prototype the game using a game engine to get a “MVP” and if you aren’t satisfied, swap out portions of the engine with custom code.
- tobr 8y ago> Is it possible to write the game at the level of abstraction you want, then write a translation layer into various game engines? At that point, aren’t you almost writing your own engine anyway? You’d need to design the abstractions, interface with the game engine, and consider how those two things impact performance. That’s a big chunk of what a game engine is supposed to do for you.
- lodi 8y agoAll of these engines (Unreal, Unity, etc.) are written as monolithic "frameworks" that want to own the top loop and have you override certain bits to customize behavior. Also, the nature of games requires that various components (graphics, physics, ai, networking, etc.) are tightly coupled together. So, no, you're in a world of pain if you want to use Unreal and not do things "the Unreal way". --- Honestly though, I see nothing here that couldn't be done in any modern engine out of the box though. They can all stream assets in and out of the level asynchronously (for "infinite extent" levels), build meshes/textures programmatically, support fully dynamic lights, etc. If you have some requirement for procedural generation that isn't supported out of the box (e.g. baking lightmaps at runtime), surely it'd be easier to just write that part yourself and inject it into the existing pipeline.
- phaedrus 8y agoGame engine code and data types creep into all your code. I once heard an indie game developer describe this as "smushing playdough against a mold" (where your game-specific not engine-specific code is the playdough and the mold is the engine API).