Game Development Reference
Designing a Reusable and
Versatile Loading Screen
I'm a strong believer in being minimalistic. Unless you actually are going to
solve the general problem, don't try and put in place a framework for solving
a specific one, because you don't know what that framework should look like.
Many large applications have a considerable waiting period that occurs when the
application first launches. One reason can be the loading of numerous dependencies
on external components, such as a plugin that must be interrogated and assimi-
lated into the runtime of the application. Another reason can be a substantial
amount of preprocessing that occurs before the application is handed to the user.
Preprocessing is generally used to generate and cache commonly used data when
the application first starts so that this data is not calculated when the user expects
Some applications also use the concept of a splash screen , which is basically a load-
ing screen that is only used for aesthetic purposes. These screens typically display
a title image and some supporting text, like copyright messages or development
credits. Splash screens are usually dismissed when a certain amount of time has
elapsed or the user clicks the mouse or presses a key.
As discussed in Chapter 7, “Fundamentals of User Interface Design,” the Principle
of Feedback describes how the application should notify the user of long-running
processes so the user does not suspect that the application has stalled. Almost