this post was submitted on 12 Oct 2023
86 points (98.9% liked)

No Stupid Questions

35910 readers
996 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 1 year ago
MODERATORS
 

Examples: diablo 4 on blizzard client will let you play it before the full game is installed. The ps5 also let's you do this when installing a new game. But I've never seen this option on steam games.

top 28 comments
sorted by: hot top controversial new old
[–] [email protected] 95 points 1 year ago (1 children)
  • the launcher starts with updating itself and grabbing the most recent file manifest
  • launcher then prioritizes the game engine itself before starting on the data files
  • data files (textures, models, maps, etc.) are then prioritized by what the developer thinks you are most likely to encounter first (ie. starter towns, main cities, new content, etc.)
  • once the game engine is ready and some certain amount of base data is downloaded, the game will be marked as playable
  • most likely you will never notice anything but if you zone into an area where the data hasn’t been downloaded yet then you’ll get some lag and texture flickering as the game tries to shove that content to the front of the queue
[–] RvTV95XBeo 39 points 1 year ago (1 children)

Diablo also leans heavily into cinematic cut scenes which can be streamed (at lower resolution) if you encounter those before they finish downloading

And low resolution textures / compressed audio can be downloaded first while you wait for the higher resolution content

[–] [email protected] 14 points 1 year ago

That's like....the only good use of online functionality in a single player game I've ever heard. But I hope it doesn't catch on lol

[–] [email protected] 32 points 1 year ago (1 children)

Its just how the installer prioritizes the data. You start with the frame work, and you then install first level dependent data. As long as the player does not out pace the dependencies, there is no problem

[–] [email protected] 11 points 1 year ago

You can also do things like using the smaller models and textures from the games low quality mode and switch to the big, high quality ones later when they've downloaded.

[–] [email protected] 19 points 1 year ago (2 children)

Because when you are in level 1, you don't need all the assets from level 10, and it can just download what you need first.

[–] [email protected] 2 points 1 year ago (1 children)

But what if you imported a save from a later part of the game?

[–] [email protected] 7 points 1 year ago

Then you’d most likely be told that part isn’t downloaded yet, but thats quite an edge case since there will be very few people downloading the game that have a previous save point from any point in the game, let alone the later part.

But if the game devs wanted to plan for that edge case, they might check your account for save points and prioritize content after your save point first.

[–] RvTV95XBeo 1 points 1 year ago (2 children)

I don't think this is true, because you can max out your character, uninstall the game, reinstall it, and still start early. Plus, the MMO-esq nature of D4, you could easily join a party with someone who is L10, doing L10+ content. It's more about preloading things at low resolution, then improving as new resources download

[–] [email protected] 5 points 1 year ago

I'm not referring to Diablo in particular. I am just using "level" as the standard video game nomenclature to mean separate areas or content.

[–] [email protected] 1 points 1 year ago

What he described was done multiple times. In MMOs and single player games. The low res loading is in addition.

Jumping ahead of the designed game experience can indead force additional loading screens.

[–] [email protected] 12 points 1 year ago (1 children)

It's worth noting ... RuneScape has done this for decades 🙂

You would basically have to write your engine to be friendly to the idea that an asset isn't complete, and set up a non-complete (possibly absent or just low quality) and complete state.

You download everything to the point where it's suitably non-complete... Then you keep downloading things in the background to complete the install, prioritizing things the player is likely to or is encountering.

[–] [email protected] 3 points 1 year ago (1 children)

Oh really? I've never played runescape, but that's interesting that this feature has been around longer than I realized.

[–] [email protected] 5 points 1 year ago (1 children)

Yup! They might be the first game that became large scale to do it honestly. Because their game was getting quite big but they were a Java applet they (speculating a bit) wanted to maintain the fast load times as they added more and more content and get new players into the game quickly.

