5 ms·
Yep, I don't know why anyone would bother to write their own engine instead, unless it's out of pure curiosity.
by codesushi42 7y ago
Yep, I don't know why anyone would bother to write their own engine instead, unless it's out of pure curiosity.
- pcwalton 7y agoThis rubs me the wrong way. If people enjoy writing graphics engines, even if it's not economically rational to do so, then they should do that! This is an especially pointless complaint when it comes to video games, because, from a purely economic standpoint, few programmers capable of writing production-quality global illumination should be working on games at all as opposed to getting a job doing something else. (This is a hard pill to swallow, but it is nevertheless true.) The market, especially the indie market, is oversaturated, and, as a result, most people who are highly skilled and involved in game development are, to varying degrees, in it for fun as opposed to money. Since game developers are doing it for fun, why not encourage them to do what they enjoy most?
- proc0 7y agoThat's a good point for any dev thinking they can write their own engine... since one is bad at it and shouldn't do it or good at it and perhaps one should just focus on the engine.
- codesushi42 7y agoIf you want to ship a game, don't write your own engine. End of story.
- pcwalton 7y agoI don't agree with that statement, but even if it were true, it's off topic for this HN submission. The point of this demo isn't "use this instead of Unity if you want to ship a game". It's "look at this neat thing I made". I prefer to encourage that instead of being gratuitously negative.
- codesushi42 7y agoIt is not off topic at all. Don't reinvent the wheel if you want fast, meaningful results. DRY. You should know better. Otherwise it's only useful for curiosity's sake, as stated. Save yourself the pain and use Unity instead if your goal is to ship something.
- thrax 7y agoWhat if I want to ship a game engine?
- pjmlp 7y agoThen you better be a 10x engine developer to be able to beat what is already out there.
- Drakim 7y agoThat's silly. Why bother shipping your first game? it's never gonna be be 10x better than the games that already exists of that genre.
- pjmlp 7y ago90% of indie developers discover that the hard way.
- Crinus 7y agoThis is a common mistake people make. If you make a custom engine you do not need to beat what is already out there since you are certainly not going to use every single feature that the engines out there use. Bespoke engines (that are actually used in games) aren't trying to replace Unreal or Unity, they are only providing what the games they are used for need - anything else is unnecessary. Even in the high end AAA space, most bespoke engines do not provide everything that Unreal does - they focus only on the specifics their development teams need. This is especially important to keep in mind when it comes to smaller (be it indie or "AA") developers - the developers who write their own engines aren't trying to replace Unreal, these engines only support a tiny tiny fraction of the functionality that Unreal does and that is fine because that functionality is what these developers need. If anything, for a smaller developer that does not have the necessary developer manpower to mold an existing gargantuan engine like Unreal to their needs it can be a better choice to go with their own engine than try to understand and modify Unreal.
- meheleventyone 7y agoThis is poor advice because plenty of games of all sizes are shipped using custom engines. It’s comes about because there are lots of people who say they want to make a game who are far more happy eternally twiddling their tech. Moving to Unity/Unreal/PlayCanvas etc. wouldn’t dampen that impulse just push it in different directions. It’s a bit of an empty page problem where it much easier to obsess about having the right starting conditions than it is to actually just start. Particularly as these people tend towards being more technically capable without a lot of design experience.
- chungus_khan 7y agoIt's both important to pick the right tools for the job and also to not get lost in the weeds with that decision, and that's not just a gamedev thing either (though the design work in gamedev makes it really show). I see it a lot in web with pretty much every piece of tech, and the more inconsequential to the functioning of the final deliverable, the more twiddling goes on. Fortunately those twiddlers do tend to really care about the actual technical quality of the project if you can get them actually working on it.
- Steven_Vellon 7y agoGame engine implementations have different tradeoffs, and generalized game engines are optimizing for the lowest common denominator. Niche use cases often require custom engines. For example flight simulators need good terrain level of detail streaming, and may need to use special techniques to work around loss of floating point detail when rendering at a global scale. I don't know of any game engine that supports spherical height maps. On the other hand Kerbal Space program is implemented in Unity, so maybe even off the shelf engines can handle that.
- codesushi42 7y agoUnity is incredibly versatile. As a single dev, it is highly unlikely that you'll be able to implement a use case that it doesn't support. It is far more likely that you are reinventing the wheel out of ignorance.
- Arelius 7y agoOne good reason is the Unity -> WebASM pipeline isn't well suited for the web. Firstly Unity is built as a more heavyweight monolithic solution, decreasing load times, additionally, it's not meant for more seamless integration into web pages.
- codesushi42 7y agoHuh? Unity integrates seamlessly into webpages just as well any other WASM target does.
- chungus_khan 7y agoIt works, it's just kinda big for a lot of things. If someone's making good use of the engine's extensive features then that's not a problem, but it's a bit too heavy for a lot of simpler (previously flash) games. To be fair though, flash was insanely cumbersome and dreadful to deal with, and people still used it, so I'm sure they'd put up with WASM Unity even for those sorts of cases.
- mrmaxm 7y agoIndeed. But even more conceptually, web is very different platform. We don't download whole db of friends on facebook with their timelines to browse facebook. Why do we have to download all data from game projects, when we only need relevant one. So Unity has to provide way better solution for streaming content in order to compete with existing WebGL high-end projects, like Polaris vehicle builder. And it's engine is way too monolithic indeed. WASM still feels like a big hack. Epic recently admitted that experiments with WebGL and Unreal were fun, but they are not misleading customers that it is path they are going to go. They clearly stated that WebGL target for AAA engines, is not a way. And they are very right. Unity doesn't admit that. They know how big is Web platform. But they have to do something major to really get into web, as currently they only mislead customers with promise. But commercially, Unity WebGL - is not an option, 98% of time.