News for hackers. Stuff that matters.
Re:OSS Game Engines are increasing their stars on GitHub due... by catapart on Tuesday September 19, 2023 @08:04AM (#37568755)
In case anyone cares, this commenter is absolutely incorrect; Unreal does support mobile development, and it obviously uses a more lithe package than its full GPU stack. Using only the UI objects, 2D is pretty simple and I haven't had any major package size issues. Using a 3D context to render 2D as planes in the scene, I can still get a package down around 70MB with optimizations left on the table. It's harder to work with 3D-as-2D, but that's why I use the UI system. It's robust.

I certainly like Unreal, myself, but I can't say it's an easy move from Unity to Unreal. That aside, one of the very first options you see is whether to scope your game for mobile or for "desktop", so I'm not sure why this commenter thinks that Unreal would not be an option for mobile development. It sucked before UE5, so maybe that's the hang up, but so did a lot of things.

Re:OSS Game Engines are increasing their stars on GitHub due... by chess_horse_L on Tuesday September 19, 2023 @08:21AM (#37568919)
Jesus christ. You say I'm absolutely incorrect, yet you're happy with a default package of 70MB?

Unfortunately, I know what I'm talking about. I've even modified the Unreal source to get a package size of 20mb, for a full game. I've digged through configurations to enable a simple forward renderer. I've faked all lights since a simple lit material would destroy performance.

That was on Unreal 4.20, I don't know how much has changed ever since, but probably not much since I don't see any low-end mobile improvements on the roadmap, they're all focused on high end.

Still, Unreal sucks for mobile, compared to Unity. It's unperformant to run on a mobile, and unpleasant to work with. It supports mobile? Yeah. Should it be used for mobile? Nope.

Also, you've just mentioned that you're using a hacky workflow to work with 2D. You're already sacrificing too much, for something that would work better in Unity.

Source: Worked on a company that had a mobile Unreal game. It ended up being ported to Unity.

Re:OSS Game Engines are increasing their stars on GitHub due... by rajamaka on Tuesday September 19, 2023 @08:57AM (#37569285)
I highly doubt a 70mb download for a game is upsetting anyone outside of HN.
Re:OSS Game Engines are increasing their stars on GitHub due... by badRNG on Tuesday September 19, 2023 @09:20AM (#37569568)
Just a reference point, Genshin Impact is 21GB on Android, COD:Mobile is now 15GB, and even Hearthstone is 4GB,
Re:OSS Game Engines are increasing their stars on GitHub due... by catapart on Tuesday September 19, 2023 @10:23AM (#37570392)
In fairness, a lot of game devs don't have to deal with high-quality assets which are a thing that can take up most of your space. When you don't have 80 to 100 100-500kb assets (audio, textures, etc), you don't see it eat up space and you don't have to hear consumers file issue with the quality of your graphics or audio, so it's reasonable to balk at such an 'abnormal' package size. Devs get a little too focused on their own metrics sometimes, is all.

All that said, yeah - 70MB is perfectly "small" in the context of a mobile game. Hell, I WISH 70MB was normal. These days, you'll eat up 300MB on a game just so it can serve you an ad network with 80% of your screen time. The mobile games market is a travesty.

Re:OSS Game Engines are increasing their stars on GitHub due... by Macha on Tuesday September 19, 2023 @09:07AM (#37569414)
A sample of apps larger than 70mb on my android device:

- The built in Contacts app

- Degiro (investment management)

- Doubletwist (music player)

- Sony Headphones

Some apps above 150mb:

- Element (chat)

- Kindle reader

- Pocket Casts (podcast player)

I don't have too many games installed but layton and the curious village, a point and click DS port, is 700mb (10x larger than on its original platform of the DS). I guess a lot of that increase is replacing 200p backgrounds with 1080p and midis with audio recordings.

Filesize is a weird one to complain about - that ship has long sailed.

Re:OSS Game Engines are increasing their stars on GitHub due... by pjmlp on Tuesday September 19, 2023 @09:33AM (#37569722)
Yet, it is a common subject on Apple and Google conferences regarding mobile best practices.

Not everyone is living in the first world with flagship devices, unless you mean only those are entitled to play games.

Re:OSS Game Engines are increasing their stars on GitHub due... by Macha on Tuesday September 19, 2023 @12:59PM (#37572858)
> Not everyone is living in the first world with flagship devices, unless you mean only those are entitled to play games.

Right, but unity and unreal performance were possible to make adequate on my HTC One M7 a decade ago, a device so old that you can't publish apps compatible with it to the play store any more because of the minimum target SDK version rules.

Re:OSS Game Engines are increasing their stars on GitHub due... by chess_horse_L on Tuesday September 19, 2023 @09:23AM (#37569615)
I know. I was pointing out the app size since he said that it's 70mb, and that's absolutely not good compared to Unity (10-20mb).

To be fair I don't care about the app size either (Though once you reach a threshold, you'll have to care, since extra config is involved in the stores), I just wanted to point across how much work you have to do in Unreal to reach what Unity does by default, and app size is just an easy unit to explain.

Re:OSS Game Engines are increasing their stars on GitHub due... by _jal on Tuesday September 19, 2023 @09:48AM (#37569882)
> To be fair I don't care about the app size either

> Jesus christ. You say I'm absolutely incorrect, yet you're happy with a default package of 70MB?

Re:OSS Game Engines are increasing their stars on GitHub due... by catapart on Tuesday September 19, 2023 @10:01AM (#37570060)
Try not to worry too much about the zealots backlash. Ne thinks I'm attacking a worldview instead of just pointing out factually incorrect information.

It's true that 70MB is very small for games, especially if you're talking about something with 3D contexts and meshes. But it is also true that most mobile games could be built with Javascript and still be just as performant and served as Progressive Web Apps in less than an MB. So, in the frame of reference, 70MB is gargantuan. I certainly understand why OP took offense, because their frame of reference isn't "all games", it's "games that focus on these very specific metrics I care about".

If that's your only criteria, then obviously Unreal would be bad because it doesn't optimize ONLY for size, it optimizes for a bunch of other stuff, and leaves a lot of optimization on the table for devs to do on their own. Of course, all of that is true of Unity too, which is why you can get smaller package sizes (20MB is not impossible for Unreal, but it's easier with Unity), but you still can't come even close to something that is "efficiently" packaged. For that, you'd need to move into lower level stuff like engines and frameworks in Rust or C++. Eschew the niceties of the IDE and really get that package size down to zero!

Of course, that's not feasible for a lot of people, so (as always) you're talking about what kinds of things you're trying to optimize for. And Unreal produces package sizes well within the range of acceptability for even Unity games. Most of those are at least 200MB+. So it's a petty complaint made from a place of self-interest, that is only true in contrived instances, which seemed worth pointing out.

As a stray aside, though: I have had games developed in both Unreal and Unity on the play and app stores and no one ever said anything about performance on either of them, so I really don't know what kind of devving OP is talking about that results in such poor performance. I can't imagine I'm doing anything uncommon, so I'm very curious as to what the hang ups are, mainly in a "are you sure you're doing this the Unreal way, instead of trying to force the Unity way in Unreal?" kind of way.

Re:OSS Game Engines are increasing their stars on GitHub due... by catapart on Tuesday September 19, 2023 @10:16AM (#37570284)
I can thoroughly suggest that you revisit your assumptions post Unreal 5. Since it's current, I would suggest 5.3, but anything post 5 should do. There were plenty of improvements made that are well documented by Epic and many things have contributed to better runtime experiences across the board. You may still not be satisfied, but I can assure you that your current assumptions are out of date.

As far as "hacky workflow", I don't know what I said to make you believe that. The Unreal UI is a vector rendering process. Same as a browser's rendering context. Or most form designers like ImGUI or WinForm or Qt. I used the Unreal UI just like I used any of those APIs - using what they've already provided where it works and rolling my own controls were it doesn't. It's no different either in conceptual development or in literal programming routines than manipulating a website's DOM or a Canvas element with javascript. It is, in short, a 2D context; same as any other 2D context.