Plenty of innovation out of Jagex back in the day (sadly not so much now). The founders sold their shares and left the company, the founding programmer started a company where he's been working on a new game engine concept that's supposed to make multiplayer as easy as single player to program for, I try my best to keep an eye on it (https://www.fenresearch.com/).

[–] [email protected] 1 points 1 year ago

That's interesting, thanks for the info!

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

There are two main ways they accomplish this. The first is by downloading low resolution textures first. Most games use low-res textures when you are far away from an object and use higher res textures as you get closer, which get swapped out in real time. By utilizing this system that is already in the game, they can simply not load the higher res texture if you don't have it downloaded yet. Textures generally account for a VERY LARGE portion of the total game download. Code is small, textures are large.

The second way is by not downloading assets that are only used in other maps. It can download the core assets for the game and not worry about assets that are used on maps you aren't in. However, if you do enter one of those areas before the content there is downloaded, they need to add a system to either download that area's assets first or tell you to run the downloader longer.

[–] AChiTenshi 5 points 1 year ago

It will depend on how the game is packaged. On your two examples that let you play before finishing download the clients will have multiple downloads that will prioritize everything needed to play early content. This will allow you to play for a bit and by the time you are far enough into the game the rest should have downloaded.

I am not entirely sure how steam manages downloads but I suspect it compresses the whole game as a single download and decompresses and installs it once the download is done. This would mean that nothing is playable until the entire game has been downloaded. It's something they could potentially change with their download process but not many developers would take advantage of it so it's likely a low priority thing.

[–] [email protected] 1 points 1 year ago

I did this on Kingdom Come Deliverance on EA/Origin and the beginning of the game was messed up, the plot made no sense and I realized I had missed a whole section. Maybe they have worked out the bugs by now.

[–] [email protected] 1 points 1 year ago (4 children)

About 75% of a games file size are the optional higher res textures for higher graphics settings.(25% for "high" and 50% for "ultra" generally) You can start playing with only the lowest couple of resolution textures to start with in games that use texture streaming. Texture streaming also serves as a LOD system. As in textures further away from you only load the lowest level of detail version until you get closer anyway, then they swap on the fly one by one up to whichever highest degree of fidelity you picked in settings as it gets closer and closer.

The way they stream in sort of hides the transition, at least if the game was well designed. Similar to how a good LOD system for geometry works. It should ideally be imperceptible. The models should look almost identical at the distance they are being swapped at. Same thing with textures, if you notice them change, they likely tried to be too aggressive with it to lower performance cost more than a comfortable/seamless amount.

[–] [email protected] 8 points 1 year ago (1 children)

That's not how it works at all, what are you even talking about?

Most games that offer this feature download a limited set of the game files. For example the first few areas of the game (but with full quality, no low resolution bullshit). The idea is that as you play it keeps downloading the rest. Though if you play too fast or load in a save you might hit a wall where the game forces you to wait and download the rest.

Other games like Guild Wars 2 (an MMO) does it differently. It downloads all the assets it needs and the starting zones. But you can actually go into end-game zones too with a partial download, but then you have to wait in a loading screen while the game only downloads the zone you want to go to.

The big game sizes are usually sounds and overall content (cinematics, also textures but you don't have to load all of them, only the ones needed for now), if 99% of players are in the starting area of the game while downloading you can take your sweet time to download endgame areas for example.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I guess we have experienced it in different games, the only ones I have experienced it with have been either phone games that do it your way because of the 100 mb limit Google puts on free apk downloads or computer games that do it my way because of 4k texture file sizes and texture streaming systems. I hadn't seen it in a computer game before texture streaming.

I have only seen a "play as you finish downloading" in 4 computer games and in those 4 cases it was all due to texture streaming. I had never experienced it for any other reason on a computer game. And of course a game with texture streaming is going to have larger texture files, otherwise they wouldn't have felt the need to stream them. It's the whole point of that system. So textures can be much larger without impacting performance.

[–] [email protected] 1 points 1 year ago (1 children)

good breakdown of the system but it has been a while since textures were the issue at large. You can cut ~1/3 the filesize of starfield by uninstalling language packs you aren't using because lossless audio is HUGE. Most LoD effects are just rendering a distant model with reduced detail and update rate. Even if you look at "good" lod models they often move in a jerky way in practice because they aren't at the same framerate as things within the "detail" draw distance (easy to observe in every souls title).

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Yeah, lots of different games have different ways, I personally have only seen it in games where it was the 4k texture assets with a texture streaming system. I haven't yet played a computer game where it was done for a different reason. Most computer games don't have a ton of audio in a ton of languages, that would indeed make for large file sizes.

I know mobile games generally do it the piecemeal route, but felt that was out of context for this thread.

I have seen games where the LOD models run at half frame rate, I have a hard time playing those and in my opinion I would not consider it a "good" LOD system. To me a good system is where any performance gain it gives is by only removing stuff as imperceptibly as possible, anything more aggressive than that and it better be possible to toggle that excessive feature in options.

I have only seen 4 games with play as you download on computer, and in each of those 4 cases it was done due to having implemented texture streaming, and a texture streaming system also coincidentally tends to be implemented to allow much larger textures to be possible without performance drops, so they will indeed be games with much higher texture file sizes than other games. I didn't even know there was other games that allow play as you finish downloading for different reasons.

[–] [email protected] 1 points 1 year ago (1 children)

Oh OK that makes sense. So I would guess that feature caters more towards ppl who have lower end gpus who aren't going to use the higher res textures anyway.

[–] [email protected] 1 points 1 year ago

I think it's more that you can play the game with low res textures while all the high red ones download.

That and I'm sure they order the download so level 1's textures download first too so you'll probably not end up reaching the areas being downloaded until they're available.

[–] [email protected] 1 points 1 year ago (2 children)

Hmm, that much for textures, really? Did this change in the recent years with the rise of 4K gaming? I always thought raw media files like video/audio were the main culprits.

[–] [email protected] 2 points 1 year ago

Audio is still somewhat of a culprit at times, depends on the game and the amount of exposition. Videos are rarely the main share of the game filesize anymore and usually it is mainly textures and likely bloat from really crap usage/optimization of those textures.

[–] [email protected] 1 points 1 year ago

Yeah, this is only since 4k textures and the ability to do texture streaming. I had not seen a computer game with the play as it finishes downloading and installing feature before that. I had previously only seen it on phone games, which do it the other way.