<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="pattern.xsl" ?>
<?DOCTYPE pattern SYSTEM "plml.1.00.dtd"?>
<pattern patternID="pre_loader_game" xmlns:html="http://www.w3.org/1999/xhtml">

<name>Pre Loader Game</name>
<author>Eelke Folmer</author>

<problem>
<usability>
The player needs to wait before the game can be started. 
</usability>
</problem>

<principle>Recover from Errors</principle>

<context>
<html:IMG src="images/flash_loading.png" align="right"/>
Games that take some time to load because:
<html:ul>
<html:li>A large amount of graphics and art need to be loaded from a mechanical device (such as a harddrive or dvd) or from the web. (flash games) </html:li><html:li>The game needs to be installed and resources need to be installed locally.</html:li><html:li>The player has to wait for other players to join the multiplayer game.</html:li>
</html:ul>
</context>

<pattlet>Provide a small mini game to kill the time.</pattlet>

<solution>
A simple game such as pong or tetris can be played while waiting. The mini game can also be related or based upon the main game. The style of the game is usually arcade like e.g. no high-scores have to be stored. 
</solution>

<implementation>
This mechanism is protected by Namco’s patent 5,718,632, but there are examples of prior art. 
</implementation>

<forces>
<force>
Players are impatient and do not want to wait.
</force>
</forces>

<rationale> Why - Although load times should be avoided as much as possible they are sometimes inevitable. Offering the player to play a game is important to keep their attention. Especially with web-based games when the loading takes to long the player may choose to skip the game. This pattern increases satisfaction. 
</rationale>

<example><html:IMG src="images/flash-preloader.gif" align="left"/>
<html:b>Flash games - </html:b>A typical pre loader game found in large flash games.
</example>

<example>
<html:b>Broken Sword - </html:b>This adventure games allows one to play breakout during installation
</example>

<example>
<html:b>The Sims - </html:b>This popular simulation game allows one to play a sims related game during installation.
</example>

<example>
<html:b>Super Mario 64 - </html:b>In this platform game one can play a short game while Super Mario loads.
</example>



</pattern>
