I want to create a preloader for my game. This preloader contains a rotating cube (controlled by a MOTION-actuator) and is located in a Blender-scene. An ALWAYS-sensor fires once on starting, and controls a SCENE-actuator, which loads the game-scene (e.g. 60.000 vertices). But when I start the game, the animated preloader freezes its animation until the game-scene is loaded.
The problem is the same if I change the SCENE-actuator into a GAME-actuator which loads the game as an external .blend-file. The animation is not played, because the GE is busy with loading of the game file.
As I understand it, most preloading scenes in commercial games work by loading a ‘Section’ (Say in Blenders case, the UV maps) then continuing the progress on the loading screen, followed by loading another ‘Section’ (Say this time, the Python code).
To my knowledge, this loading system can’t be pulled off using conventional means in BGE using any means I can think of, though I’m sure a workaround could be generated by modifying the BGE loading sequence via modification of the engine. Assuming that knowledge is a bit above you (I know it is for me) the solution will probably take more time developing than the function’s worth. Personally, I find a simple Loading, this may take a few minutes… screen works a treat loading complex scenes for inpatient players.
I did a preloader for my first Zark game which works by loading all the scenes and then removing them before the game actually starts. This seemed to work, the scenes for the most part started smoothly, but the long loading session before the game starts is kind of annoying. My more recent solution is to make an overlay loading screen which hides the actual level until its gotten past the preach (the time while the scene is still loading when it’s running at a very low framerate).