6 ms·
Most of this is "head-adjacent" for me, but there's one point where I'm confident the author is not seeing the whole forest, and that is the comparison to Unity
by peteforde 6y ago
Most of this is "head-adjacent" for me, but there's one point where I'm confident the author is not seeing the whole forest, and that is the comparison to Unity. I'm sympathetic that someone working so hard to make WebGPU amazing would perceive the value of Unity through the lens of not having to worry about arcane device compatibility concerns.
However, that's just a tiny slice of the reasons driving Unity's runaway success train. After all, if this were true, everyone would just be using ThreeJS. And don't get me wrong - ThreeJS has a massive and well-deserved user base, but few see it as a serious platform.
Unity is crushing it because they provide an almost VB6-like canvas to paint on; because they have the most outrageously comprehensive asset-store ecosystem I've seen for any platform period; and because they frequently support the cool new toys like ARKit the day that they are announced.
Unity is hands-down my favourite way to introduce day-one noobs to programming. I can take someone who has never programmed before and lead them through creating a VR experience where they can fight a giant spider with a burning sword in about an hour.
The idea to payoff pathway Unity offers someone who is deciding whether to pursue programming in real time is crazy.
- whywhywhywhy 6y agoWatching Unity progress is amazing how it is spanning out from being a game engine into a whole technology and art canvas. Pretty confident we'll be seeing Unity rendering effects in at least one Hollywood movie in the next 5 years.
- flohofwoe 6y agoThat is definitely (mostly) true, but integrated engines like Unity or UE4 also heavily nudge you in doing things their way and come with a non-trivial size overhead (e.g. it is complete overkill to use Unity for your next Tetris clone). And let's be honest, if you sit beginners in front of Unity they don't learn programming, instead they learn "Unity problem solving", e.g. "Unity trivia" which is hardly applicable to other contexts. In my opinion, Unity is the Photoshop for game creation, you work on a very high level, but it's also very convenient (if you actually follow the rules and workflows). But there are quite a few commercial games which use Unity only as a 'cross-platform wrapper', because their game client is more or less just a dumb input+rendering client, and the actual gameplay stuff all happens server-side. It would be awfully nice if Unity could be split into a couple of standalone products (however that probably won't happen because it doesn't make much commercial sense): - a low-level platform-abstraction library which contains all the driver-bug workarounds and behind-the-scene-fixes that have been accumulated over the years - a 'bring-your-own-engine' asset pipeline and editor - and finally, the actual Unity runtime engine, split into modules
- peteforde 6y agoI dunno. This is all so subjective. I don't think Day 1 of programming is about picking up programming. It's about seeing if there's going to be a Day 2-4. And if Unity isn't in the picture, they sure as fuck aren't going to be hearing about WebGPU for the first 3-5 years of their journey. Photoshop for game creation is a little bit loaded. I'll take it in good faith but point aggressively to how wrong you are because it's possible you just don't realize how much cutting edge engineering is being deployed. For example, there's currently a major push towards moving everyone over to a job scheduled, burst-compiled data-driven architecture so that you can have tens of thousands of actors on screen at once. I stand by what I said about a VB6-like UI experience, but nobody is building anything real without learning a ton of C#, Quaternion math and shader language.
- pjmlp 6y agoThat is a common Khronos approach to learning, one should learn everything from ground up, including hunting for libraries that handle math, images, fonts, shader loading,... I agree with you, this is not the way to bring people up to speed with graphics programming.
- flohofwoe 6y ago"Photoshop for game creation" in the sense of: Unity has become the standard tool for creating games, and definitely has "democratized" and standardized creating games. But with this standardization also came a loss of diversity. Just as all drawing programs more or less became Photoshop clones, all integrated game development solutions eventually became Unity clones because that's exactly what users expect nowadays. The under-the-hood technology in Unity is definitely bleeding edge, but the user-facing workflows aren't anymore, they simply cannot "revolutionize" their workflows again as they did a decade ago, because that would alienate their own user base. Being the "industry standard" also has its downsides.
- pjmlp 6y agoAgreed, middleware engines are the way to go. Unity, Unreal, Xenko/Stride, CryEngine, Unigine