Tuesday, September 19, 2023

Unity considered harmful

Last week Pixy Misa noted that the Unity game-engine's c-suite planned to charge per-download of the software done on their engine. Now: personally I don't write high-end games, which look difficult to do, in any language. But I do run maths here, and that's mostly what games rely upon, vectors and trigonometry and Newton-Raphson. On account I use C#, I was tempted to use Unity for the vectors; but (thankfully) I took the downgrade from double to float, System.Numerics.

I figure that the fog has cleared enough that I might, belatedly, poast something. (I'll likely backfill the last couple days, later...)

My first inclination is ... not to care. High-download, free-to-start games stink of "freemium" pay-to-win stuff. Unity reducing its association with such predatory "games" seems like what Jim Sterling has demanded for decades. We'd still have the problem of griefers deliberately downloading a game hundreds of times to stick it to the game's dev. Also, you know... pirates. But these might be handled by improvements in TOS and maybe Unity's ability to spot what's a real (dev-billable) download and what isn't. Um. Spyware DRM?

Yeah, Unity's overlords led by John Riccitiello do not seem men of principle. They had merged Unity with ironSource. They had earlier been in talks with Applovin'. There is talk that if a developer includes ironSource, they don't have to pay to Don Giovanni his vig. Applovin' is now publishing guides on how to move off Unity.

Among the Unity games is Caves of Qud. Qud doesn't need the highest-end vector mechanics. Its developer Brian Bucklew spent a weekend getting the core of the game from C# into GDScript, which Godot uses. Bucklew meanwhile had learnt a few best-practice tricks as the compiler threw errors at him. So once it's all in GDScript, mayyybe he can consider porting his files back to C# (if not Unity).

Godot and GDScript are open-source. Unity is considered a good platform, with a solid development team, despite their overlords. Godot meanwhile has the reputation - I don't have the quote - that it is good for your first game. I gather, for a 2D game or for something cartooney like Ecstatica.

Sam Pruden started a GitHub account for the sole purpose to complain, that Godot is bad for "raycast" - better known 'round these parts as raytrace. As open-source, Godot is not API. Godot does a lot of processing high up the stack, such that it loses the deep Microsoft dives into DirectX which Unity promises.

Meanwhile I hear we might not need all those raycasts after all. There's talk about Gaussian Splatting, with ellipsoids. Yes, those pixelated balloon-monsters from that Ecstatica game. Sure: that was back in the early 1990s, the DOS / Windows 3.0 era. It is 2023 with higher resolution. New problem: if we're not deliberately aiming that aesthetic, we expect millions of ellipsoids. These chew up RAM. Programmers are looking into reducing the memory hit(s).

No comments:

Post a Comment