So I have a really graphics rich scene quite a few shaders. So that the game runs as smooth as i can make it run, I do quite a bit at loading while the splash screen is up. After loading the gltf.. I go through pre compiling all the shaders so I dont get late shader compiles that cause stutter during the game play. I also have a PREWARM stage that wamrs all the material againts all the lights and cameras… On a large scene this whole thing can take 15-25 seconds of scene loading on an animated splash screen
Is 15-25 seconds of splash screen loading too long for our web game ?
Its no Call Of Duty or anything, but its pretty rich Mario Kart clone with custom toon shaded graphics, sound effects, ambient music, shuriken style particle effects, kart player animations, tons of items and pickups. A pretty good re-creation of Mario Kart in the web browser using standard gtlf assets.
You should not be asking devs - but players. Alternatively, since it is web based, see analytics for how many players impatiently go away.
As a player, 25 seconds for a web game is probably too much. There needs to be substantial marketing effort to convince me to sit through it (every time). N.b. I am usually impatient.
Yes! - 25 seconds is to much for web games, but on the other hand… 25 seconds alone is a good mark in our days… but… if wishful thinking is 25 you should multiply that at least by 3 or more. Meaning network/device specifications will have a saying in this;
No! - like @Joe_Kerr mentioned it all comes down to pre existing expectations. It would mater most is this was a drop demo of the game for someone that never heard about it. If you are in a gaming portal or downloaded the game wrapper from steam or mobile, 25 secs would not be terrible if it delivers what it is promised.
Insight share:
Web content is expected to be delivered <1sec ( unrealistic specially for games and any other non static content), meaning that if we are on the web we need to deliver content asap as we are competing for the users short time attention span.
Pro tip!
As we could find long down the games scene along the years we can learn and do the same design choice. Deliver a small interesting game mechanic to the loading screen. That is something were web shines ( assets loading do not disrupt main thread!!!).
Distract the player with something while waiting for the actual game to load and 25 secs will feel like a short time to wait .
Personally, I would say that anything taking longer than 5 seconds should be visually indicated with a loading bar. If a user chooses to wait, they can track the remaining time until the final start via a percentage display. Than the problem lies by the user’s internetconnection and I think he knows that
As with everything, it depends on expectations: if you’re about to play something like GTA VI or a new Call of Duty, waiting two minutes for a loading screen—if it leads into a spectacular experience—is more than justified.
If, however, the game or experience is more of a “mini-game”, something meant for a quick bit of fun—then, in my point of view, everything should be as fast and interactive as possible. Ideally, the loading screen shouldn’t last more than 10–15 seconds; furthermore, the more visual elements you can include on that screen—provided they fit the game’s design—the better.
A highly viable approach is the async loading of assets and meshes, alongside general optimization, of course. Progressively loading assets that aren’t needed for the initial menu is often a very effective solution.
From a game dev point of view I would split it. Load the minimum to get into a menu or a first safe area in a few seconds, then compile and prewarm the heavy materials in the background while the player is picking options. If the first scene really needs everything, a real progress bar with steps feels shorter than a spinner. Also worth testing on a mid range laptop, since shader compile time can be several times worse than on a dev machine.
So the landing page and menus are all super fast. It the actual Mario Kart gameplay. Once this starts, all assets for the experience need to be loaded and prewarmed… Lazy loaded assets during the smooth gameplay CAN cause stutters in the smooth kart gameplay when does late shader compiles. That is why i try so put this kool look Mini Race Progress Bar during the preload.
FYI… after some more heavy oiptimizations to the scene. I got it down to about 10-15 seconds on the pretty large and graphicall rich scenes, Like Mario Circuit, The Water Park, Rainbow Road, and the biggest ones, Moo Moo Meadows and Toad Harbor… those are pretty detailed game levels
I am preparing a Technology Preview that will have a playable demo of my Mario Kart clone.