measure the mean and std. of loading times for a given loading task on a wide variety of machines, store this
when a user encounters a load that needs a bar (above a certain time threshold), compare their machine to those stored to get a mean/std
go to your desired confidence level above the mean (say 99.9% of all cases) and use that as a loading time.
progress the loading bar smoothly for that time. If the loading is done before that DO NOT end early, just keep going and record the new time to work it into the mean/std (which should probably be reported back to the dev and fetched by the user’s machine daily)
If it goes over on time, just dismiss the loading screen just very very slowly transition to the game, and if its still not done just crash the game. If we cant have an accurate loading time we won’t have any loading time.
This should annoy enough devs and users alike and make them admit that fake loading bars are better than accurate ones.
I have a bad solution to this:
This should annoy enough devs and users alike and make them admit that fake loading bars are better than accurate ones.