Hacker News new | ask | show | jobs
by codesushi42 2447 days ago
Yep, I don't know why anyone would bother to write their own engine instead, unless it's out of pure curiosity.
3 comments

This 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?

That'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.
If you want to ship a game, don't write your own engine. End of story.
I 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.
It 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.

What if I want to ship a game engine?
Then you better be a 10x engine developer to be able to beat what is already out there.
This 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.

It'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.
Game 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.

Unity 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.
Can it do demo like in this topic. To load fast. Work fast. Even on mobile?

Every tool, engine, framework, has its strong and weak sides. That is why we have many options to choose from.

Does it still take 10 minutes to load a "project"?
One 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.
Indeed. 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.

Huh? Unity integrates seamlessly into webpages just as well any other WASM target does.
It 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.