<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.autismcollaborative.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcd8604</id>
		<title>TACWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.autismcollaborative.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcd8604"/>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Special:Contributions/Mcd8604"/>
		<updated>2026-05-07T00:11:19Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.4</generator>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=611</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=611"/>
				<updated>2010-06-23T21:54:35Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Event Code Semantics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Event Code Semantics==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        // Input Events&lt;br /&gt;
        FO_INPUT_KEY_ENTER - User has pressed the Enter key.&lt;br /&gt;
        FO_INPUT_KEY_SPACE - User has pressed the SpaceBar key.&lt;br /&gt;
        FO_INPUT_KEY_LEFT - User has pressed the Left key.&lt;br /&gt;
        FO_INPUT_KEY_RIGHT - User has pressed the Right key.&lt;br /&gt;
        FO_INPUT_MOUSE_LEFT_DOWN - User has pressed the left mouse button.&lt;br /&gt;
        FO_INPUT_MOUSE_LEFT_UP -  User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
        // Game Events&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
        FO_END_BOARD - The user has finished a board (round).&lt;br /&gt;
        FO_MENU_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
# Make the file system changes following the guidelines below.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Use_Images|Update content]] for Face Off in the game solution for the corresponding file system changes.&lt;br /&gt;
# Compile the game and test.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Publish_the_Installer|Build The Installer]].&lt;br /&gt;
&lt;br /&gt;
===File System Guidelines===&lt;br /&gt;
&lt;br /&gt;
Face stimuli are organized into emotion categories. To add a new emotion category, simply create a new directory under Game\FaceOff\Content\Texture\Faces. Each image added to the directory must follow the proper naming convention, else the image will not be loaded. &lt;br /&gt;
&lt;br /&gt;
====Image Naming Convention====&lt;br /&gt;
&lt;br /&gt;
 [EmotionCategory]_[ImageNumber].[Extension]&lt;br /&gt;
&lt;br /&gt;
The EmotionCategory must be exactly the same as containing directory name. ImageNumber must start at 1 and increment by 1 for each image without skipping an integer. Extension can be any valid XNA supported format type.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Directory: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry&lt;br /&gt;
&lt;br /&gt;
 Images: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_1.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_2.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_3.png&lt;br /&gt;
  &lt;br /&gt;
Current images may also be replaced, so long as the naming convention is maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=610</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=610"/>
				<updated>2010-04-13T18:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Event Code Semantics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Event Code Semantics==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
# Make the file system changes following the guidelines below.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Use_Images|Update content]] for Face Off in the game solution for the corresponding file system changes.&lt;br /&gt;
# Compile the game and test.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Publish_the_Installer|Build The Installer]].&lt;br /&gt;
&lt;br /&gt;
===File System Guidelines===&lt;br /&gt;
&lt;br /&gt;
Face stimuli are organized into emotion categories. To add a new emotion category, simply create a new directory under Game\FaceOff\Content\Texture\Faces. Each image added to the directory must follow the proper naming convention, else the image will not be loaded. &lt;br /&gt;
&lt;br /&gt;
====Image Naming Convention====&lt;br /&gt;
&lt;br /&gt;
 [EmotionCategory]_[ImageNumber].[Extension]&lt;br /&gt;
&lt;br /&gt;
The EmotionCategory must be exactly the same as containing directory name. ImageNumber must start at 1 and increment by 1 for each image without skipping an integer. Extension can be any valid XNA supported format type.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Directory: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry&lt;br /&gt;
&lt;br /&gt;
 Images: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_1.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_2.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_3.png&lt;br /&gt;
  &lt;br /&gt;
Current images may also be replaced, so long as the naming convention is maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=609</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=609"/>
				<updated>2010-04-13T18:17:46Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* How to substitute new face stimuli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Event Code Semantics==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
# Make the file system changes following the guidelines below.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Use_Images|Update content]] for Face Off in the game solution for the corresponding file system changes.&lt;br /&gt;
# Compile the game and test.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Publish_the_Installer|Build The Installer]].&lt;br /&gt;
&lt;br /&gt;
===File System Guidelines===&lt;br /&gt;
&lt;br /&gt;
Face stimuli are organized into emotion categories. To add a new emotion category, simply create a new directory under Game\FaceOff\Content\Texture\Faces. Each image added to the directory must follow the proper naming convention, else the image will not be loaded. &lt;br /&gt;
&lt;br /&gt;
====Image Naming Convention====&lt;br /&gt;
&lt;br /&gt;
 [EmotionCategory]_[ImageNumber].[Extension]&lt;br /&gt;
&lt;br /&gt;
The EmotionCategory must be exactly the same as containing directory name. ImageNumber must start at 1 and increment by 1 for each image without skipping an integer. Extension can be any valid XNA supported format type.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Directory: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry&lt;br /&gt;
&lt;br /&gt;
 Images: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_1.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_2.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_3.png&lt;br /&gt;
  &lt;br /&gt;
Current images may also be replaced, so long as the naming convention is maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=608</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=608"/>
				<updated>2010-04-13T18:16:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Event Code Semantics==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
# Make the file system changes following the guidelines below.&lt;br /&gt;
# Update Face Off content in the game solution for the corresponding file system changes.&lt;br /&gt;
::[[Code_How_To&amp;#039;s#Use_Images|How To Use Images]]&lt;br /&gt;
# Compile the game and test.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Publish_the_Installer|Build The Installer]].&lt;br /&gt;
&lt;br /&gt;
===File System Guidelines===&lt;br /&gt;
&lt;br /&gt;
Face stimuli are organized into emotion categories. To add a new emotion category, simply create a new directory under Game\FaceOff\Content\Texture\Faces. Each image added to the directory must follow the proper naming convention, else the image will not be loaded. &lt;br /&gt;
&lt;br /&gt;
====Image Naming Convention====&lt;br /&gt;
&lt;br /&gt;
 [EmotionCategory]_[ImageNumber].[Extension]&lt;br /&gt;
&lt;br /&gt;
The EmotionCategory must be exactly the same as containing directory name. ImageNumber must start at 1 and increment by 1 for each image without skipping an integer. Extension can be any valid XNA supported format type.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Directory: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry&lt;br /&gt;
&lt;br /&gt;
 Images: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_1.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_2.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_3.png&lt;br /&gt;
  &lt;br /&gt;
Current images may also be replaced, so long as the naming convention is maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=607</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=607"/>
				<updated>2010-04-13T18:15:20Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* How to substitute new face stimuli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Events==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
# Make the file system changes following the guidelines below.&lt;br /&gt;
# Update Face Off content in the game solution for the corresponding file system changes.&lt;br /&gt;
::[[Code_How_To&amp;#039;s#Use_Images|How To Use Images]]&lt;br /&gt;
# Compile the game and test.&lt;br /&gt;
# [[Code_How_To&amp;#039;s#Publish_the_Installer|Build The Installer]].&lt;br /&gt;
&lt;br /&gt;
===File System Guidelines===&lt;br /&gt;
&lt;br /&gt;
Face stimuli are organized into emotion categories. To add a new emotion category, simply create a new directory under Game\FaceOff\Content\Texture\Faces. Each image added to the directory must follow the proper naming convention, else the image will not be loaded. &lt;br /&gt;
&lt;br /&gt;
====Image Naming Convention====&lt;br /&gt;
&lt;br /&gt;
 [EmotionCategory]_[ImageNumber].[Extension]&lt;br /&gt;
&lt;br /&gt;
The EmotionCategory must be exactly the same as containing directory name. ImageNumber must start at 1 and increment by 1 for each image without skipping an integer. Extension can be any valid XNA supported format type.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 Directory: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry&lt;br /&gt;
&lt;br /&gt;
 Images: &lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_1.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_2.png&lt;br /&gt;
  Game\FaceOff\Content\Texture\Faces\Angry\Angry_3.png&lt;br /&gt;
  &lt;br /&gt;
Current images may also be replaced, so long as the naming convention is maintained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=606</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=606"/>
				<updated>2010-04-13T17:29:23Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Events==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
==How to substitute new face stimuli==&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=605</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=605"/>
				<updated>2010-04-13T17:28:18Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Events==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;EventCode&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_START - The main menu has been initialized.&lt;br /&gt;
        FO_START_BOARD - A new board (round) has been started.&lt;br /&gt;
        FO_STARTFACELOAD - A face on the tray has begun to load.&lt;br /&gt;
        FO_FACELOADED - A face on the tray has finished loading.&lt;br /&gt;
        FO_FACEDRAG - The user has begun to drag a face from the tray.&lt;br /&gt;
        FO_BOARDFILL- The user has dropped a face from the tray onto an empty board cell.&lt;br /&gt;
        FO_BOARDUNDO - A filled cell on the board was clicked, sending the face back to the tray and emptying the filled cell.&lt;br /&gt;
        FO_CORRECT_GROUP - A group was determined correct during validation.&lt;br /&gt;
        FO_INCORRECT_GROUP - A group was determined incorrect during validation.&lt;br /&gt;
        FO_END - The user has finished the game and exited.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MenuEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_Enter - User has pressed the Enter key.&lt;br /&gt;
        FO_MENU_INPUT_MouseClick - User has clicked the left mouse button.&lt;br /&gt;
        FO_MENU_INPUT_Left - User has pressed the Left key.&lt;br /&gt;
        FO_MENU_INPUT_Right - User has pressed the Right key.&lt;br /&gt;
        FO_END_QUIT - User has exited Face Off via main menu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GameEvent&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
        FO_MENU_INPUT_MouseClicked - User has clicked the left mouse button.&lt;br /&gt;
        FO_INPUT_SubmitPressed - User has clicked the submit button.&lt;br /&gt;
        FO_INPUT_MouseReleased - User has released the left mouse button.&lt;br /&gt;
&lt;br /&gt;
===How to substitute new face stimuli===&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=604</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=604"/>
				<updated>2010-04-13T16:33:18Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Events==&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Functional_specifications&amp;diff=603</id>
		<title>Functional specifications</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Functional_specifications&amp;diff=603"/>
				<updated>2010-04-13T16:32:35Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to this game&amp;#039;s functional spec table of contents.  There are two major parts: the colony simulator and the minigames.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Important Neuroscientific Considerations in Game Design for Autism]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Colony Simulator&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Colony Mode]]&lt;br /&gt;
&lt;br /&gt;
[[Factions]]&lt;br /&gt;
&lt;br /&gt;
[[Structures]]&lt;br /&gt;
&lt;br /&gt;
[[Consumables]]&lt;br /&gt;
&lt;br /&gt;
[[Tasks]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Minigames&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Meteor Madness]] / Maritime Defender&lt;br /&gt;
&lt;br /&gt;
[[Star Jack]] / Starjack&lt;br /&gt;
&lt;br /&gt;
[[Stellar Prospector]]&lt;br /&gt;
&lt;br /&gt;
[[Face Off]]&lt;br /&gt;
&lt;br /&gt;
[[Factory Frenzy]] (Deprecated)&lt;br /&gt;
&lt;br /&gt;
[[Mini Game Rewards]]&lt;br /&gt;
&lt;br /&gt;
[[Mini Game Scenarios]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=602</id>
		<title>Face Off</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Face_Off&amp;diff=602"/>
				<updated>2010-04-13T16:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: New page: ==Events==&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Events==&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=601</id>
		<title>Code How To&#039;s</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=601"/>
				<updated>2009-12-09T02:25:58Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Load a Texture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides tutorials for some of the most common actions a programmer may wish to implement. It may helpful to read the [[Code Overview]] first.&lt;br /&gt;
&lt;br /&gt;
==Submit a Bug or Other Issue==&lt;br /&gt;
&lt;br /&gt;
* Go to http://www.AutismCollaborative.org/bugs/&lt;br /&gt;
* Fill out the fields that apply to this issue&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Type of Bug:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Functional Problem&lt;br /&gt;
** Any actual &amp;quot;Bug&amp;quot;&lt;br /&gt;
* Suggestion&lt;br /&gt;
** A possible change to the game that may improve it&lt;br /&gt;
* New Feature&lt;br /&gt;
** Something that &amp;#039;&amp;#039;&amp;#039;absolutely must&amp;#039;&amp;#039;&amp;#039; be implemented&lt;br /&gt;
** Use sparingly; make sure it&amp;#039;s not actually a Suggestion&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Severity:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How much this issue affects the game/application&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Priority:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How soon the issue should be resolved (relative to other issues)&lt;br /&gt;
* The majority of issues should be Low priority&lt;br /&gt;
* Use High sparingly&lt;br /&gt;
&lt;br /&gt;
==Coding Conventions==&lt;br /&gt;
&lt;br /&gt;
* Place the name of the file, authors, and copyright info at the top of each file&lt;br /&gt;
** Any person who makes significant changes to a file should add their name to the list of authors in a file&lt;br /&gt;
*** This helps anyone reading the code because they know who to ask if they have a question about something&lt;br /&gt;
* All private and protected class member variables are lowerCamelCase&lt;br /&gt;
* Private/protected class member variables are preceded with &amp;quot;m&amp;quot; (ie mLocalVariable)&lt;br /&gt;
* All functions, properties (sometimes called &amp;quot;smart fields&amp;quot;), and public class variables are UpperCamelCase&lt;br /&gt;
* Public variables should only be used with small classes that are used by only one or two other classes&lt;br /&gt;
* This code is intended to be viewed by many people who do not have strong programming backgrounds, therefore documentation is &amp;#039;&amp;#039;&amp;#039;very&amp;#039;&amp;#039;&amp;#039; important&lt;br /&gt;
** Document the purpose of each class&amp;#039;s member variables, either next to their declarations or as a summary for their property accessor&lt;br /&gt;
** Create a summary documentation block for every function unless it is extremely obvious&lt;br /&gt;
*** This can be done by placing the cursor above a function definition and typing &amp;quot;///&amp;quot;&lt;br /&gt;
*** This block shows up in Intellisense when writing that function in code&lt;br /&gt;
** Add a summary to any properties that are possibly confusing or not straightforward &lt;br /&gt;
** Document every step of each algorithm (except for very obvious function calls like ResetSettings();)&lt;br /&gt;
*** Someone should be able to read only the comments in a function and still understand what it does&lt;br /&gt;
** See MeteorMadness.cs for an example of the appropriate level of documentation&lt;br /&gt;
* See the Load a Texture section for naming conventions of texture assets&lt;br /&gt;
&lt;br /&gt;
==Create a New Minigame==&lt;br /&gt;
&lt;br /&gt;
For a step by step tutorial with code examples, see [[How_to_Make_a_Mini-Game]]&lt;br /&gt;
&lt;br /&gt;
* Declare the class&lt;br /&gt;
** Create a new folder under ColonySimulator&lt;br /&gt;
** Create a new file in that folder named NewMinigame.cs where NewMiniame is the name of the new minigame&lt;br /&gt;
** Place all new minigame-specific classes in that folder&lt;br /&gt;
** Have the class derive from GameScreen&lt;br /&gt;
* Implement the Constructor&lt;br /&gt;
** Initialize game variables&lt;br /&gt;
** Declare a ScoreCard (see Scoring tutorial)&lt;br /&gt;
** Log the GameBegin code (see the Logging tutorial)&lt;br /&gt;
* Implement Update()&lt;br /&gt;
** Do not assume a constant call rate&lt;br /&gt;
*** This function will almost always be called 60 times per second, but that rate may vary depending on CPU load&lt;br /&gt;
*** At the beginning of each cycle, get the time since the last cycle like this:&lt;br /&gt;
**** float dt = gameTime.ElapsedGameTime;&lt;br /&gt;
*** Build the time into all movement and timers, for example:&lt;br /&gt;
 myEntity.LifeSpan -= dt;&lt;br /&gt;
 myEntity.Position += myEntity.Velocity * dt;&lt;br /&gt;
* Implement Draw()&lt;br /&gt;
** Be sure to call each entity&amp;#039;s Draw and Update methods. Optional: Register all entities with the XNA game object.&lt;br /&gt;
This will have XNA automatically call their Draw and Update functions at appropriate times.&lt;br /&gt;
** Consider using a generalized render-queue such as GenericWorldSpace &amp;#039;&amp;#039;&amp;#039;(not yet implemented as of October 2007)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Use the Raise function to place the minigame gamescreen on the stack based game system.&lt;br /&gt;
* End the mini-game using Done function. This will pop the mini-game off the game stack, returning the game to the previous state.&lt;br /&gt;
** Flush the particle system (see the particles tutorial) if any emitters were created&lt;br /&gt;
** Log the GameEndSuccess/GameEndFailure code&lt;br /&gt;
** Show the score&lt;br /&gt;
&lt;br /&gt;
==Use Images==&lt;br /&gt;
&lt;br /&gt;
XNA supports most common types of images, including JPEG, GIF, DDS, etc.&lt;br /&gt;
&lt;br /&gt;
===Load a Texture===&lt;br /&gt;
&lt;br /&gt;
Before you can load a texture in code, though, you must add it to the content pipeline:&lt;br /&gt;
&lt;br /&gt;
* Import the content into the project&lt;br /&gt;
** Browse to the appropriate folder in Visual Studio&amp;#039;s Solution Explorer&lt;br /&gt;
*** For example, Content\MiniGames\MyImage.png&lt;br /&gt;
** Right-click on that folder and select Add-&amp;gt;Existing Item&lt;br /&gt;
** Select the image to import&lt;br /&gt;
* In the properties window, change the newly added texture&amp;#039;s ContentProcessor to TextureSizeProcessor.&lt;br /&gt;
** (This makes sure your texture does not exceed the maximum dimensions for supported graphics cards)&lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you can load it memory using the XNA content manager:&lt;br /&gt;
&lt;br /&gt;
 Texture2D myTexture = Content.Load(@&amp;quot;General\myTexture&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The XNA content manager defaults to the content folder of the project, so all addresses can be relative from there.  Also, the name of the image should be the same as the asset name. This can be set in the properties window.&lt;br /&gt;
&lt;br /&gt;
===Display a Static Image===&lt;br /&gt;
&lt;br /&gt;
Before manually drawing something to screen consider using some type of game object, be it an Entity, HUD element, or even a Ticker (see the tutorials below). Game objects all know how to draw themselves, so it is unlikely that a minigame will need to draw something directly to the screen. Should the need arise, however, here&amp;#039;s how it&amp;#039;s done:&lt;br /&gt;
&lt;br /&gt;
* Load it in code:&lt;br /&gt;
 GraphicsDeviceManager gdm = ...;    // This is declared in GenericGameManager.cs&lt;br /&gt;
 ConentManager cm = ...;             // Usually a parameter, as in Update(ContentManager content)&lt;br /&gt;
 SpriteBatch sb = new SpriteBatch(gdm.GraphicsDevice);                     // Basically a wrapper for a DirectX render target&lt;br /&gt;
 Texture2D texture = TextureManager.Load(@&amp;quot;Content\General\myTexture&amp;quot;);&lt;br /&gt;
 Rectangle destination = ...;        // Display destination&lt;br /&gt;
 Color tint = Color.White;           // Tint the image with this color&lt;br /&gt;
 float rotation = 0f;                // Rotation (in radians)&lt;br /&gt;
 Vector2 center = new Vector2(texture.Width / 2f, texture.Height / 2f);         // Origin of rotation&lt;br /&gt;
 float zDepth = 1f;                  // Order to draw sprites within this spritebatch&lt;br /&gt;
 &lt;br /&gt;
 sb.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState);&lt;br /&gt;
 &lt;br /&gt;
 sb.Draw(&lt;br /&gt;
   texture,&lt;br /&gt;
   destination ,&lt;br /&gt;
   null,               // What part of the source image to sample from--null tells it to use the whole image&lt;br /&gt;
   tint ,&lt;br /&gt;
   rotation,&lt;br /&gt;
   center,&lt;br /&gt;
   SpriteEffects.None, // How to mirror the image&lt;br /&gt;
   zDepth &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
===Display an Animation===&lt;br /&gt;
&lt;br /&gt;
Animations are created using the AnimatedSprite class. Here&amp;#039;s an example:&lt;br /&gt;
&lt;br /&gt;
 //Declare Animated Sprite&lt;br /&gt;
 //Parameters: Game object, SpriteSheet as a Texture2D object, Position as Vector2, FrameSize as Vector2, Number of Frames&lt;br /&gt;
 AnimatedSprite testAnimation = new AnimatedSprite(this, Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;TestSpriteSheet&amp;quot;), new Vector2(200, 300), new Vector2(64, 64), 16);&lt;br /&gt;
 //Pass a reference to the SpriteBatch that the AnimatedSprite will use&lt;br /&gt;
 testAnimation.SpriteBatch = spriteBatch;&lt;br /&gt;
 //Turn on the Animation&lt;br /&gt;
 testAnimation.Animate(true);&lt;br /&gt;
 //Turn off the Animation&lt;br /&gt;
 testAnimation.Animate(false);&lt;br /&gt;
&lt;br /&gt;
*Do not forget to call the draw and update methods of the AnimatedSprite explicitly, or to add them to the XNA game.components array so as to allow XNA to call them.&lt;br /&gt;
&lt;br /&gt;
==Create a New Type of Game Object==&lt;br /&gt;
&lt;br /&gt;
All specific game objects (players, enemies, collectibles, projectiles, etc.) should derive from Entity. This gives them easy ways to draw themselves, move, collide with other entities, and be passed to many tAC_Engine functions.&lt;br /&gt;
&lt;br /&gt;
==Get User Input==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT&amp;#039;&amp;#039;&amp;#039; use the standard XNA keyboard accessors (Xna.Framework.Input.Keyboard) or mouse accessors (Xna.Framework.Input.Mouse) because tAC_Engine does a lot of caching and logging behind the scenes. Use the InputHandler instead.&lt;br /&gt;
&lt;br /&gt;
===Keyboard Example===&lt;br /&gt;
&lt;br /&gt;
 // Bind the &amp;#039;A&amp;#039; Key to the event &amp;#039;PressedA&amp;#039;&lt;br /&gt;
 mInputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)EventCodes.PressedA);&lt;br /&gt;
 ...&lt;br /&gt;
 InputEvent inputEvent = mInputHandler.GetNextEvent();&lt;br /&gt;
 if (inputEvent.EventCode == (int)EventCodes.PressedA)&lt;br /&gt;
 {&lt;br /&gt;
   // The A key was pressed&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Loading Keybinds from a file===&lt;br /&gt;
&lt;br /&gt;
 // Load Bindings from &amp;#039;keybindings.dat&amp;#039;&lt;br /&gt;
 mInputHandler.LoadBindings(typeof(EventCodes), RootDirectory + @&amp;quot;\keybindings.dat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The Bindings file is a plain text, human-editable file that takes the following form:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Event Name&amp;quot; (tab*) &amp;quot;Key Name&amp;quot; (tab*) (flags*)&lt;br /&gt;
&lt;br /&gt;
====Keybinding Examples====&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Manage a Heads Up Display==&lt;br /&gt;
&lt;br /&gt;
Use the HUD class for any HUD element (like health bars, menu buttons, etc.). Typically, you&amp;#039;ll want to create a class that inherits from Widget2D. See MeteorWidgets.cs for examples.&lt;br /&gt;
&lt;br /&gt;
==Display Text or Icons with the Ticker==&lt;br /&gt;
&lt;br /&gt;
 string text = &amp;quot;w00t.&amp;quot;;                      // Text to display (can be &amp;quot;&amp;quot;)&lt;br /&gt;
 Texture2D image = null;                     // Can also be set to an image&lt;br /&gt;
 Vector2 imageSize = new Vector2(25f, 25f);  // Size of the (optional) icon&lt;br /&gt;
 Vector2 offset = new Vector2(700f, 50f);    // This will display the ticker 700 pixels to the right of the screen&amp;#039;s &lt;br /&gt;
                                             //   center and 50 pixels below the screen&amp;#039;s center&lt;br /&gt;
 Vector2 velocity = new Vector2 (-10f, 0f);  // Move left 10 pixels per second&lt;br /&gt;
 Ticker.Font font = Ticker.Font.Standard;    // Regular text&lt;br /&gt;
 Color color = Color.DeepPink;               // The manliest of colors&lt;br /&gt;
 float opacity = .5f;                        // 50% transparent&lt;br /&gt;
 float seconds = 5f;                         // Disappear after 5 seconds&lt;br /&gt;
 bool fade = true;                           // Fade in and fade out&lt;br /&gt;
 &lt;br /&gt;
 Ticker.Display(text, image, imageSize, offset, velocity, font, color, opacity, seconds, fade);&lt;br /&gt;
&lt;br /&gt;
==Display Text==&lt;br /&gt;
&lt;br /&gt;
First you must import the desired font:&lt;br /&gt;
&lt;br /&gt;
* Create an xml spritefont file for the new font called FontName.spritefont and set the desired values.&lt;br /&gt;
&lt;br /&gt;
Now for the code:&lt;br /&gt;
&lt;br /&gt;
 ContentManager cm = ...;&lt;br /&gt;
 SpriteBatch sb = ...;&lt;br /&gt;
 SpriteFont = cm.Load&amp;lt;SpriteFont&amp;gt;(@&amp;quot;FontName&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 sb.Begin();&lt;br /&gt;
 sb.DrawString(SpriteFont, &amp;quot;Some Text!&amp;quot;, new Vector2(10.0F, 10.0F), Color.Azure);&lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
==Use Sound==&lt;br /&gt;
&lt;br /&gt;
===Import a new Audio File===&lt;br /&gt;
&lt;br /&gt;
** Run the XACT tool from Microsoft DirectX SDK&lt;br /&gt;
** If--after following the steps in this tutorial--playing a file in code throws an exception about using the wrong version of XACT, try using Xact.exe from a different SDK build&lt;br /&gt;
* Open AudioProject.xap file for the Minigame to which you wish to add a sound.&lt;br /&gt;
* Expand Wave Banks and double-click Wave Bank in the panel on the left&lt;br /&gt;
* Expand Sound Banks and double-click Sound Bank in the panel on the left&lt;br /&gt;
* Go to Wave Banks-&amp;gt;Insert Wave File(s)...&lt;br /&gt;
* Select the file to import i.e.&amp;quot;@/MiniGame/Content/Audio/MySound.wav&amp;quot; and click OK.&lt;br /&gt;
* Drag the newly-added file to the Cue Name section in the Sound Bank:Sound Bank window&lt;br /&gt;
* Assign the audio file to be either a Music or Effect sound &lt;br /&gt;
* Go to File-&amp;gt;Build&lt;br /&gt;
* Save and close XACT&lt;br /&gt;
* Open game.sln with Visual Studio&lt;br /&gt;
* Browse to the Content\Sounds folder in the Solution Explorer&lt;br /&gt;
* Right-click the Sounds folder and select Add-&amp;gt;Existing Item...&lt;br /&gt;
* Select &amp;quot;MySound.wav&amp;quot; and click OK&lt;br /&gt;
&lt;br /&gt;
=== Load an Audio Project ===&lt;br /&gt;
This needs to be done before you play any sound or effect.&lt;br /&gt;
SoundManager.LoadAudioProject(&amp;quot;AudioProject.xgs&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===Play an Effect===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayEffect(&amp;quot;Pew&amp;quot;); // No file extension&lt;br /&gt;
&lt;br /&gt;
===Play Music ===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayMusic(&amp;quot;MyMusic&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==Use the Particle Engine==&lt;br /&gt;
&lt;br /&gt;
Particles are handled by the TACParticleEngine, a separate library that uses the AC_GraphicsEngine that has been modified to better fit the needs of the Autism Game. Features are added to it on an as-needed basis so if a new feature needs to be added and any problems arise in its integration into the current particle engine contact Brian Murphy.&lt;br /&gt;
&lt;br /&gt;
Quick layout of TACParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 The ParticleManager contains references to all loaded ParticleEngines.&lt;br /&gt;
 ParticleEngines contain a series of Emitters.&lt;br /&gt;
 Emitters contain a heap of Particles, which are the objects that actually get drawn.&lt;br /&gt;
&lt;br /&gt;
Make sure to include these packages so that we can create and access our particle engine objects:&lt;br /&gt;
&lt;br /&gt;
 using TACParticleEngine;&lt;br /&gt;
 using TACParticleEngine.Particles;&lt;br /&gt;
 &lt;br /&gt;
Inside the class declaration make these global variables:&lt;br /&gt;
 &lt;br /&gt;
 ParticleManager mParticleManager;&lt;br /&gt;
 ParticleEngine mTestEffect;&lt;br /&gt;
&lt;br /&gt;
Since the TACParticleEngine makes use of the Camera class from the AC_GraphicsEngine, we will need to create and initialize an instance of the Camera class if we are to render our particles, so let&amp;#039;s get our camera set before we initialize the ParticleManager.&lt;br /&gt;
&lt;br /&gt;
Add the following line to the list of global variables at the beginning of the class:&lt;br /&gt;
&lt;br /&gt;
 Camera mActiveCamera;&lt;br /&gt;
&lt;br /&gt;
This will be whatever kind of camera we are currently using for drawing.  (We may want other cameras, too, for whatever reason.)&lt;br /&gt;
&lt;br /&gt;
Next we need to initialize the camera to any specific type of camera that derives from class Camera. At the time of this writing (January 2009) these types are limited to FollowCamera, OrthographicCamera, PerspectiveCamera2D, and PerspectiveCamera3D. For now we&amp;#039;ll use a PerspectiveCamera3D as our active camera.&lt;br /&gt;
&lt;br /&gt;
 mActiveCamera = new Perspective3DCamera(new Vector3(0, 0, -5), Vector3.Zero, Vector3.Up, MathHelper.Pi/5, 1, 1, 100);&lt;br /&gt;
&lt;br /&gt;
If we ever need to change the camera, be certain to update the active camera for the particle manager by calling &lt;br /&gt;
 mParticleManager.SetActiveCamera(newActiveCamera); &lt;br /&gt;
where newActiveCamera is the camera that has just been changed to.&lt;br /&gt;
&lt;br /&gt;
Now that we have a camera, make sure to initialize the particle manager (and optionally, some particle effects) in the class&amp;#039;s initialize method:&lt;br /&gt;
&lt;br /&gt;
 mParticleManager = new ParticleManager(Game, mActiveCamera); // Initialize the particle manager object with a reference to the current &lt;br /&gt;
                                                              // game and to the current active camera&lt;br /&gt;
 mTestEffect = mParticleManager.Load(&amp;quot;ParticleEffects/Explosion&amp;quot;); // Load in the given particle effect file by giving the&lt;br /&gt;
                                                                   // location at which it is compiled&lt;br /&gt;
&lt;br /&gt;
Once this has been done, you&amp;#039;ll have an effect loaded into the Particle Engine object &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; via the Particle Manager. However the Particle Engine isn&amp;#039;t worth much if it&amp;#039;s never called on to do anything, so let&amp;#039;s set up the rest of the code that&amp;#039;s needed for updating and drawing:&lt;br /&gt;
&lt;br /&gt;
To accomplish this, all we need to do is add the particle manager to the Game&amp;#039;s list of components. This is done as follows:&lt;br /&gt;
&lt;br /&gt;
 AddComponent(mParticleManager);&lt;br /&gt;
&lt;br /&gt;
Aside from this we need to set the draw order of the effects, at least generally by calling&lt;br /&gt;
&lt;br /&gt;
 mParticleManager.DrawOrder = DrawOrder; // The second DrawOrder being whatever draw order is desired&lt;br /&gt;
&lt;br /&gt;
This will draw and update any particles that have been loaded by the Particle Manager and have been set active.  However, the particle engine that we just created hasn&amp;#039;t yet been set active, so do that now.&lt;br /&gt;
&lt;br /&gt;
This is done by calling the following line whenever you would want drawing of that Particle Engine to occur.&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(true);&lt;br /&gt;
&lt;br /&gt;
The particle engine instance &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; is now active.  If it were already active, its lifetime would have been reset to 0.  (The lifetime of a particle engine starts at zero and increases until its maximum lifetime is reached, in which case the particle engine &amp;quot;dies&amp;quot; and becomes inactive.)&lt;br /&gt;
&lt;br /&gt;
This same method can be used to stop the particle engine from creating any more particles, by supplying &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; as its parameter instead:&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false);&lt;br /&gt;
&lt;br /&gt;
A series of methods allow us to modify the drawing of the ParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 SetSplineScale(float scale) // Given a float, scales the spline around the origin by the given amount every 1/10 of a second. Note that this only&lt;br /&gt;
                             // applies for all spline emitters in the engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePositions(Vector3[] Positions) // Given an array of 3D vectors, we can change the shape of all spline emitters in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePosition(Vector3 Position) // Given a 3D vector, we can move the whole particle engine to the desired position.&lt;br /&gt;
&lt;br /&gt;
 SetEngineColor(Vector4 Color) // Given a 4D vector of float values 0-1 in the form of RGBA, we can change the coloring of the whole particle engine&lt;br /&gt;
                               // Keep in mind that this applies that much of the emitters&amp;#039; texture for each value, so a black picture with 1,0,0,1 as&lt;br /&gt;
                               // its value will not be red but still black.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSize(Vector2 Size) // Given a 2D vector, we can modify the dimensions of the particle image, this is always 2D since particles in 3D are &lt;br /&gt;
                             // simply billboard sprites.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSpeed(float Speed) // Given a float, changes the speed at which particles initially move at.&lt;br /&gt;
&lt;br /&gt;
 SetEngineDirection(Vector3 Direction) // Given a 3D vector, changes the direction in which particles move at. This does not apply to point emitters.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticlesPerSec(float NumPerSec) // Given a float, sets the number of particles created in a second. Note that this value times particle&lt;br /&gt;
                                           // lifetime should not exceed the amount of particles in order to insure consistent effects.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticleLifetime(float Lifetime) // Given a float, sets how long a particle lives for in seconds. Note that this should never be changed&lt;br /&gt;
                                           // while an effect is active, otherwise inconsistencies in the effect will most likely occur.&lt;br /&gt;
&lt;br /&gt;
 SetRandomDirection(bool Random) // Given a boolean, sets whether or not to make particles move in a random direction.&lt;br /&gt;
&lt;br /&gt;
Also, if needed you can change the draw order of each engine individually by calling&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.DrawOrder = DrawOrder; // The second DrawOrder is whatever draw order desired&lt;br /&gt;
&lt;br /&gt;
Whenever a game object that uses a particle effect is being disposed, make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false); // Making sure to set the effect to no longer being active&lt;br /&gt;
&lt;br /&gt;
on any effect with infinite life span and make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.ToDestroy = true; // Making sure to set the effect to no longer being alive&lt;br /&gt;
&lt;br /&gt;
so that the particle manager knows that it can clean up the effect.&lt;br /&gt;
&lt;br /&gt;
===Create a New Particle Effect===&lt;br /&gt;
&lt;br /&gt;
To create a new particle effect, start the TACParticleEditor program.  This program presents two windows, one containing a Windows form displaying information about the current particle effect, and the other displaying the particle effect.&lt;br /&gt;
&lt;br /&gt;
There are four main areas of the particle editor form:&lt;br /&gt;
&lt;br /&gt;
 List of emitters - The list of all the emitters in the particle effect.&lt;br /&gt;
&lt;br /&gt;
 Emitter type - Contains all the different types of emitters that exist in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 Row of buttons - Each having a functionality expected from their name:&lt;br /&gt;
 &lt;br /&gt;
  Add - Adds an emitter of the chosen type from the list of emitter types to the particle effect&amp;#039;s emitter list.&lt;br /&gt;
 &lt;br /&gt;
  Remove - Removes the currently selected emitter in the particle effect&amp;#039;s emitter list from the list. &lt;br /&gt;
 &lt;br /&gt;
  Save - Saves the current particle effect to a specified .particle xml file.&lt;br /&gt;
 &lt;br /&gt;
  Load - Loads a particle effect from a selected .particle xml file.&lt;br /&gt;
&lt;br /&gt;
 Emitter Info Grid - Contains all the information that can be modified for whichever emitter in the list of emitters is currently selected.&lt;br /&gt;
&lt;br /&gt;
The modifiable parameters of the emitters are as follows:&lt;br /&gt;
&lt;br /&gt;
 For all emitters:&lt;br /&gt;
 &lt;br /&gt;
  textureName - The file path name of the texture to render the particles with. In order to load texture names correctly, there &lt;br /&gt;
  must exist a texture folder in the current project&amp;#039;s compiled content folder. The default starting directory is the TACParticleEditor. &lt;br /&gt;
  Whenever a new particle effect is loaded, the current directory is switched to that project&amp;#039;s content directory. Anytime a new &lt;br /&gt;
  texture is desired, it must be added manually to the appropriate project.&lt;br /&gt;
 &lt;br /&gt;
  blendEffect - The sprite blend to use when rendering the particles. Can be either None, AlphaBlend, or Additive.&lt;br /&gt;
  The various blend modes work as follows:&lt;br /&gt;
    &lt;br /&gt;
    None - every particle draws exactly as how the texture appears and no alpha values are used. Therefore there will be no transparency.&lt;br /&gt;
    For visual purposes it is highly suggested to not use this mode.&lt;br /&gt;
    &lt;br /&gt;
    AlphaBlend - Averages all of the particles alpha values up to the max value assigned to any particle. This effect is useful in creating&lt;br /&gt;
    effects such as dust, smoke, or gas clouds.&lt;br /&gt;
    &lt;br /&gt;
    Additive - Sums up the colors of all the particles to the maximum value of 1.0 for all values (r,g,b, and a). This effect is useful&lt;br /&gt;
    in creating effects such as fire, lasers, or shields.&lt;br /&gt;
  &lt;br /&gt;
  emitLifetime - The duration of time the emitter continues to emit new particles for in seconds. This can be any duration of time. A negative&lt;br /&gt;
  value denotes that the emitter never dies.&lt;br /&gt;
 &lt;br /&gt;
  particlesPerSec - The amount of particles that are created every second. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleAmount - The total amount of particles that can appear on screen at one time. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleLifetime - The amount of time a particle lives for in seconds. This can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minStartSpeed - The slowest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSpeed - The fastest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minEndSpeed - The slowest possible speed at which a particle can end moving . This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSpeed - The fastest possible speed at which a particle can end moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minStartColor - The minimum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxStartColor - The maximum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minEndColor - The minimum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxEndColor - The maximum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minstartSize - The smallest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSize - The largest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minEndSize - The smallest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSize - The largest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  isActive - Whether or not the emitter is currently spawning/updating/drawing particles. You can quickly activate all emitters &lt;br /&gt;
  of the loaded/created particle effect by hitting enter while having focus on the particle effect visualization window.&lt;br /&gt;
&lt;br /&gt;
 For directional emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  minVel - The minimum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  maxVel - The maximum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
					&lt;br /&gt;
 For point emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
&lt;br /&gt;
 For spline emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The positions at/between which particles will spawn in x,y,z form (aka list of 3-dimensional points). These values can be &lt;br /&gt;
  any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  scale - The amount of scaling that occurs every time the spline emitter is scaled, that is to say, how much all positions &lt;br /&gt;
  close in/expand from the origin (0,0,0) before any position offset is applied essentially creating an explosion or implosion &lt;br /&gt;
  effect. This value can be any nonzero positive number. 1.5 represents 150% current size, 0.5 represents 50% current size, etc.&lt;br /&gt;
 &lt;br /&gt;
  scaleSpeed - How quickly the scaling occurs in seconds. This can be any nonzero positive number. 1 is a scaling occurs once every second,&lt;br /&gt;
  0.5 is a scaling occurs every half second, etc.&lt;br /&gt;
&lt;br /&gt;
 For spray emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  sprayRange - The area in which particles can spawn with the center at the set position in +/-x,+/-y,+/-z form. That is to say a cubic area&lt;br /&gt;
  with dimensions width, height, and depth and its origin at the given position. These values be any nonzero positive number.&lt;br /&gt;
&lt;br /&gt;
====Quick Reference Table====&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Parameter type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Unit type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Range&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;For all emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 textureName         String                   N/A                 Any valid path name works.&lt;br /&gt;
 blendEffect         SpriteBlendMode          N/A                 None, AlphaBlend, or Additive.&lt;br /&gt;
 emitLifetime        floating-point           Seconds             Any value. Negative value denotes emitter never dies.&lt;br /&gt;
 particlesPerSec     integer                  Per Second          Any nonzero positive number.&lt;br /&gt;
 particleAmount      integer                  N/A                 Any nonzero positive number.&lt;br /&gt;
 particleLifetime    floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 minStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 minEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 isActive            boolean                  N/A                 True or False.&lt;br /&gt;
 minVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 maxVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 positions           (x,y,z) vector           Arbitrary           Any number.&lt;br /&gt;
 direction           (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 &amp;#039;&amp;#039;For spline emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 scale               floating-point           % of size           Any nonzero positive number. &amp;lt; 1 denotes decrease, &amp;gt; 1 denotes increase.&lt;br /&gt;
 scaleSpeed          floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 &amp;#039;&amp;#039;For spray emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 sprayRange          (width,height,depth)     Arbitrary           Any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
 *Note that all arbitrary values are based on the current camera space.&lt;br /&gt;
&lt;br /&gt;
==Keep Score and Give Resources to the Simulator Mode==&lt;br /&gt;
&lt;br /&gt;
Use the ScoreCard class to keep track of the score from a minigame. It provides easy ways to add and subtract resources, as well as an easy way to display them and pass them along to the Colony Simulator.&lt;br /&gt;
&lt;br /&gt;
MiniGame has a ColonyScoreCard built into it, accessible by the Score property. Here are some examples of how to use it:&lt;br /&gt;
&lt;br /&gt;
 class MyGame : MiniGame&lt;br /&gt;
 {&lt;br /&gt;
   public override void Update(ContentManager content)&lt;br /&gt;
   {&lt;br /&gt;
     Score.Gather(ColonyResources.Money, 500);    // Get 500 Monies&lt;br /&gt;
     &lt;br /&gt;
     MyGameObject mgo = new MyGameObject();&lt;br /&gt;
     mgo.GiveMyGameCarbon();                      // Get 1 Carbon&lt;br /&gt;
 &lt;br /&gt;
     Score.IncurDamageCost(100);                  // On CashOut, Money = Max (Money - DamageCosts, 0)&lt;br /&gt;
 &lt;br /&gt;
     int HowMuchMoneyIHave = Score.QueryResource(ColonyResources.Money);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   public void DisplayTheScore()&lt;br /&gt;
   {&lt;br /&gt;
     bool playerWonTheMinigame = true;            // Can be set to false if the player lost&lt;br /&gt;
     Score.Display(playerWonTheMinigame );        // Displays a copy of the current score and a message for succses/failure&lt;br /&gt;
     Score.CashOut();                             // Transfers resources from MyGame to the Colony Simulator&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   // ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class MyGameObject : Entity&lt;br /&gt;
 {&lt;br /&gt;
   public void GiveMyGameCarbon()&lt;br /&gt;
   {&lt;br /&gt;
     ColonyBaseApplication.MiniGame.Score.Gather(ColonyResources.Carbon, 1);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
**Note: The code provided here is very subject to change as this section is under development.&lt;br /&gt;
&lt;br /&gt;
==Write to the Experiment Log==&lt;br /&gt;
&lt;br /&gt;
As the game runs, certain actions are recorded and written to a file (My Documents\Autism Collaborative\Users\DefaultUser\LogFiles\ExperimentLog.txt or as specified). In the lab, these codes are also sent through the parallel port to sync the EEG data. Every action that pertains to an experiment must be logged in order to be analyzed.  (That&amp;#039;s the whole point of this game!)&lt;br /&gt;
&lt;br /&gt;
First define the necessary game codes. This is done to ensure consistency across each mini-game.&lt;br /&gt;
&lt;br /&gt;
* Open EventCodes.cs, or wherever you store the enum for your project.&lt;br /&gt;
* Codes in the range 1 - 255 are valid and can be written to the parallel port.&lt;br /&gt;
** The name of the code should be chosen at your convenience, and may be included to make the text log file more readable.&lt;br /&gt;
* Codes may be assigned outside this range, both positive and negative; these codes may be used in the same way, but will be logged only to the text log file and not to the parallel port.&lt;br /&gt;
** Codes in the negative range are considered debugging codes, and can be omitted from the log file by setting the writeDebugEvents property on the logger.&lt;br /&gt;
&lt;br /&gt;
Now those codes are available for logging, thus:&lt;br /&gt;
&lt;br /&gt;
 Logger logger = new Logger(&amp;quot;ExampleLogFile.txt&amp;quot;);&lt;br /&gt;
 logger.LogCode( (int)Minigame.EventCode.WeaponFiredEvent, &amp;quot;WeaponFired&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
It is also possible to tell the logger to log a code every time a specific key is pressed:&lt;br /&gt;
&lt;br /&gt;
 InputHandler inputHandler = new InputHandler(true);&lt;br /&gt;
 inputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)Minigame.Eventcode.PressedAEvent);&lt;br /&gt;
&lt;br /&gt;
As these assigned events are local to each InputHandler object, your mini-game&amp;#039;s event code assignments will not interact with the event code assignments of other mini-games.&lt;br /&gt;
&lt;br /&gt;
Every mini-game should start with its GameBegin and end with its GameEnd[Success/Failure] codes.&lt;br /&gt;
&lt;br /&gt;
It may be helpful to log events for debugging purposes. These codes should have an identifier such as &amp;quot;DEBUG_&amp;quot; and will not be logged unless writeDebugEvents is set to true on the logger. (writeDebugEvents is true by default only when the game is running in Debug mode.) All new DEBUG tags must be explicitly assigned a value less than 0.&lt;br /&gt;
&lt;br /&gt;
===Event Code Summary===&lt;br /&gt;
&lt;br /&gt;
Event Codes may be any integer value.&lt;br /&gt;
* Less than 0 : Debug events, will only be written in Debug Mode.&lt;br /&gt;
* 0 : Null, no event.&lt;br /&gt;
* 1 - 255 : Experimentation event, will be written to the log and the parallel port.&lt;br /&gt;
* Greater then 255 : Cannot be written to the parallel port, will be written to log only.&lt;br /&gt;
&lt;br /&gt;
==Use the Game Script==&lt;br /&gt;
*Note: The LUA scripts are not universally compatible and have been known to crash on some machines. It is highly recommended that C# scripts are used.&lt;br /&gt;
&lt;br /&gt;
The tAC_Engine houses a [[http://www.lua.org/ Lua]] Virtual Machine. This can be used to tweak global parameters at runtime, load them from config files, drive cutscenes, or even save and load levels.&lt;br /&gt;
&lt;br /&gt;
Function callbacks are defined in C# and then invoked from a Lua file or the in-game Debug console. In other words, C# tells Lua &amp;quot;you may use these functions: X,Y,...&amp;quot; and then Lua says &amp;quot;do X, do Y, etc.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here are a couple of ways to leverage this system:&lt;br /&gt;
&lt;br /&gt;
===Make a Cutscene===&lt;br /&gt;
&lt;br /&gt;
* Create a new lua file in the Scripts directory&lt;br /&gt;
** That file can call any registered function callbacks&lt;br /&gt;
* In the Properties window, set Copy to Output Directory to Copy if Newer&lt;br /&gt;
* Call that cutscene with:&lt;br /&gt;
 GenericBaseApplication.GameManager.PlayCutscene(@&amp;quot;Scripts\MyCutscene.lua&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===To Register a Function Callback===&lt;br /&gt;
&lt;br /&gt;
* Create the function in C# (if the function does not already exist)&lt;br /&gt;
** It must be declared public and non-static&lt;br /&gt;
** If the need arises to register a static function, declare an instanced function in GenericLuaHelper or ColonyLuaHelper that simply calls the static function.&lt;br /&gt;
* Register the function with the Lua Virtual Machine&lt;br /&gt;
** Add the special LuaCallback annotation to the function&lt;br /&gt;
* Call the RegisterLuaCallbacks function in the class&amp;#039;s constructor that contains the function.&lt;br /&gt;
* Example:&lt;br /&gt;
 public MyClass()&lt;br /&gt;
 {  // Constructor&lt;br /&gt;
   LuaHelper.RegisterLuaCallbacks(this);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [LuaCallback(&amp;quot;SetMyVariable&amp;quot;)]&lt;br /&gt;
 public int SetMyVariable(int value)&lt;br /&gt;
 {&lt;br /&gt;
   mMyVariable = value;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Tweak Game Parameters===&lt;br /&gt;
&lt;br /&gt;
Exposing a variable to the Lua Virtual Machine allows it to be accessed by a any script (including config files) or changed at runtime in the drop down console (accessible in Debug mode by hitting &amp;quot;~&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Expose a variable with a global setter/getter with a LuaCallback annotation&lt;br /&gt;
** Make sure to call the RegisterLuaCallbacks function in that class&amp;#039;s constructor if the getter/setter is not in the Game Manager&lt;br /&gt;
* Set the default value for the variable in the config file (optional)&lt;br /&gt;
** There are 3 config files for the 3 configurations of the game builds&lt;br /&gt;
*** Debug.conf, for development&lt;br /&gt;
*** StandardRelease.conf, for public releases of the game&lt;br /&gt;
*** LabRelease.conf, for use in the lab&lt;br /&gt;
&lt;br /&gt;
===Create Local Settings===&lt;br /&gt;
&lt;br /&gt;
Programmers may want to change certain properties on their machines without affecting the source-controlled code. They could change the resolution, sound settings, or even have the game bypass the regular startup sequence and launch right into the middle of a MiniGame all with no effect on other developers.&lt;br /&gt;
&lt;br /&gt;
* Create a new file: Autism Collaborative\Game\Game\Scripts\LocalSettings.lua&lt;br /&gt;
** The Visual Studio project already has this file included, but VS won&amp;#039;t be able to edit it until the file is created manually&lt;br /&gt;
* Add Lua commands and save the file&lt;br /&gt;
** Visual Studio can now be used to edit the file&lt;br /&gt;
* The file is run at the end of the Debug.conf script (if it exists)&lt;br /&gt;
** That means that this script is only run in Debug mode&lt;br /&gt;
* do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; add LocalSettings.lua to source control!&lt;br /&gt;
&lt;br /&gt;
===Creating Scripts in C# Code===&lt;br /&gt;
&lt;br /&gt;
Alternatively, scripts can created using C# code rather than Lua. A C# script either be object oriented or imperative. They are able to both take in objects and return values. The CSharpHelper class can be called to run these scripts using its DoSimpleFile method. This will simply run all the code in the script. The value of this is that commonly edited code, such as configuration files, can be saved in a convenient separate location. The methods for CSharpHelper are well documented within the file itself. An example of a basic call to a C# script is as follows:&lt;br /&gt;
&lt;br /&gt;
 CSharpHelper.doSimpleFile(Environment.CurrentDirectory + @&amp;quot;\Configs\DebugConfig.script&amp;quot;, this, &amp;quot;game&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This starts a C# file called &amp;quot;DebugConfig.script&amp;quot; which is located in the Configs directory. The second parameter is a Game object. The object passed in can be of any type. The third parameter is the identifier of the object within the script. In this case the identifier is &amp;quot;game&amp;quot;. This means that inside the script, lines such as:&lt;br /&gt;
&lt;br /&gt;
 game.Update();&lt;br /&gt;
&lt;br /&gt;
will execute the passed-in object&amp;#039;s Update function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish the Installer==&lt;br /&gt;
&lt;br /&gt;
===Create the Installer===&lt;br /&gt;
&lt;br /&gt;
We use InnoSetup to create the installer. Checkout their website (http://www.jrsoftware.org/isinfo.php) if you need to change the script, but simply publishing the game does not require any adjustment to the installer script.&lt;br /&gt;
&lt;br /&gt;
* Install InnoSetup if necessary&lt;br /&gt;
* Compile the game&lt;br /&gt;
** In the second menu bar (immediately below the top menu bar) within Visual Studio, change &amp;quot;Debug&amp;quot; to &amp;quot;Release&amp;quot;.  (In the box to the right, leave the default &amp;quot;Mixed Platforms&amp;quot;.)  &lt;br /&gt;
** Select Build-&amp;gt;Build Solution&lt;br /&gt;
* Compile the installer script&lt;br /&gt;
** Open Autism Collaborative\Game\Installer\Installer.iss with InnoSetup&lt;br /&gt;
** Select Build-&amp;gt;Compile&lt;br /&gt;
*** This creates the file Autism Collaborative\Game\Game\Output\AstropolisSetupLite.exe&lt;br /&gt;
*** When the compilation is finished, it will ask if you want to test the installer. It is recommended to test it, but not required.&lt;br /&gt;
* Repeat the last step with InstallerFull.iss if desired, this will generate AstropolisSetup.exe, which contains the full offline installers for the dependencies. This is necessary for the lab computers which may not have internet access.&lt;br /&gt;
&lt;br /&gt;
===Upload the Installer to the Web===&lt;br /&gt;
&lt;br /&gt;
* Get a username/password for autismcollaborative.org from Matthew.&lt;br /&gt;
* To transfer the file, use an SSH client such as WinSCP (for a graphical interface) or PuTTY&amp;#039;s PSCP (from the command line)&lt;br /&gt;
** Either download it or run Autism Collaborative\Utilities\WinSCP.exe&lt;br /&gt;
* Log in to AutismCollaborative.org (port 22)&lt;br /&gt;
* Upload AstropolisSetup.exe and AstropolisSetupLite.exe to your home directory (for example /home/zinsser)&lt;br /&gt;
** Do not overwrite the existing installers (/home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe) since that would delete the installer from the web site until the new installer finishes uploading&lt;br /&gt;
* Once the upload is complete, back up the old installers and replace them with the new ones: (you may have to open a terminal first, depending on your SSH client)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe +%Y_%m_%d`_AstropolisSetup.exe;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe +%Y_%m_%d`_AstropolisSetupLite.exe;&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*[1-9].exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*[1-9]Lite.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** If there is a permissions problem, contact Matthew to make certain that your user ID has write and search permission for the autismcollaborative.org/downloads directory.&lt;br /&gt;
&lt;br /&gt;
==Using the Mini Game Score Screens==&lt;br /&gt;
&lt;br /&gt;
The Mini Game Score Screens are implemented in a class within the tAC_Engine. This class is utilized to encapsulate the behavior for the displaying the scores of mini games uniformly to players, while also allowing a uniform means of exiting the mini game. All mini games utilize the 2 screen approach (one for the menu for the game, one for the actual game) on top of tyhe stack. Because of this, the mini game score screen allows the direct exiting of a mini game after it has been played, returning back to the Colony Simulation or previous game screen on the stack, before the mini game was selected.&lt;br /&gt;
&lt;br /&gt;
This is done by clicking the Exit button in the score screen, which performs 3 Done() operations on the stack.&lt;br /&gt;
&lt;br /&gt;
To display scores, the game must create a MiniGameScore screen object and call it to display, as follows:&lt;br /&gt;
&lt;br /&gt;
 MiniGameScoreScreen scoreScreen = new MiniGameScoreScreen();&lt;br /&gt;
 scoreScreen.DisplayScores( Title_Of_Game, Scores );&lt;br /&gt;
&lt;br /&gt;
Where the values are as follows:&lt;br /&gt;
*Title_Of_Game is a string, which is displayed at the top of the score screen.&lt;br /&gt;
*Scores is a Dictionary&amp;lt;string, string&amp;gt; where the first value is the label for the score, and the second value is the string value associated with that score (usually some number written in string form, but it could be textual as well).&lt;br /&gt;
&lt;br /&gt;
==Use the ErrorLog==&lt;br /&gt;
&lt;br /&gt;
When the game encounters an Unhandled Exception (such as when an end user runs into a bug in our code), useful information is dumped to ErrorLog.txt.  The user is encouraged to email that file to us so that we can locate the problem.  Although the ErrorLog will tell us what function the program died in, it cannot tell us specifically which line was the culprit (although ErrorLogs created when the game is running in Visual Studio will tell us exactly which line).&lt;br /&gt;
&lt;br /&gt;
We do, however, have the ability to log any custom information from a mini-game. This ability may prove invaluable in debugging based on end-user error reports.  All that you (the programmer) must do is override the string MiniGame.DebugInfo() function.  When ErrorLog.txt is created, it calls that function on the current MiniGame and appends the returned text to the bottom of the file.&lt;br /&gt;
&lt;br /&gt;
==Testing Procedure==&lt;br /&gt;
&lt;br /&gt;
This is a list of recommended tests to be performed on a regular basis to ensure that the major functionality of the program is intact.&lt;br /&gt;
&lt;br /&gt;
Maritime Defender&lt;br /&gt;
&lt;br /&gt;
*Play through tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Text does not run off screen&lt;br /&gt;
**Dialog boxes wait for the space bar to be pressed before disappearing&lt;br /&gt;
**During the navigation-phase tutorial, input is registered correctly&lt;br /&gt;
&lt;br /&gt;
*Play through main game&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Collision detection is correct&lt;br /&gt;
**Phases are in the correct order&lt;br /&gt;
**Navigation phase looks correct: Dots are the correct size and dot correlation fits PEST data. Look for any slowdown or loss of frames.&lt;br /&gt;
**Boss fight is correct. Boss takes damage and causes the player damage.&lt;br /&gt;
**Player Health is displayed correctly on taking damage.&lt;br /&gt;
&lt;br /&gt;
Colony Simulator&lt;br /&gt;
&lt;br /&gt;
*Check GUI&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Each button is clickable and causes the appropriate event to occur.&lt;br /&gt;
**Make sure that you cannot click through things&lt;br /&gt;
**Select each type of building and make sure the pop-up information is appropriate&lt;br /&gt;
&lt;br /&gt;
*Check building placement&lt;br /&gt;
**Place each type of building&lt;br /&gt;
**Connect a mining building to a factory through a tube&lt;br /&gt;
**Connect a residential building to a factory through a road&lt;br /&gt;
**Once this is done, resources should increase.&lt;br /&gt;
&lt;br /&gt;
**Connect a residential building to a commercial building&lt;br /&gt;
**Once this is done, the player&amp;#039;s money should start increasing&lt;br /&gt;
&lt;br /&gt;
**Check the building log to make sure that the build order is correct&lt;br /&gt;
&lt;br /&gt;
*Check that mini-games can be accessed&lt;br /&gt;
**Attempt to play each mini-game through the colony simulator, executing all of their tests and checkin their appropriate logs&lt;br /&gt;
&lt;br /&gt;
Stellar Prospector&lt;br /&gt;
&lt;br /&gt;
*Play through the tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
*Make sure that event codes are properly logged.&lt;br /&gt;
**Tasks match up with the specified text.&lt;br /&gt;
**Text does not run off the display.&lt;br /&gt;
**Input events still work when the player is prompted for them.&lt;br /&gt;
**Automated events such as energy drain and automatic grab still work.&lt;br /&gt;
**Tutorial returns to the main screen after ending.&lt;br /&gt;
**Make sure all graphical effects work correctly, i.e. tractor beam, explosion, and flickering.&lt;br /&gt;
**Player does not get locked in the game; player remains able to exit through the game menu if ESC is pressed.&lt;br /&gt;
&lt;br /&gt;
*Play through the main game&lt;br /&gt;
Things to note:&lt;br /&gt;
**Make sure event codes are properly logged.&lt;br /&gt;
**Make sure input works correctly&lt;br /&gt;
**Phase changes occur correctly and at the right times.&lt;br /&gt;
**Energy draining and filling works correctly.&lt;br /&gt;
**Pause menu works correctly&lt;br /&gt;
**Game ends once energy bar is filled, and returns to the main menu&lt;br /&gt;
**Make certain that all graphical effects work correctly, i.e tractor beam, explosion, and flickering.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=600</id>
		<title>Code How To&#039;s</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=600"/>
				<updated>2009-11-18T04:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Upload the Installer to the Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides tutorials for some of the most common actions a programmer may wish to implement. It may helpful to read the [[Code Overview]] first.&lt;br /&gt;
&lt;br /&gt;
==Submit a Bug or Other Issue==&lt;br /&gt;
&lt;br /&gt;
* Go to http://www.AutismCollaborative.org/bugs/&lt;br /&gt;
* Fill out the fields that apply to this issue&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Type of Bug:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Functional Problem&lt;br /&gt;
** Any actual &amp;quot;Bug&amp;quot;&lt;br /&gt;
* Suggestion&lt;br /&gt;
** A possible change to the game that may improve it&lt;br /&gt;
* New Feature&lt;br /&gt;
** Something that &amp;#039;&amp;#039;&amp;#039;absolutely must&amp;#039;&amp;#039;&amp;#039; be implemented&lt;br /&gt;
** Use sparingly; make sure it&amp;#039;s not actually a Suggestion&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Severity:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How much this issue affects the game/application&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Priority:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How soon the issue should be resolved (relative to other issues)&lt;br /&gt;
* The majority of issues should be Low priority&lt;br /&gt;
* Use High sparingly&lt;br /&gt;
&lt;br /&gt;
==Coding Conventions==&lt;br /&gt;
&lt;br /&gt;
* Place the name of the file, authors, and copyright info at the top of each file&lt;br /&gt;
** Any person who makes significant changes to a file should add their name to the list of authors in a file&lt;br /&gt;
*** This helps anyone reading the code because they know who to ask if they have a question about something&lt;br /&gt;
* All private and protected class member variables are lowerCamelCase&lt;br /&gt;
* Private/protected class member variables are preceded with &amp;quot;m&amp;quot; (ie mLocalVariable)&lt;br /&gt;
* All functions, properties (sometimes called &amp;quot;smart fields&amp;quot;), and public class variables are UpperCamelCase&lt;br /&gt;
* Public variables should only be used with small classes that are used by only one or two other classes&lt;br /&gt;
* This code is intended to be viewed by many people who do not have strong programming backgrounds, therefore documentation is &amp;#039;&amp;#039;&amp;#039;very&amp;#039;&amp;#039;&amp;#039; important&lt;br /&gt;
** Document the purpose of each class&amp;#039;s member variables, either next to their declarations or as a summary for their property accessor&lt;br /&gt;
** Create a summary documentation block for every function unless it is extremely obvious&lt;br /&gt;
*** This can be done by placing the cursor above a function definition and typing &amp;quot;///&amp;quot;&lt;br /&gt;
*** This block shows up in Intellisense when writing that function in code&lt;br /&gt;
** Add a summary to any properties that are possibly confusing or not straightforward &lt;br /&gt;
** Document every step of each algorithm (except for very obvious function calls like ResetSettings();)&lt;br /&gt;
*** Someone should be able to read only the comments in a function and still understand what it does&lt;br /&gt;
** See MeteorMadness.cs for an example of the appropriate level of documentation&lt;br /&gt;
* See the Load a Texture section for naming conventions of texture assets&lt;br /&gt;
&lt;br /&gt;
==Create a New Minigame==&lt;br /&gt;
&lt;br /&gt;
For a step by step tutorial with code examples, see [[How_to_Make_a_Mini-Game]]&lt;br /&gt;
&lt;br /&gt;
* Declare the class&lt;br /&gt;
** Create a new folder under ColonySimulator&lt;br /&gt;
** Create a new file in that folder named NewMinigame.cs where NewMiniame is the name of the new minigame&lt;br /&gt;
** Place all new minigame-specific classes in that folder&lt;br /&gt;
** Have the class derive from GameScreen&lt;br /&gt;
* Implement the Constructor&lt;br /&gt;
** Initialize game variables&lt;br /&gt;
** Declare a ScoreCard (see Scoring tutorial)&lt;br /&gt;
** Log the GameBegin code (see the Logging tutorial)&lt;br /&gt;
* Implement Update()&lt;br /&gt;
** Do not assume a constant call rate&lt;br /&gt;
*** This function will almost always be called 60 times per second, but that rate may vary depending on CPU load&lt;br /&gt;
*** At the beginning of each cycle, get the time since the last cycle like this:&lt;br /&gt;
**** float dt = gameTime.ElapsedGameTime;&lt;br /&gt;
*** Build the time into all movement and timers, for example:&lt;br /&gt;
 myEntity.LifeSpan -= dt;&lt;br /&gt;
 myEntity.Position += myEntity.Velocity * dt;&lt;br /&gt;
* Implement Draw()&lt;br /&gt;
** Be sure to call each entity&amp;#039;s Draw and Update methods. Optional: Register all entities with the XNA game object.&lt;br /&gt;
This will have XNA automatically call their Draw and Update functions at appropriate times.&lt;br /&gt;
** Consider using a generalized render-queue such as GenericWorldSpace &amp;#039;&amp;#039;&amp;#039;(not yet implemented as of October 2007)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Use the Raise function to place the minigame gamescreen on the stack based game system.&lt;br /&gt;
* End the mini-game using Done function. This will pop the mini-game off the game stack, returning the game to the previous state.&lt;br /&gt;
** Flush the particle system (see the particles tutorial) if any emitters were created&lt;br /&gt;
** Log the GameEndSuccess/GameEndFailure code&lt;br /&gt;
** Show the score&lt;br /&gt;
&lt;br /&gt;
==Use Images==&lt;br /&gt;
&lt;br /&gt;
XNA supports most common types of images, including JPEG, GIF, DDS, etc.&lt;br /&gt;
&lt;br /&gt;
===Load a Texture===&lt;br /&gt;
&lt;br /&gt;
Before you can load a texture in code, though, you must add it to the content pipeline:&lt;br /&gt;
&lt;br /&gt;
* Import the content into the project&lt;br /&gt;
** Browse to the appropriate folder in Visual Studio&amp;#039;s Solution Explorer&lt;br /&gt;
*** For example, Content\MiniGames\MyImage.png&lt;br /&gt;
** Right-click on that folder and select Add-&amp;gt;Existing Item&lt;br /&gt;
** Select the image to import&lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you can load it memory using the XNA content manager:&lt;br /&gt;
&lt;br /&gt;
 Texture2D myTexture = Content.Load(@&amp;quot;General\myTexture&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The XNA content manager defaults to the content folder of the project, so all addresses can be relative from there.  Also, the name of the image should be the same as the asset name. This can be set in the properties window.&lt;br /&gt;
&lt;br /&gt;
===Display a Static Image===&lt;br /&gt;
&lt;br /&gt;
Before manually drawing something to screen consider using some type of game object, be it an Entity, HUD element, or even a Ticker (see the tutorials below). Game objects all know how to draw themselves, so it is unlikely that a minigame will need to draw something directly to the screen. Should the need arise, however, here&amp;#039;s how it&amp;#039;s done:&lt;br /&gt;
&lt;br /&gt;
* Load it in code:&lt;br /&gt;
 GraphicsDeviceManager gdm = ...;    // This is declared in GenericGameManager.cs&lt;br /&gt;
 ConentManager cm = ...;             // Usually a parameter, as in Update(ContentManager content)&lt;br /&gt;
 SpriteBatch sb = new SpriteBatch(gdm.GraphicsDevice);                     // Basically a wrapper for a DirectX render target&lt;br /&gt;
 Texture2D texture = TextureManager.Load(@&amp;quot;Content\General\myTexture&amp;quot;);&lt;br /&gt;
 Rectangle destination = ...;        // Display destination&lt;br /&gt;
 Color tint = Color.White;           // Tint the image with this color&lt;br /&gt;
 float rotation = 0f;                // Rotation (in radians)&lt;br /&gt;
 Vector2 center = new Vector2(texture.Width / 2f, texture.Height / 2f);         // Origin of rotation&lt;br /&gt;
 float zDepth = 1f;                  // Order to draw sprites within this spritebatch&lt;br /&gt;
 &lt;br /&gt;
 sb.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState);&lt;br /&gt;
 &lt;br /&gt;
 sb.Draw(&lt;br /&gt;
   texture,&lt;br /&gt;
   destination ,&lt;br /&gt;
   null,               // What part of the source image to sample from--null tells it to use the whole image&lt;br /&gt;
   tint ,&lt;br /&gt;
   rotation,&lt;br /&gt;
   center,&lt;br /&gt;
   SpriteEffects.None, // How to mirror the image&lt;br /&gt;
   zDepth &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
===Display an Animation===&lt;br /&gt;
&lt;br /&gt;
Animations are created using the AnimatedSprite class. Here&amp;#039;s an example:&lt;br /&gt;
&lt;br /&gt;
 //Declare Animated Sprite&lt;br /&gt;
 //Parameters: Game object, SpriteSheet as a Texture2D object, Position as Vector2, FrameSize as Vector2, Number of Frames&lt;br /&gt;
 AnimatedSprite testAnimation = new AnimatedSprite(this, Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;TestSpriteSheet&amp;quot;), new Vector2(200, 300), new Vector2(64, 64), 16);&lt;br /&gt;
 //Pass a reference to the SpriteBatch that the AnimatedSprite will use&lt;br /&gt;
 testAnimation.SpriteBatch = spriteBatch;&lt;br /&gt;
 //Turn on the Animation&lt;br /&gt;
 testAnimation.Animate(true);&lt;br /&gt;
 //Turn off the Animation&lt;br /&gt;
 testAnimation.Animate(false);&lt;br /&gt;
&lt;br /&gt;
*Do not forget to call the draw and update methods of the AnimatedSprite explicitly, or to add them to the XNA game.components array so as to allow XNA to call them.&lt;br /&gt;
&lt;br /&gt;
==Create a New Type of Game Object==&lt;br /&gt;
&lt;br /&gt;
All specific game objects (players, enemies, collectibles, projectiles, etc.) should derive from Entity. This gives them easy ways to draw themselves, move, collide with other entities, and be passed to many tAC_Engine functions.&lt;br /&gt;
&lt;br /&gt;
==Get User Input==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT&amp;#039;&amp;#039;&amp;#039; use the standard XNA keyboard accessors (Xna.Framework.Input.Keyboard) or mouse accessors (Xna.Framework.Input.Mouse) because tAC_Engine does a lot of caching and logging behind the scenes. Use the InputHandler instead.&lt;br /&gt;
&lt;br /&gt;
===Keyboard Example===&lt;br /&gt;
&lt;br /&gt;
 // Bind the &amp;#039;A&amp;#039; Key to the event &amp;#039;PressedA&amp;#039;&lt;br /&gt;
 mInputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)EventCodes.PressedA);&lt;br /&gt;
 ...&lt;br /&gt;
 InputEvent inputEvent = mInputHandler.GetNextEvent();&lt;br /&gt;
 if (inputEvent.EventCode == (int)EventCodes.PressedA)&lt;br /&gt;
 {&lt;br /&gt;
   // The A key was pressed&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Loading Keybinds from a file===&lt;br /&gt;
&lt;br /&gt;
 // Load Bindings from &amp;#039;keybindings.dat&amp;#039;&lt;br /&gt;
 mInputHandler.LoadBindings(typeof(EventCodes), RootDirectory + @&amp;quot;\keybindings.dat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The Bindings file is a plain text, human-editable file that takes the following form:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Event Name&amp;quot; (tab*) &amp;quot;Key Name&amp;quot; (tab*) (flags*)&lt;br /&gt;
&lt;br /&gt;
====Keybinding Examples====&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Manage a Heads Up Display==&lt;br /&gt;
&lt;br /&gt;
Use the HUD class for any HUD element (like health bars, menu buttons, etc.). Typically, you&amp;#039;ll want to create a class that inherits from Widget2D. See MeteorWidgets.cs for examples.&lt;br /&gt;
&lt;br /&gt;
==Display Text or Icons with the Ticker==&lt;br /&gt;
&lt;br /&gt;
 string text = &amp;quot;w00t.&amp;quot;;                      // Text to display (can be &amp;quot;&amp;quot;)&lt;br /&gt;
 Texture2D image = null;                     // Can also be set to an image&lt;br /&gt;
 Vector2 imageSize = new Vector2(25f, 25f);  // Size of the (optional) icon&lt;br /&gt;
 Vector2 offset = new Vector2(700f, 50f);    // This will display the ticker 700 pixels to the right of the screen&amp;#039;s &lt;br /&gt;
                                             //   center and 50 pixels below the screen&amp;#039;s center&lt;br /&gt;
 Vector2 velocity = new Vector2 (-10f, 0f);  // Move left 10 pixels per second&lt;br /&gt;
 Ticker.Font font = Ticker.Font.Standard;    // Regular text&lt;br /&gt;
 Color color = Color.DeepPink;               // The manliest of colors&lt;br /&gt;
 float opacity = .5f;                        // 50% transparent&lt;br /&gt;
 float seconds = 5f;                         // Disappear after 5 seconds&lt;br /&gt;
 bool fade = true;                           // Fade in and fade out&lt;br /&gt;
 &lt;br /&gt;
 Ticker.Display(text, image, imageSize, offset, velocity, font, color, opacity, seconds, fade);&lt;br /&gt;
&lt;br /&gt;
==Display Text==&lt;br /&gt;
&lt;br /&gt;
First you must import the desired font:&lt;br /&gt;
&lt;br /&gt;
* Create an xml spritefont file for the new font called FontName.spritefont and set the desired values.&lt;br /&gt;
&lt;br /&gt;
Now for the code:&lt;br /&gt;
&lt;br /&gt;
 ContentManager cm = ...;&lt;br /&gt;
 SpriteBatch sb = ...;&lt;br /&gt;
 SpriteFont = cm.Load&amp;lt;SpriteFont&amp;gt;(@&amp;quot;FontName&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 sb.Begin();&lt;br /&gt;
 sb.DrawString(SpriteFont, &amp;quot;Some Text!&amp;quot;, new Vector2(10.0F, 10.0F), Color.Azure);&lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
==Use Sound==&lt;br /&gt;
&lt;br /&gt;
===Import a new Audio File===&lt;br /&gt;
&lt;br /&gt;
** Run the XACT tool from Microsoft DirectX SDK&lt;br /&gt;
** If--after following the steps in this tutorial--playing a file in code throws an exception about using the wrong version of XACT, try using Xact.exe from a different SDK build&lt;br /&gt;
* Open AudioProject.xap file for the Minigame to which you wish to add a sound.&lt;br /&gt;
* Expand Wave Banks and double-click Wave Bank in the panel on the left&lt;br /&gt;
* Expand Sound Banks and double-click Sound Bank in the panel on the left&lt;br /&gt;
* Go to Wave Banks-&amp;gt;Insert Wave File(s)...&lt;br /&gt;
* Select the file to import i.e.&amp;quot;@/MiniGame/Content/Audio/MySound.wav&amp;quot; and click OK.&lt;br /&gt;
* Drag the newly-added file to the Cue Name section in the Sound Bank:Sound Bank window&lt;br /&gt;
* Assign the audio file to be either a Music or Effect sound &lt;br /&gt;
* Go to File-&amp;gt;Build&lt;br /&gt;
* Save and close XACT&lt;br /&gt;
* Open game.sln with Visual Studio&lt;br /&gt;
* Browse to the Content\Sounds folder in the Solution Explorer&lt;br /&gt;
* Right-click the Sounds folder and select Add-&amp;gt;Existing Item...&lt;br /&gt;
* Select &amp;quot;MySound.wav&amp;quot; and click OK&lt;br /&gt;
&lt;br /&gt;
=== Load an Audio Project ===&lt;br /&gt;
This needs to be done before you play any sound or effect.&lt;br /&gt;
SoundManager.LoadAudioProject(&amp;quot;AudioProject.xgs&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===Play an Effect===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayEffect(&amp;quot;Pew&amp;quot;); // No file extension&lt;br /&gt;
&lt;br /&gt;
===Play Music ===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayMusic(&amp;quot;MyMusic&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==Use the Particle Engine==&lt;br /&gt;
&lt;br /&gt;
Particles are handled by the TACParticleEngine, a separate library that uses the AC_GraphicsEngine that has been modified to better fit the needs of the Autism Game. Features are added to it on an as-needed basis so if a new feature needs to be added and any problems arise in its integration into the current particle engine contact Brian Murphy.&lt;br /&gt;
&lt;br /&gt;
Quick layout of TACParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 The ParticleManager contains references to all loaded ParticleEngines.&lt;br /&gt;
 ParticleEngines contain a series of Emitters.&lt;br /&gt;
 Emitters contain a heap of Particles, which are the objects that actually get drawn.&lt;br /&gt;
&lt;br /&gt;
Make sure to include these packages so that we can create and access our particle engine objects:&lt;br /&gt;
&lt;br /&gt;
 using TACParticleEngine;&lt;br /&gt;
 using TACParticleEngine.Particles;&lt;br /&gt;
 &lt;br /&gt;
Inside the class declaration make these global variables:&lt;br /&gt;
 &lt;br /&gt;
 ParticleManager mParticleManager;&lt;br /&gt;
 ParticleEngine mTestEffect;&lt;br /&gt;
&lt;br /&gt;
Since the TACParticleEngine makes use of the Camera class from the AC_GraphicsEngine, we will need to create and initialize an instance of the Camera class if we are to render our particles, so let&amp;#039;s get our camera set before we initialize the ParticleManager.&lt;br /&gt;
&lt;br /&gt;
Add the following line to the list of global variables at the beginning of the class:&lt;br /&gt;
&lt;br /&gt;
 Camera mActiveCamera;&lt;br /&gt;
&lt;br /&gt;
This will be whatever kind of camera we are currently using for drawing.  (We may want other cameras, too, for whatever reason.)&lt;br /&gt;
&lt;br /&gt;
Next we need to initialize the camera to any specific type of camera that derives from class Camera. At the time of this writing (January 2009) these types are limited to FollowCamera, OrthographicCamera, PerspectiveCamera2D, and PerspectiveCamera3D. For now we&amp;#039;ll use a PerspectiveCamera3D as our active camera.&lt;br /&gt;
&lt;br /&gt;
 mActiveCamera = new Perspective3DCamera(new Vector3(0, 0, -5), Vector3.Zero, Vector3.Up, MathHelper.Pi/5, 1, 1, 100);&lt;br /&gt;
&lt;br /&gt;
If we ever need to change the camera, be certain to update the active camera for the particle manager by calling &lt;br /&gt;
 mParticleManager.SetActiveCamera(newActiveCamera); &lt;br /&gt;
where newActiveCamera is the camera that has just been changed to.&lt;br /&gt;
&lt;br /&gt;
Now that we have a camera, make sure to initialize the particle manager (and optionally, some particle effects) in the class&amp;#039;s initialize method:&lt;br /&gt;
&lt;br /&gt;
 mParticleManager = new ParticleManager(Game, mActiveCamera); // Initialize the particle manager object with a reference to the current &lt;br /&gt;
                                                              // game and to the current active camera&lt;br /&gt;
 mTestEffect = mParticleManager.Load(&amp;quot;ParticleEffects/Explosion&amp;quot;); // Load in the given particle effect file by giving the&lt;br /&gt;
                                                                   // location at which it is compiled&lt;br /&gt;
&lt;br /&gt;
Once this has been done, you&amp;#039;ll have an effect loaded into the Particle Engine object &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; via the Particle Manager. However the Particle Engine isn&amp;#039;t worth much if it&amp;#039;s never called on to do anything, so let&amp;#039;s set up the rest of the code that&amp;#039;s needed for updating and drawing:&lt;br /&gt;
&lt;br /&gt;
To accomplish this, all we need to do is add the particle manager to the Game&amp;#039;s list of components. This is done as follows:&lt;br /&gt;
&lt;br /&gt;
 AddComponent(mParticleManager);&lt;br /&gt;
&lt;br /&gt;
Aside from this we need to set the draw order of the effects, at least generally by calling&lt;br /&gt;
&lt;br /&gt;
 mParticleManager.DrawOrder = DrawOrder; // The second DrawOrder being whatever draw order is desired&lt;br /&gt;
&lt;br /&gt;
This will draw and update any particles that have been loaded by the Particle Manager and have been set active.  However, the particle engine that we just created hasn&amp;#039;t yet been set active, so do that now.&lt;br /&gt;
&lt;br /&gt;
This is done by calling the following line whenever you would want drawing of that Particle Engine to occur.&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(true);&lt;br /&gt;
&lt;br /&gt;
The particle engine instance &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; is now active.  If it were already active, its lifetime would have been reset to 0.  (The lifetime of a particle engine starts at zero and increases until its maximum lifetime is reached, in which case the particle engine &amp;quot;dies&amp;quot; and becomes inactive.)&lt;br /&gt;
&lt;br /&gt;
This same method can be used to stop the particle engine from creating any more particles, by supplying &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; as its parameter instead:&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false);&lt;br /&gt;
&lt;br /&gt;
A series of methods allow us to modify the drawing of the ParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 SetSplineScale(float scale) // Given a float, scales the spline around the origin by the given amount every 1/10 of a second. Note that this only&lt;br /&gt;
                             // applies for all spline emitters in the engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePositions(Vector3[] Positions) // Given an array of 3D vectors, we can change the shape of all spline emitters in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePosition(Vector3 Position) // Given a 3D vector, we can move the whole particle engine to the desired position.&lt;br /&gt;
&lt;br /&gt;
 SetEngineColor(Vector4 Color) // Given a 4D vector of float values 0-1 in the form of RGBA, we can change the coloring of the whole particle engine&lt;br /&gt;
                               // Keep in mind that this applies that much of the emitters&amp;#039; texture for each value, so a black picture with 1,0,0,1 as&lt;br /&gt;
                               // its value will not be red but still black.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSize(Vector2 Size) // Given a 2D vector, we can modify the dimensions of the particle image, this is always 2D since particles in 3D are &lt;br /&gt;
                             // simply billboard sprites.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSpeed(float Speed) // Given a float, changes the speed at which particles initially move at.&lt;br /&gt;
&lt;br /&gt;
 SetEngineDirection(Vector3 Direction) // Given a 3D vector, changes the direction in which particles move at. This does not apply to point emitters.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticlesPerSec(float NumPerSec) // Given a float, sets the number of particles created in a second. Note that this value times particle&lt;br /&gt;
                                           // lifetime should not exceed the amount of particles in order to insure consistent effects.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticleLifetime(float Lifetime) // Given a float, sets how long a particle lives for in seconds. Note that this should never be changed&lt;br /&gt;
                                           // while an effect is active, otherwise inconsistencies in the effect will most likely occur.&lt;br /&gt;
&lt;br /&gt;
 SetRandomDirection(bool Random) // Given a boolean, sets whether or not to make particles move in a random direction.&lt;br /&gt;
&lt;br /&gt;
Also, if needed you can change the draw order of each engine individually by calling&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.DrawOrder = DrawOrder; // The second DrawOrder is whatever draw order desired&lt;br /&gt;
&lt;br /&gt;
Whenever a game object that uses a particle effect is being disposed, make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false); // Making sure to set the effect to no longer being active&lt;br /&gt;
&lt;br /&gt;
on any effect with infinite life span and make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.ToDestroy = true; // Making sure to set the effect to no longer being alive&lt;br /&gt;
&lt;br /&gt;
so that the particle manager knows that it can clean up the effect.&lt;br /&gt;
&lt;br /&gt;
===Create a New Particle Effect===&lt;br /&gt;
&lt;br /&gt;
To create a new particle effect, start the TACParticleEditor program.  This program presents two windows, one containing a Windows form displaying information about the current particle effect, and the other displaying the particle effect.&lt;br /&gt;
&lt;br /&gt;
There are four main areas of the particle editor form:&lt;br /&gt;
&lt;br /&gt;
 List of emitters - The list of all the emitters in the particle effect.&lt;br /&gt;
&lt;br /&gt;
 Emitter type - Contains all the different types of emitters that exist in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 Row of buttons - Each having a functionality expected from their name:&lt;br /&gt;
 &lt;br /&gt;
  Add - Adds an emitter of the chosen type from the list of emitter types to the particle effect&amp;#039;s emitter list.&lt;br /&gt;
 &lt;br /&gt;
  Remove - Removes the currently selected emitter in the particle effect&amp;#039;s emitter list from the list. &lt;br /&gt;
 &lt;br /&gt;
  Save - Saves the current particle effect to a specified .particle xml file.&lt;br /&gt;
 &lt;br /&gt;
  Load - Loads a particle effect from a selected .particle xml file.&lt;br /&gt;
&lt;br /&gt;
 Emitter Info Grid - Contains all the information that can be modified for whichever emitter in the list of emitters is currently selected.&lt;br /&gt;
&lt;br /&gt;
The modifiable parameters of the emitters are as follows:&lt;br /&gt;
&lt;br /&gt;
 For all emitters:&lt;br /&gt;
 &lt;br /&gt;
  textureName - The file path name of the texture to render the particles with. In order to load texture names correctly, there &lt;br /&gt;
  must exist a texture folder in the current project&amp;#039;s compiled content folder. The default starting directory is the TACParticleEditor. &lt;br /&gt;
  Whenever a new particle effect is loaded, the current directory is switched to that project&amp;#039;s content directory. Anytime a new &lt;br /&gt;
  texture is desired, it must be added manually to the appropriate project.&lt;br /&gt;
 &lt;br /&gt;
  blendEffect - The sprite blend to use when rendering the particles. Can be either None, AlphaBlend, or Additive.&lt;br /&gt;
  The various blend modes work as follows:&lt;br /&gt;
    &lt;br /&gt;
    None - every particle draws exactly as how the texture appears and no alpha values are used. Therefore there will be no transparency.&lt;br /&gt;
    For visual purposes it is highly suggested to not use this mode.&lt;br /&gt;
    &lt;br /&gt;
    AlphaBlend - Averages all of the particles alpha values up to the max value assigned to any particle. This effect is useful in creating&lt;br /&gt;
    effects such as dust, smoke, or gas clouds.&lt;br /&gt;
    &lt;br /&gt;
    Additive - Sums up the colors of all the particles to the maximum value of 1.0 for all values (r,g,b, and a). This effect is useful&lt;br /&gt;
    in creating effects such as fire, lasers, or shields.&lt;br /&gt;
  &lt;br /&gt;
  emitLifetime - The duration of time the emitter continues to emit new particles for in seconds. This can be any duration of time. A negative&lt;br /&gt;
  value denotes that the emitter never dies.&lt;br /&gt;
 &lt;br /&gt;
  particlesPerSec - The amount of particles that are created every second. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleAmount - The total amount of particles that can appear on screen at one time. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleLifetime - The amount of time a particle lives for in seconds. This can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minStartSpeed - The slowest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSpeed - The fastest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minEndSpeed - The slowest possible speed at which a particle can end moving . This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSpeed - The fastest possible speed at which a particle can end moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minStartColor - The minimum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxStartColor - The maximum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minEndColor - The minimum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxEndColor - The maximum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minstartSize - The smallest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSize - The largest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minEndSize - The smallest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSize - The largest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  isActive - Whether or not the emitter is currently spawning/updating/drawing particles. You can quickly activate all emitters &lt;br /&gt;
  of the loaded/created particle effect by hitting enter while having focus on the particle effect visualization window.&lt;br /&gt;
&lt;br /&gt;
 For directional emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  minVel - The minimum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  maxVel - The maximum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
					&lt;br /&gt;
 For point emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
&lt;br /&gt;
 For spline emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The positions at/between which particles will spawn in x,y,z form (aka list of 3-dimensional points). These values can be &lt;br /&gt;
  any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  scale - The amount of scaling that occurs every time the spline emitter is scaled, that is to say, how much all positions &lt;br /&gt;
  close in/expand from the origin (0,0,0) before any position offset is applied essentially creating an explosion or implosion &lt;br /&gt;
  effect. This value can be any nonzero positive number. 1.5 represents 150% current size, 0.5 represents 50% current size, etc.&lt;br /&gt;
 &lt;br /&gt;
  scaleSpeed - How quickly the scaling occurs in seconds. This can be any nonzero positive number. 1 is a scaling occurs once every second,&lt;br /&gt;
  0.5 is a scaling occurs every half second, etc.&lt;br /&gt;
&lt;br /&gt;
 For spray emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  sprayRange - The area in which particles can spawn with the center at the set position in +/-x,+/-y,+/-z form. That is to say a cubic area&lt;br /&gt;
  with dimensions width, height, and depth and its origin at the given position. These values be any nonzero positive number.&lt;br /&gt;
&lt;br /&gt;
====Quick Reference Table====&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Parameter type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Unit type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Range&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;For all emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 textureName         String                   N/A                 Any valid path name works.&lt;br /&gt;
 blendEffect         SpriteBlendMode          N/A                 None, AlphaBlend, or Additive.&lt;br /&gt;
 emitLifetime        floating-point           Seconds             Any value. Negative value denotes emitter never dies.&lt;br /&gt;
 particlesPerSec     integer                  Per Second          Any nonzero positive number.&lt;br /&gt;
 particleAmount      integer                  N/A                 Any nonzero positive number.&lt;br /&gt;
 particleLifetime    floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 minStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 minEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 isActive            boolean                  N/A                 True or False.&lt;br /&gt;
 minVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 maxVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 positions           (x,y,z) vector           Arbitrary           Any number.&lt;br /&gt;
 direction           (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 &amp;#039;&amp;#039;For spline emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 scale               floating-point           % of size           Any nonzero positive number. &amp;lt; 1 denotes decrease, &amp;gt; 1 denotes increase.&lt;br /&gt;
 scaleSpeed          floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 &amp;#039;&amp;#039;For spray emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 sprayRange          (width,height,depth)     Arbitrary           Any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
 *Note that all arbitrary values are based on the current camera space.&lt;br /&gt;
&lt;br /&gt;
==Keep Score and Give Resources to the Simulator Mode==&lt;br /&gt;
&lt;br /&gt;
Use the ScoreCard class to keep track of the score from a minigame. It provides easy ways to add and subtract resources, as well as an easy way to display them and pass them along to the Colony Simulator.&lt;br /&gt;
&lt;br /&gt;
MiniGame has a ColonyScoreCard built into it, accessible by the Score property. Here are some examples of how to use it:&lt;br /&gt;
&lt;br /&gt;
 class MyGame : MiniGame&lt;br /&gt;
 {&lt;br /&gt;
   public override void Update(ContentManager content)&lt;br /&gt;
   {&lt;br /&gt;
     Score.Gather(ColonyResources.Money, 500);    // Get 500 Monies&lt;br /&gt;
     &lt;br /&gt;
     MyGameObject mgo = new MyGameObject();&lt;br /&gt;
     mgo.GiveMyGameCarbon();                      // Get 1 Carbon&lt;br /&gt;
 &lt;br /&gt;
     Score.IncurDamageCost(100);                  // On CashOut, Money = Max (Money - DamageCosts, 0)&lt;br /&gt;
 &lt;br /&gt;
     int HowMuchMoneyIHave = Score.QueryResource(ColonyResources.Money);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   public void DisplayTheScore()&lt;br /&gt;
   {&lt;br /&gt;
     bool playerWonTheMinigame = true;            // Can be set to false if the player lost&lt;br /&gt;
     Score.Display(playerWonTheMinigame );        // Displays a copy of the current score and a message for succses/failure&lt;br /&gt;
     Score.CashOut();                             // Transfers resources from MyGame to the Colony Simulator&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   // ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class MyGameObject : Entity&lt;br /&gt;
 {&lt;br /&gt;
   public void GiveMyGameCarbon()&lt;br /&gt;
   {&lt;br /&gt;
     ColonyBaseApplication.MiniGame.Score.Gather(ColonyResources.Carbon, 1);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
**Note: The code provided here is very subject to change as this section is under development.&lt;br /&gt;
&lt;br /&gt;
==Write to the Experiment Log==&lt;br /&gt;
&lt;br /&gt;
As the game runs, certain actions are recorded and written to a file (My Documents\Autism Collaborative\Users\DefaultUser\LogFiles\ExperimentLog.txt or as specified). In the lab, these codes are also sent through the parallel port to sync the EEG data. Every action that pertains to an experiment must be logged in order to be analyzed.  (That&amp;#039;s the whole point of this game!)&lt;br /&gt;
&lt;br /&gt;
First define the necessary game codes. This is done to ensure consistency across each mini-game.&lt;br /&gt;
&lt;br /&gt;
* Open EventCodes.cs, or wherever you store the enum for your project.&lt;br /&gt;
* Codes in the range 1 - 255 are valid and can be written to the parallel port.&lt;br /&gt;
** The name of the code should be chosen at your convenience, and may be included to make the text log file more readable.&lt;br /&gt;
* Codes may be assigned outside this range, both positive and negative; these codes may be used in the same way, but will be logged only to the text log file and not to the parallel port.&lt;br /&gt;
** Codes in the negative range are considered debugging codes, and can be omitted from the log file by setting the writeDebugEvents property on the logger.&lt;br /&gt;
&lt;br /&gt;
Now those codes are available for logging, thus:&lt;br /&gt;
&lt;br /&gt;
 Logger logger = new Logger(&amp;quot;ExampleLogFile.txt&amp;quot;);&lt;br /&gt;
 logger.LogCode( (int)Minigame.EventCode.WeaponFiredEvent, &amp;quot;WeaponFired&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
It is also possible to tell the logger to log a code every time a specific key is pressed:&lt;br /&gt;
&lt;br /&gt;
 InputHandler inputHandler = new InputHandler(true);&lt;br /&gt;
 inputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)Minigame.Eventcode.PressedAEvent);&lt;br /&gt;
&lt;br /&gt;
As these assigned events are local to each InputHandler object, your mini-game&amp;#039;s event code assignments will not interact with the event code assignments of other mini-games.&lt;br /&gt;
&lt;br /&gt;
Every mini-game should start with its GameBegin and end with its GameEnd[Success/Failure] codes.&lt;br /&gt;
&lt;br /&gt;
It may be helpful to log events for debugging purposes. These codes should have an identifier such as &amp;quot;DEBUG_&amp;quot; and will not be logged unless writeDebugEvents is set to true on the logger. (writeDebugEvents is true by default only when the game is running in Debug mode.) All new DEBUG tags must be explicitly assigned a value less than 0.&lt;br /&gt;
&lt;br /&gt;
===Event Code Summary===&lt;br /&gt;
&lt;br /&gt;
Event Codes may be any integer value.&lt;br /&gt;
* Less than 0 : Debug events, will only be written in Debug Mode.&lt;br /&gt;
* 0 : Null, no event.&lt;br /&gt;
* 1 - 255 : Experimentation event, will be written to the log and the parallel port.&lt;br /&gt;
* Greater then 255 : Cannot be written to the parallel port, will be written to log only.&lt;br /&gt;
&lt;br /&gt;
==Use the Game Script==&lt;br /&gt;
*Note: The LUA scripts are not universally compatible and have been known to crash on some machines. It is highly recommended that C# scripts are used.&lt;br /&gt;
&lt;br /&gt;
The tAC_Engine houses a [[http://www.lua.org/ Lua]] Virtual Machine. This can be used to tweak global parameters at runtime, load them from config files, drive cutscenes, or even save and load levels.&lt;br /&gt;
&lt;br /&gt;
Function callbacks are defined in C# and then invoked from a Lua file or the in-game Debug console. In other words, C# tells Lua &amp;quot;you may use these functions: X,Y,...&amp;quot; and then Lua says &amp;quot;do X, do Y, etc.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here are a couple of ways to leverage this system:&lt;br /&gt;
&lt;br /&gt;
===Make a Cutscene===&lt;br /&gt;
&lt;br /&gt;
* Create a new lua file in the Scripts directory&lt;br /&gt;
** That file can call any registered function callbacks&lt;br /&gt;
* In the Properties window, set Copy to Output Directory to Copy if Newer&lt;br /&gt;
* Call that cutscene with:&lt;br /&gt;
 GenericBaseApplication.GameManager.PlayCutscene(@&amp;quot;Scripts\MyCutscene.lua&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===To Register a Function Callback===&lt;br /&gt;
&lt;br /&gt;
* Create the function in C# (if the function does not already exist)&lt;br /&gt;
** It must be declared public and non-static&lt;br /&gt;
** If the need arises to register a static function, declare an instanced function in GenericLuaHelper or ColonyLuaHelper that simply calls the static function.&lt;br /&gt;
* Register the function with the Lua Virtual Machine&lt;br /&gt;
** Add the special LuaCallback annotation to the function&lt;br /&gt;
* Call the RegisterLuaCallbacks function in the class&amp;#039;s constructor that contains the function.&lt;br /&gt;
* Example:&lt;br /&gt;
 public MyClass()&lt;br /&gt;
 {  // Constructor&lt;br /&gt;
   LuaHelper.RegisterLuaCallbacks(this);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [LuaCallback(&amp;quot;SetMyVariable&amp;quot;)]&lt;br /&gt;
 public int SetMyVariable(int value)&lt;br /&gt;
 {&lt;br /&gt;
   mMyVariable = value;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Tweak Game Parameters===&lt;br /&gt;
&lt;br /&gt;
Exposing a variable to the Lua Virtual Machine allows it to be accessed by a any script (including config files) or changed at runtime in the drop down console (accessible in Debug mode by hitting &amp;quot;~&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Expose a variable with a global setter/getter with a LuaCallback annotation&lt;br /&gt;
** Make sure to call the RegisterLuaCallbacks function in that class&amp;#039;s constructor if the getter/setter is not in the Game Manager&lt;br /&gt;
* Set the default value for the variable in the config file (optional)&lt;br /&gt;
** There are 3 config files for the 3 configurations of the game builds&lt;br /&gt;
*** Debug.conf, for development&lt;br /&gt;
*** StandardRelease.conf, for public releases of the game&lt;br /&gt;
*** LabRelease.conf, for use in the lab&lt;br /&gt;
&lt;br /&gt;
===Create Local Settings===&lt;br /&gt;
&lt;br /&gt;
Programmers may want to change certain properties on their machines without affecting the source-controlled code. They could change the resolution, sound settings, or even have the game bypass the regular startup sequence and launch right into the middle of a MiniGame all with no effect on other developers.&lt;br /&gt;
&lt;br /&gt;
* Create a new file: Autism Collaborative\Game\Game\Scripts\LocalSettings.lua&lt;br /&gt;
** The Visual Studio project already has this file included, but VS won&amp;#039;t be able to edit it until the file is created manually&lt;br /&gt;
* Add Lua commands and save the file&lt;br /&gt;
** Visual Studio can now be used to edit the file&lt;br /&gt;
* The file is run at the end of the Debug.conf script (if it exists)&lt;br /&gt;
** That means that this script is only run in Debug mode&lt;br /&gt;
* do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; add LocalSettings.lua to source control!&lt;br /&gt;
&lt;br /&gt;
===Creating Scripts in C# Code===&lt;br /&gt;
&lt;br /&gt;
Alternatively, scripts can created using C# code rather than Lua. A C# script either be object oriented or imperative. They are able to both take in objects and return values. The CSharpHelper class can be called to run these scripts using its DoSimpleFile method. This will simply run all the code in the script. The value of this is that commonly edited code, such as configuration files, can be saved in a convenient separate location. The methods for CSharpHelper are well documented within the file itself. An example of a basic call to a C# script is as follows:&lt;br /&gt;
&lt;br /&gt;
 CSharpHelper.doSimpleFile(Environment.CurrentDirectory + @&amp;quot;\Configs\DebugConfig.script&amp;quot;, this, &amp;quot;game&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This starts a C# file called &amp;quot;DebugConfig.script&amp;quot; which is located in the Configs directory. The second parameter is a Game object. The object passed in can be of any type. The third parameter is the identifier of the object within the script. In this case the identifier is &amp;quot;game&amp;quot;. This means that inside the script, lines such as:&lt;br /&gt;
&lt;br /&gt;
 game.Update();&lt;br /&gt;
&lt;br /&gt;
will execute the passed-in object&amp;#039;s Update function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish the Installer==&lt;br /&gt;
&lt;br /&gt;
===Create the Installer===&lt;br /&gt;
&lt;br /&gt;
We use InnoSetup to create the installer. Checkout their website (http://www.jrsoftware.org/isinfo.php) if you need to change the script, but simply publishing the game does not require any adjustment to the installer script.&lt;br /&gt;
&lt;br /&gt;
* Install InnoSetup if necessary&lt;br /&gt;
* Compile the game&lt;br /&gt;
** In the second menu bar (immediately below the top menu bar) within Visual Studio, change &amp;quot;Debug&amp;quot; to &amp;quot;Release&amp;quot;.  (In the box to the right, leave the default &amp;quot;Mixed Platforms&amp;quot;.)  &lt;br /&gt;
** Select Build-&amp;gt;Build Solution&lt;br /&gt;
* Compile the installer script&lt;br /&gt;
** Open Autism Collaborative\Game\Installer\Installer.iss with InnoSetup&lt;br /&gt;
** Select Build-&amp;gt;Compile&lt;br /&gt;
*** This creates the file Autism Collaborative\Game\Game\Output\AstropolisSetupLite.exe&lt;br /&gt;
*** When the compilation is finished, it will ask if you want to test the installer. It is recommended to test it, but not required.&lt;br /&gt;
* Repeat the last step with InstallerFull.iss if desired, this will generate AstropolisSetup.exe, which contains the full offline installers for the dependencies. This is necessary for the lab computers which may not have internet access.&lt;br /&gt;
&lt;br /&gt;
===Upload the Installer to the Web===&lt;br /&gt;
&lt;br /&gt;
* Get a username/password for autismcollaborative.org from Matthew.&lt;br /&gt;
* To transfer the file, use an SSH client such as WinSCP (for a graphical interface) or PuTTY&amp;#039;s PSCP (from the command line)&lt;br /&gt;
** Either download it or run Autism Collaborative\Utilities\WinSCP.exe&lt;br /&gt;
* Log in to AutismCollaborative.org (port 22)&lt;br /&gt;
* Upload AstropolisSetup.exe and AstropolisSetupLite.exe to your home directory (for example /home/zinsser)&lt;br /&gt;
** Do not overwrite the existing installers (/home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe) since that would delete the installer from the web site until the new installer finishes uploading&lt;br /&gt;
* Once the upload is complete, back up the old installers and replace them with the new ones: (you may have to open a terminal first, depending on your SSH client)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe +%Y_%m_%d`_AstropolisSetup.exe;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe +%Y_%m_%d`_AstropolisSetupLite.exe;&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*[1-9].exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*[1-9]Lite.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** If there is a permissions problem, contact Matthew to make certain that your user ID has write and search permission for the autismcollaborative.org/downloads directory.&lt;br /&gt;
&lt;br /&gt;
==Using the Mini Game Score Screens==&lt;br /&gt;
&lt;br /&gt;
The Mini Game Score Screens are implemented in a class within the tAC_Engine. This class is utilized to encapsulate the behavior for the displaying the scores of mini games uniformly to players, while also allowing a uniform means of exiting the mini game. All mini games utilize the 2 screen approach (one for the menu for the game, one for the actual game) on top of tyhe stack. Because of this, the mini game score screen allows the direct exiting of a mini game after it has been played, returning back to the Colony Simulation or previous game screen on the stack, before the mini game was selected.&lt;br /&gt;
&lt;br /&gt;
This is done by clicking the Exit button in the score screen, which performs 3 Done() operations on the stack.&lt;br /&gt;
&lt;br /&gt;
To display scores, the game must create a MiniGameScore screen object and call it to display, as follows:&lt;br /&gt;
&lt;br /&gt;
 MiniGameScoreScreen scoreScreen = new MiniGameScoreScreen();&lt;br /&gt;
 scoreScreen.DisplayScores( Title_Of_Game, Scores );&lt;br /&gt;
&lt;br /&gt;
Where the values are as follows:&lt;br /&gt;
*Title_Of_Game is a string, which is displayed at the top of the score screen.&lt;br /&gt;
*Scores is a Dictionary&amp;lt;string, string&amp;gt; where the first value is the label for the score, and the second value is the string value associated with that score (usually some number written in string form, but it could be textual as well).&lt;br /&gt;
&lt;br /&gt;
==Use the ErrorLog==&lt;br /&gt;
&lt;br /&gt;
When the game encounters an Unhandled Exception (such as when an end user runs into a bug in our code), useful information is dumped to ErrorLog.txt.  The user is encouraged to email that file to us so that we can locate the problem.  Although the ErrorLog will tell us what function the program died in, it cannot tell us specifically which line was the culprit (although ErrorLogs created when the game is running in Visual Studio will tell us exactly which line).&lt;br /&gt;
&lt;br /&gt;
We do, however, have the ability to log any custom information from a mini-game. This ability may prove invaluable in debugging based on end-user error reports.  All that you (the programmer) must do is override the string MiniGame.DebugInfo() function.  When ErrorLog.txt is created, it calls that function on the current MiniGame and appends the returned text to the bottom of the file.&lt;br /&gt;
&lt;br /&gt;
==Testing Procedure==&lt;br /&gt;
&lt;br /&gt;
This is a list of recommended tests to be performed on a regular basis to ensure that the major functionality of the program is intact.&lt;br /&gt;
&lt;br /&gt;
Maritime Defender&lt;br /&gt;
&lt;br /&gt;
*Play through tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Text does not run off screen&lt;br /&gt;
**Dialog boxes wait for the space bar to be pressed before disappearing&lt;br /&gt;
**During the navigation-phase tutorial, input is registered correctly&lt;br /&gt;
&lt;br /&gt;
*Play through main game&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Collision detection is correct&lt;br /&gt;
**Phases are in the correct order&lt;br /&gt;
**Navigation phase looks correct: Dots are the correct size and dot correlation fits PEST data. Look for any slowdown or loss of frames.&lt;br /&gt;
**Boss fight is correct. Boss takes damage and causes the player damage.&lt;br /&gt;
**Player Health is displayed correctly on taking damage.&lt;br /&gt;
&lt;br /&gt;
Colony Simulator&lt;br /&gt;
&lt;br /&gt;
*Check GUI&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Each button is clickable and causes the appropriate event to occur.&lt;br /&gt;
**Make sure that you cannot click through things&lt;br /&gt;
**Select each type of building and make sure the pop-up information is appropriate&lt;br /&gt;
&lt;br /&gt;
*Check building placement&lt;br /&gt;
**Place each type of building&lt;br /&gt;
**Connect a mining building to a factory through a tube&lt;br /&gt;
**Connect a residential building to a factory through a road&lt;br /&gt;
**Once this is done, resources should increase.&lt;br /&gt;
&lt;br /&gt;
**Connect a residential building to a commercial building&lt;br /&gt;
**Once this is done, the player&amp;#039;s money should start increasing&lt;br /&gt;
&lt;br /&gt;
**Check the building log to make sure that the build order is correct&lt;br /&gt;
&lt;br /&gt;
*Check that mini-games can be accessed&lt;br /&gt;
**Attempt to play each mini-game through the colony simulator, executing all of their tests and checkin their appropriate logs&lt;br /&gt;
&lt;br /&gt;
Stellar Prospector&lt;br /&gt;
&lt;br /&gt;
*Play through the tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
*Make sure that event codes are properly logged.&lt;br /&gt;
**Tasks match up with the specified text.&lt;br /&gt;
**Text does not run off the display.&lt;br /&gt;
**Input events still work when the player is prompted for them.&lt;br /&gt;
**Automated events such as energy drain and automatic grab still work.&lt;br /&gt;
**Tutorial returns to the main screen after ending.&lt;br /&gt;
**Make sure all graphical effects work correctly, i.e. tractor beam, explosion, and flickering.&lt;br /&gt;
**Player does not get locked in the game; player remains able to exit through the game menu if ESC is pressed.&lt;br /&gt;
&lt;br /&gt;
*Play through the main game&lt;br /&gt;
Things to note:&lt;br /&gt;
**Make sure event codes are properly logged.&lt;br /&gt;
**Make sure input works correctly&lt;br /&gt;
**Phase changes occur correctly and at the right times.&lt;br /&gt;
**Energy draining and filling works correctly.&lt;br /&gt;
**Pause menu works correctly&lt;br /&gt;
**Game ends once energy bar is filled, and returns to the main menu&lt;br /&gt;
**Make certain that all graphical effects work correctly, i.e tractor beam, explosion, and flickering.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=599</id>
		<title>Code How To&#039;s</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=599"/>
				<updated>2009-11-17T03:02:39Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Upload the Installer to the Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides tutorials for some of the most common actions a programmer may wish to implement. It may helpful to read the [[Code Overview]] first.&lt;br /&gt;
&lt;br /&gt;
==Submit a Bug or Other Issue==&lt;br /&gt;
&lt;br /&gt;
* Go to http://www.AutismCollaborative.org/bugs/&lt;br /&gt;
* Fill out the fields that apply to this issue&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Type of Bug:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Functional Problem&lt;br /&gt;
** Any actual &amp;quot;Bug&amp;quot;&lt;br /&gt;
* Suggestion&lt;br /&gt;
** A possible change to the game that may improve it&lt;br /&gt;
* New Feature&lt;br /&gt;
** Something that &amp;#039;&amp;#039;&amp;#039;absolutely must&amp;#039;&amp;#039;&amp;#039; be implemented&lt;br /&gt;
** Use sparingly; make sure it&amp;#039;s not actually a Suggestion&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Severity:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How much this issue affects the game/application&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Priority:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How soon the issue should be resolved (relative to other issues)&lt;br /&gt;
* The majority of issues should be Low priority&lt;br /&gt;
* Use High sparingly&lt;br /&gt;
&lt;br /&gt;
==Coding Conventions==&lt;br /&gt;
&lt;br /&gt;
* Place the name of the file, authors, and copyright info at the top of each file&lt;br /&gt;
** Any person who makes significant changes to a file should add their name to the list of authors in a file&lt;br /&gt;
*** This helps anyone reading the code because they know who to ask if they have a question about something&lt;br /&gt;
* All private and protected class member variables are lowerCamelCase&lt;br /&gt;
* Private/protected class member variables are preceded with &amp;quot;m&amp;quot; (ie mLocalVariable)&lt;br /&gt;
* All functions, properties (sometimes called &amp;quot;smart fields&amp;quot;), and public class variables are UpperCamelCase&lt;br /&gt;
* Public variables should only be used with small classes that are used by only one or two other classes&lt;br /&gt;
* This code is intended to be viewed by many people who do not have strong programming backgrounds, therefore documentation is &amp;#039;&amp;#039;&amp;#039;very&amp;#039;&amp;#039;&amp;#039; important&lt;br /&gt;
** Document the purpose of each class&amp;#039;s member variables, either next to their declarations or as a summary for their property accessor&lt;br /&gt;
** Create a summary documentation block for every function unless it is extremely obvious&lt;br /&gt;
*** This can be done by placing the cursor above a function definition and typing &amp;quot;///&amp;quot;&lt;br /&gt;
*** This block shows up in Intellisense when writing that function in code&lt;br /&gt;
** Add a summary to any properties that are possibly confusing or not straightforward &lt;br /&gt;
** Document every step of each algorithm (except for very obvious function calls like ResetSettings();)&lt;br /&gt;
*** Someone should be able to read only the comments in a function and still understand what it does&lt;br /&gt;
** See MeteorMadness.cs for an example of the appropriate level of documentation&lt;br /&gt;
* See the Load a Texture section for naming conventions of texture assets&lt;br /&gt;
&lt;br /&gt;
==Create a New Minigame==&lt;br /&gt;
&lt;br /&gt;
For a step by step tutorial with code examples, see [[How_to_Make_a_Mini-Game]]&lt;br /&gt;
&lt;br /&gt;
* Declare the class&lt;br /&gt;
** Create a new folder under ColonySimulator&lt;br /&gt;
** Create a new file in that folder named NewMinigame.cs where NewMiniame is the name of the new minigame&lt;br /&gt;
** Place all new minigame-specific classes in that folder&lt;br /&gt;
** Have the class derive from GameScreen&lt;br /&gt;
* Implement the Constructor&lt;br /&gt;
** Initialize game variables&lt;br /&gt;
** Declare a ScoreCard (see Scoring tutorial)&lt;br /&gt;
** Log the GameBegin code (see the Logging tutorial)&lt;br /&gt;
* Implement Update()&lt;br /&gt;
** Do not assume a constant call rate&lt;br /&gt;
*** This function will almost always be called 60 times per second, but that rate may vary depending on CPU load&lt;br /&gt;
*** At the beginning of each cycle, get the time since the last cycle like this:&lt;br /&gt;
**** float dt = gameTime.ElapsedGameTime;&lt;br /&gt;
*** Build the time into all movement and timers, for example:&lt;br /&gt;
 myEntity.LifeSpan -= dt;&lt;br /&gt;
 myEntity.Position += myEntity.Velocity * dt;&lt;br /&gt;
* Implement Draw()&lt;br /&gt;
** Be sure to call each entity&amp;#039;s Draw and Update methods. Optional: Register all entities with the XNA game object.&lt;br /&gt;
This will have XNA automatically call their Draw and Update functions at appropriate times.&lt;br /&gt;
** Consider using a generalized render-queue such as GenericWorldSpace &amp;#039;&amp;#039;&amp;#039;(not yet implemented as of October 2007)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Use the Raise function to place the minigame gamescreen on the stack based game system.&lt;br /&gt;
* End the mini-game using Done function. This will pop the mini-game off the game stack, returning the game to the previous state.&lt;br /&gt;
** Flush the particle system (see the particles tutorial) if any emitters were created&lt;br /&gt;
** Log the GameEndSuccess/GameEndFailure code&lt;br /&gt;
** Show the score&lt;br /&gt;
&lt;br /&gt;
==Use Images==&lt;br /&gt;
&lt;br /&gt;
XNA supports most common types of images, including JPEG, GIF, DDS, etc.&lt;br /&gt;
&lt;br /&gt;
===Load a Texture===&lt;br /&gt;
&lt;br /&gt;
Before you can load a texture in code, though, you must add it to the content pipeline:&lt;br /&gt;
&lt;br /&gt;
* Import the content into the project&lt;br /&gt;
** Browse to the appropriate folder in Visual Studio&amp;#039;s Solution Explorer&lt;br /&gt;
*** For example, Content\MiniGames\MyImage.png&lt;br /&gt;
** Right-click on that folder and select Add-&amp;gt;Existing Item&lt;br /&gt;
** Select the image to import&lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you can load it memory using the XNA content manager:&lt;br /&gt;
&lt;br /&gt;
 Texture2D myTexture = Content.Load(@&amp;quot;General\myTexture&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The XNA content manager defaults to the content folder of the project, so all addresses can be relative from there.  Also, the name of the image should be the same as the asset name. This can be set in the properties window.&lt;br /&gt;
&lt;br /&gt;
===Display a Static Image===&lt;br /&gt;
&lt;br /&gt;
Before manually drawing something to screen consider using some type of game object, be it an Entity, HUD element, or even a Ticker (see the tutorials below). Game objects all know how to draw themselves, so it is unlikely that a minigame will need to draw something directly to the screen. Should the need arise, however, here&amp;#039;s how it&amp;#039;s done:&lt;br /&gt;
&lt;br /&gt;
* Load it in code:&lt;br /&gt;
 GraphicsDeviceManager gdm = ...;    // This is declared in GenericGameManager.cs&lt;br /&gt;
 ConentManager cm = ...;             // Usually a parameter, as in Update(ContentManager content)&lt;br /&gt;
 SpriteBatch sb = new SpriteBatch(gdm.GraphicsDevice);                     // Basically a wrapper for a DirectX render target&lt;br /&gt;
 Texture2D texture = TextureManager.Load(@&amp;quot;Content\General\myTexture&amp;quot;);&lt;br /&gt;
 Rectangle destination = ...;        // Display destination&lt;br /&gt;
 Color tint = Color.White;           // Tint the image with this color&lt;br /&gt;
 float rotation = 0f;                // Rotation (in radians)&lt;br /&gt;
 Vector2 center = new Vector2(texture.Width / 2f, texture.Height / 2f);         // Origin of rotation&lt;br /&gt;
 float zDepth = 1f;                  // Order to draw sprites within this spritebatch&lt;br /&gt;
 &lt;br /&gt;
 sb.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState);&lt;br /&gt;
 &lt;br /&gt;
 sb.Draw(&lt;br /&gt;
   texture,&lt;br /&gt;
   destination ,&lt;br /&gt;
   null,               // What part of the source image to sample from--null tells it to use the whole image&lt;br /&gt;
   tint ,&lt;br /&gt;
   rotation,&lt;br /&gt;
   center,&lt;br /&gt;
   SpriteEffects.None, // How to mirror the image&lt;br /&gt;
   zDepth &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
===Display an Animation===&lt;br /&gt;
&lt;br /&gt;
Animations are created using the AnimatedSprite class. Here&amp;#039;s an example:&lt;br /&gt;
&lt;br /&gt;
 //Declare Animated Sprite&lt;br /&gt;
 //Parameters: Game object, SpriteSheet as a Texture2D object, Position as Vector2, FrameSize as Vector2, Number of Frames&lt;br /&gt;
 AnimatedSprite testAnimation = new AnimatedSprite(this, Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;TestSpriteSheet&amp;quot;), new Vector2(200, 300), new Vector2(64, 64), 16);&lt;br /&gt;
 //Pass a reference to the SpriteBatch that the AnimatedSprite will use&lt;br /&gt;
 testAnimation.SpriteBatch = spriteBatch;&lt;br /&gt;
 //Turn on the Animation&lt;br /&gt;
 testAnimation.Animate(true);&lt;br /&gt;
 //Turn off the Animation&lt;br /&gt;
 testAnimation.Animate(false);&lt;br /&gt;
&lt;br /&gt;
*Do not forget to call the draw and update methods of the AnimatedSprite explicitly, or to add them to the XNA game.components array so as to allow XNA to call them.&lt;br /&gt;
&lt;br /&gt;
==Create a New Type of Game Object==&lt;br /&gt;
&lt;br /&gt;
All specific game objects (players, enemies, collectibles, projectiles, etc.) should derive from Entity. This gives them easy ways to draw themselves, move, collide with other entities, and be passed to many tAC_Engine functions.&lt;br /&gt;
&lt;br /&gt;
==Get User Input==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT&amp;#039;&amp;#039;&amp;#039; use the standard XNA keyboard accessors (Xna.Framework.Input.Keyboard) or mouse accessors (Xna.Framework.Input.Mouse) because tAC_Engine does a lot of caching and logging behind the scenes. Use the InputHandler instead.&lt;br /&gt;
&lt;br /&gt;
===Keyboard Example===&lt;br /&gt;
&lt;br /&gt;
 // Bind the &amp;#039;A&amp;#039; Key to the event &amp;#039;PressedA&amp;#039;&lt;br /&gt;
 mInputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)EventCodes.PressedA);&lt;br /&gt;
 ...&lt;br /&gt;
 InputEvent inputEvent = mInputHandler.GetNextEvent();&lt;br /&gt;
 if (inputEvent.EventCode == (int)EventCodes.PressedA)&lt;br /&gt;
 {&lt;br /&gt;
   // The A key was pressed&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Loading Keybinds from a file===&lt;br /&gt;
&lt;br /&gt;
 // Load Bindings from &amp;#039;keybindings.dat&amp;#039;&lt;br /&gt;
 mInputHandler.LoadBindings(typeof(EventCodes), RootDirectory + @&amp;quot;\keybindings.dat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The Bindings file is a plain text, human-editable file that takes the following form:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Event Name&amp;quot; (tab*) &amp;quot;Key Name&amp;quot; (tab*) (flags*)&lt;br /&gt;
&lt;br /&gt;
====Keybinding Examples====&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Manage a Heads Up Display==&lt;br /&gt;
&lt;br /&gt;
Use the HUD class for any HUD element (like health bars, menu buttons, etc.). Typically, you&amp;#039;ll want to create a class that inherits from Widget2D. See MeteorWidgets.cs for examples.&lt;br /&gt;
&lt;br /&gt;
==Display Text or Icons with the Ticker==&lt;br /&gt;
&lt;br /&gt;
 string text = &amp;quot;w00t.&amp;quot;;                      // Text to display (can be &amp;quot;&amp;quot;)&lt;br /&gt;
 Texture2D image = null;                     // Can also be set to an image&lt;br /&gt;
 Vector2 imageSize = new Vector2(25f, 25f);  // Size of the (optional) icon&lt;br /&gt;
 Vector2 offset = new Vector2(700f, 50f);    // This will display the ticker 700 pixels to the right of the screen&amp;#039;s &lt;br /&gt;
                                             //   center and 50 pixels below the screen&amp;#039;s center&lt;br /&gt;
 Vector2 velocity = new Vector2 (-10f, 0f);  // Move left 10 pixels per second&lt;br /&gt;
 Ticker.Font font = Ticker.Font.Standard;    // Regular text&lt;br /&gt;
 Color color = Color.DeepPink;               // The manliest of colors&lt;br /&gt;
 float opacity = .5f;                        // 50% transparent&lt;br /&gt;
 float seconds = 5f;                         // Disappear after 5 seconds&lt;br /&gt;
 bool fade = true;                           // Fade in and fade out&lt;br /&gt;
 &lt;br /&gt;
 Ticker.Display(text, image, imageSize, offset, velocity, font, color, opacity, seconds, fade);&lt;br /&gt;
&lt;br /&gt;
==Display Text==&lt;br /&gt;
&lt;br /&gt;
First you must import the desired font:&lt;br /&gt;
&lt;br /&gt;
* Create an xml spritefont file for the new font called FontName.spritefont and set the desired values.&lt;br /&gt;
&lt;br /&gt;
Now for the code:&lt;br /&gt;
&lt;br /&gt;
 ContentManager cm = ...;&lt;br /&gt;
 SpriteBatch sb = ...;&lt;br /&gt;
 SpriteFont = cm.Load&amp;lt;SpriteFont&amp;gt;(@&amp;quot;FontName&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 sb.Begin();&lt;br /&gt;
 sb.DrawString(SpriteFont, &amp;quot;Some Text!&amp;quot;, new Vector2(10.0F, 10.0F), Color.Azure);&lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
==Use Sound==&lt;br /&gt;
&lt;br /&gt;
===Import a new Audio File===&lt;br /&gt;
&lt;br /&gt;
** Run the XACT tool from Microsoft DirectX SDK&lt;br /&gt;
** If--after following the steps in this tutorial--playing a file in code throws an exception about using the wrong version of XACT, try using Xact.exe from a different SDK build&lt;br /&gt;
* Open AudioProject.xap file for the Minigame to which you wish to add a sound.&lt;br /&gt;
* Expand Wave Banks and double-click Wave Bank in the panel on the left&lt;br /&gt;
* Expand Sound Banks and double-click Sound Bank in the panel on the left&lt;br /&gt;
* Go to Wave Banks-&amp;gt;Insert Wave File(s)...&lt;br /&gt;
* Select the file to import i.e.&amp;quot;@/MiniGame/Content/Audio/MySound.wav&amp;quot; and click OK.&lt;br /&gt;
* Drag the newly-added file to the Cue Name section in the Sound Bank:Sound Bank window&lt;br /&gt;
* Assign the audio file to be either a Music or Effect sound &lt;br /&gt;
* Go to File-&amp;gt;Build&lt;br /&gt;
* Save and close XACT&lt;br /&gt;
* Open game.sln with Visual Studio&lt;br /&gt;
* Browse to the Content\Sounds folder in the Solution Explorer&lt;br /&gt;
* Right-click the Sounds folder and select Add-&amp;gt;Existing Item...&lt;br /&gt;
* Select &amp;quot;MySound.wav&amp;quot; and click OK&lt;br /&gt;
&lt;br /&gt;
=== Load an Audio Project ===&lt;br /&gt;
This needs to be done before you play any sound or effect.&lt;br /&gt;
SoundManager.LoadAudioProject(&amp;quot;AudioProject.xgs&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===Play an Effect===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayEffect(&amp;quot;Pew&amp;quot;); // No file extension&lt;br /&gt;
&lt;br /&gt;
===Play Music ===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayMusic(&amp;quot;MyMusic&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==Use the Particle Engine==&lt;br /&gt;
&lt;br /&gt;
Particles are handled by the TACParticleEngine, a separate library that uses the AC_GraphicsEngine that has been modified to better fit the needs of the Autism Game. Features are added to it on an as-needed basis so if a new feature needs to be added and any problems arise in its integration into the current particle engine contact Brian Murphy.&lt;br /&gt;
&lt;br /&gt;
Quick layout of TACParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 The ParticleManager contains references to all loaded ParticleEngines.&lt;br /&gt;
 ParticleEngines contain a series of Emitters.&lt;br /&gt;
 Emitters contain a heap of Particles, which are the objects that actually get drawn.&lt;br /&gt;
&lt;br /&gt;
Make sure to include these packages so that we can create and access our particle engine objects:&lt;br /&gt;
&lt;br /&gt;
 using TACParticleEngine;&lt;br /&gt;
 using TACParticleEngine.Particles;&lt;br /&gt;
 &lt;br /&gt;
Inside the class declaration make these global variables:&lt;br /&gt;
 &lt;br /&gt;
 ParticleManager mParticleManager;&lt;br /&gt;
 ParticleEngine mTestEffect;&lt;br /&gt;
&lt;br /&gt;
Since the TACParticleEngine makes use of the Camera class from the AC_GraphicsEngine, we will need to create and initialize an instance of the Camera class if we are to render our particles, so let&amp;#039;s get our camera set before we initialize the ParticleManager.&lt;br /&gt;
&lt;br /&gt;
Add the following line to the list of global variables at the beginning of the class:&lt;br /&gt;
&lt;br /&gt;
 Camera mActiveCamera;&lt;br /&gt;
&lt;br /&gt;
This will be whatever kind of camera we are currently using for drawing.  (We may want other cameras, too, for whatever reason.)&lt;br /&gt;
&lt;br /&gt;
Next we need to initialize the camera to any specific type of camera that derives from class Camera. At the time of this writing (January 2009) these types are limited to FollowCamera, OrthographicCamera, PerspectiveCamera2D, and PerspectiveCamera3D. For now we&amp;#039;ll use a PerspectiveCamera3D as our active camera.&lt;br /&gt;
&lt;br /&gt;
 mActiveCamera = new Perspective3DCamera(new Vector3(0, 0, -5), Vector3.Zero, Vector3.Up, MathHelper.Pi/5, 1, 1, 100);&lt;br /&gt;
&lt;br /&gt;
If we ever need to change the camera, be certain to update the active camera for the particle manager by calling &lt;br /&gt;
 mParticleManager.SetActiveCamera(newActiveCamera); &lt;br /&gt;
where newActiveCamera is the camera that has just been changed to.&lt;br /&gt;
&lt;br /&gt;
Now that we have a camera, make sure to initialize the particle manager (and optionally, some particle effects) in the class&amp;#039;s initialize method:&lt;br /&gt;
&lt;br /&gt;
 mParticleManager = new ParticleManager(Game, mActiveCamera); // Initialize the particle manager object with a reference to the current &lt;br /&gt;
                                                              // game and to the current active camera&lt;br /&gt;
 mTestEffect = mParticleManager.Load(&amp;quot;ParticleEffects/Explosion&amp;quot;); // Load in the given particle effect file by giving the&lt;br /&gt;
                                                                   // location at which it is compiled&lt;br /&gt;
&lt;br /&gt;
Once this has been done, you&amp;#039;ll have an effect loaded into the Particle Engine object &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; via the Particle Manager. However the Particle Engine isn&amp;#039;t worth much if it&amp;#039;s never called on to do anything, so let&amp;#039;s set up the rest of the code that&amp;#039;s needed for updating and drawing:&lt;br /&gt;
&lt;br /&gt;
To accomplish this, all we need to do is add the particle manager to the Game&amp;#039;s list of components. This is done as follows:&lt;br /&gt;
&lt;br /&gt;
 AddComponent(mParticleManager);&lt;br /&gt;
&lt;br /&gt;
Aside from this we need to set the draw order of the effects, at least generally by calling&lt;br /&gt;
&lt;br /&gt;
 mParticleManager.DrawOrder = DrawOrder; // The second DrawOrder being whatever draw order is desired&lt;br /&gt;
&lt;br /&gt;
This will draw and update any particles that have been loaded by the Particle Manager and have been set active.  However, the particle engine that we just created hasn&amp;#039;t yet been set active, so do that now.&lt;br /&gt;
&lt;br /&gt;
This is done by calling the following line whenever you would want drawing of that Particle Engine to occur.&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(true);&lt;br /&gt;
&lt;br /&gt;
The particle engine instance &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; is now active.  If it were already active, its lifetime would have been reset to 0.  (The lifetime of a particle engine starts at zero and increases until its maximum lifetime is reached, in which case the particle engine &amp;quot;dies&amp;quot; and becomes inactive.)&lt;br /&gt;
&lt;br /&gt;
This same method can be used to stop the particle engine from creating any more particles, by supplying &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; as its parameter instead:&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false);&lt;br /&gt;
&lt;br /&gt;
A series of methods allow us to modify the drawing of the ParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 SetSplineScale(float scale) // Given a float, scales the spline around the origin by the given amount every 1/10 of a second. Note that this only&lt;br /&gt;
                             // applies for all spline emitters in the engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePositions(Vector3[] Positions) // Given an array of 3D vectors, we can change the shape of all spline emitters in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePosition(Vector3 Position) // Given a 3D vector, we can move the whole particle engine to the desired position.&lt;br /&gt;
&lt;br /&gt;
 SetEngineColor(Vector4 Color) // Given a 4D vector of float values 0-1 in the form of RGBA, we can change the coloring of the whole particle engine&lt;br /&gt;
                               // Keep in mind that this applies that much of the emitters&amp;#039; texture for each value, so a black picture with 1,0,0,1 as&lt;br /&gt;
                               // its value will not be red but still black.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSize(Vector2 Size) // Given a 2D vector, we can modify the dimensions of the particle image, this is always 2D since particles in 3D are &lt;br /&gt;
                             // simply billboard sprites.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSpeed(float Speed) // Given a float, changes the speed at which particles initially move at.&lt;br /&gt;
&lt;br /&gt;
 SetEngineDirection(Vector3 Direction) // Given a 3D vector, changes the direction in which particles move at. This does not apply to point emitters.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticlesPerSec(float NumPerSec) // Given a float, sets the number of particles created in a second. Note that this value times particle&lt;br /&gt;
                                           // lifetime should not exceed the amount of particles in order to insure consistent effects.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticleLifetime(float Lifetime) // Given a float, sets how long a particle lives for in seconds. Note that this should never be changed&lt;br /&gt;
                                           // while an effect is active, otherwise inconsistencies in the effect will most likely occur.&lt;br /&gt;
&lt;br /&gt;
 SetRandomDirection(bool Random) // Given a boolean, sets whether or not to make particles move in a random direction.&lt;br /&gt;
&lt;br /&gt;
Also, if needed you can change the draw order of each engine individually by calling&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.DrawOrder = DrawOrder; // The second DrawOrder is whatever draw order desired&lt;br /&gt;
&lt;br /&gt;
Whenever a game object that uses a particle effect is being disposed, make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false); // Making sure to set the effect to no longer being active&lt;br /&gt;
&lt;br /&gt;
on any effect with infinite life span and make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.ToDestroy = true; // Making sure to set the effect to no longer being alive&lt;br /&gt;
&lt;br /&gt;
so that the particle manager knows that it can clean up the effect.&lt;br /&gt;
&lt;br /&gt;
===Create a New Particle Effect===&lt;br /&gt;
&lt;br /&gt;
To create a new particle effect, start the TACParticleEditor program.  This program presents two windows, one containing a Windows form displaying information about the current particle effect, and the other displaying the particle effect.&lt;br /&gt;
&lt;br /&gt;
There are four main areas of the particle editor form:&lt;br /&gt;
&lt;br /&gt;
 List of emitters - The list of all the emitters in the particle effect.&lt;br /&gt;
&lt;br /&gt;
 Emitter type - Contains all the different types of emitters that exist in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 Row of buttons - Each having a functionality expected from their name:&lt;br /&gt;
 &lt;br /&gt;
  Add - Adds an emitter of the chosen type from the list of emitter types to the particle effect&amp;#039;s emitter list.&lt;br /&gt;
 &lt;br /&gt;
  Remove - Removes the currently selected emitter in the particle effect&amp;#039;s emitter list from the list. &lt;br /&gt;
 &lt;br /&gt;
  Save - Saves the current particle effect to a specified .particle xml file.&lt;br /&gt;
 &lt;br /&gt;
  Load - Loads a particle effect from a selected .particle xml file.&lt;br /&gt;
&lt;br /&gt;
 Emitter Info Grid - Contains all the information that can be modified for whichever emitter in the list of emitters is currently selected.&lt;br /&gt;
&lt;br /&gt;
The modifiable parameters of the emitters are as follows:&lt;br /&gt;
&lt;br /&gt;
 For all emitters:&lt;br /&gt;
 &lt;br /&gt;
  textureName - The file path name of the texture to render the particles with. In order to load texture names correctly, there &lt;br /&gt;
  must exist a texture folder in the current project&amp;#039;s compiled content folder. The default starting directory is the TACParticleEditor. &lt;br /&gt;
  Whenever a new particle effect is loaded, the current directory is switched to that project&amp;#039;s content directory. Anytime a new &lt;br /&gt;
  texture is desired, it must be added manually to the appropriate project.&lt;br /&gt;
 &lt;br /&gt;
  blendEffect - The sprite blend to use when rendering the particles. Can be either None, AlphaBlend, or Additive.&lt;br /&gt;
  The various blend modes work as follows:&lt;br /&gt;
    &lt;br /&gt;
    None - every particle draws exactly as how the texture appears and no alpha values are used. Therefore there will be no transparency.&lt;br /&gt;
    For visual purposes it is highly suggested to not use this mode.&lt;br /&gt;
    &lt;br /&gt;
    AlphaBlend - Averages all of the particles alpha values up to the max value assigned to any particle. This effect is useful in creating&lt;br /&gt;
    effects such as dust, smoke, or gas clouds.&lt;br /&gt;
    &lt;br /&gt;
    Additive - Sums up the colors of all the particles to the maximum value of 1.0 for all values (r,g,b, and a). This effect is useful&lt;br /&gt;
    in creating effects such as fire, lasers, or shields.&lt;br /&gt;
  &lt;br /&gt;
  emitLifetime - The duration of time the emitter continues to emit new particles for in seconds. This can be any duration of time. A negative&lt;br /&gt;
  value denotes that the emitter never dies.&lt;br /&gt;
 &lt;br /&gt;
  particlesPerSec - The amount of particles that are created every second. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleAmount - The total amount of particles that can appear on screen at one time. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleLifetime - The amount of time a particle lives for in seconds. This can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minStartSpeed - The slowest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSpeed - The fastest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minEndSpeed - The slowest possible speed at which a particle can end moving . This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSpeed - The fastest possible speed at which a particle can end moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minStartColor - The minimum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxStartColor - The maximum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minEndColor - The minimum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxEndColor - The maximum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minstartSize - The smallest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSize - The largest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minEndSize - The smallest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSize - The largest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  isActive - Whether or not the emitter is currently spawning/updating/drawing particles. You can quickly activate all emitters &lt;br /&gt;
  of the loaded/created particle effect by hitting enter while having focus on the particle effect visualization window.&lt;br /&gt;
&lt;br /&gt;
 For directional emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  minVel - The minimum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  maxVel - The maximum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
					&lt;br /&gt;
 For point emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
&lt;br /&gt;
 For spline emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The positions at/between which particles will spawn in x,y,z form (aka list of 3-dimensional points). These values can be &lt;br /&gt;
  any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  scale - The amount of scaling that occurs every time the spline emitter is scaled, that is to say, how much all positions &lt;br /&gt;
  close in/expand from the origin (0,0,0) before any position offset is applied essentially creating an explosion or implosion &lt;br /&gt;
  effect. This value can be any nonzero positive number. 1.5 represents 150% current size, 0.5 represents 50% current size, etc.&lt;br /&gt;
 &lt;br /&gt;
  scaleSpeed - How quickly the scaling occurs in seconds. This can be any nonzero positive number. 1 is a scaling occurs once every second,&lt;br /&gt;
  0.5 is a scaling occurs every half second, etc.&lt;br /&gt;
&lt;br /&gt;
 For spray emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  sprayRange - The area in which particles can spawn with the center at the set position in +/-x,+/-y,+/-z form. That is to say a cubic area&lt;br /&gt;
  with dimensions width, height, and depth and its origin at the given position. These values be any nonzero positive number.&lt;br /&gt;
&lt;br /&gt;
====Quick Reference Table====&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Parameter type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Unit type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Range&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;For all emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 textureName         String                   N/A                 Any valid path name works.&lt;br /&gt;
 blendEffect         SpriteBlendMode          N/A                 None, AlphaBlend, or Additive.&lt;br /&gt;
 emitLifetime        floating-point           Seconds             Any value. Negative value denotes emitter never dies.&lt;br /&gt;
 particlesPerSec     integer                  Per Second          Any nonzero positive number.&lt;br /&gt;
 particleAmount      integer                  N/A                 Any nonzero positive number.&lt;br /&gt;
 particleLifetime    floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 minStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 minEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 isActive            boolean                  N/A                 True or False.&lt;br /&gt;
 minVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 maxVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 positions           (x,y,z) vector           Arbitrary           Any number.&lt;br /&gt;
 direction           (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 &amp;#039;&amp;#039;For spline emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 scale               floating-point           % of size           Any nonzero positive number. &amp;lt; 1 denotes decrease, &amp;gt; 1 denotes increase.&lt;br /&gt;
 scaleSpeed          floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 &amp;#039;&amp;#039;For spray emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 sprayRange          (width,height,depth)     Arbitrary           Any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
 *Note that all arbitrary values are based on the current camera space.&lt;br /&gt;
&lt;br /&gt;
==Keep Score and Give Resources to the Simulator Mode==&lt;br /&gt;
&lt;br /&gt;
Use the ScoreCard class to keep track of the score from a minigame. It provides easy ways to add and subtract resources, as well as an easy way to display them and pass them along to the Colony Simulator.&lt;br /&gt;
&lt;br /&gt;
MiniGame has a ColonyScoreCard built into it, accessible by the Score property. Here are some examples of how to use it:&lt;br /&gt;
&lt;br /&gt;
 class MyGame : MiniGame&lt;br /&gt;
 {&lt;br /&gt;
   public override void Update(ContentManager content)&lt;br /&gt;
   {&lt;br /&gt;
     Score.Gather(ColonyResources.Money, 500);    // Get 500 Monies&lt;br /&gt;
     &lt;br /&gt;
     MyGameObject mgo = new MyGameObject();&lt;br /&gt;
     mgo.GiveMyGameCarbon();                      // Get 1 Carbon&lt;br /&gt;
 &lt;br /&gt;
     Score.IncurDamageCost(100);                  // On CashOut, Money = Max (Money - DamageCosts, 0)&lt;br /&gt;
 &lt;br /&gt;
     int HowMuchMoneyIHave = Score.QueryResource(ColonyResources.Money);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   public void DisplayTheScore()&lt;br /&gt;
   {&lt;br /&gt;
     bool playerWonTheMinigame = true;            // Can be set to false if the player lost&lt;br /&gt;
     Score.Display(playerWonTheMinigame );        // Displays a copy of the current score and a message for succses/failure&lt;br /&gt;
     Score.CashOut();                             // Transfers resources from MyGame to the Colony Simulator&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   // ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class MyGameObject : Entity&lt;br /&gt;
 {&lt;br /&gt;
   public void GiveMyGameCarbon()&lt;br /&gt;
   {&lt;br /&gt;
     ColonyBaseApplication.MiniGame.Score.Gather(ColonyResources.Carbon, 1);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
**Note: The code provided here is very subject to change as this section is under development.&lt;br /&gt;
&lt;br /&gt;
==Write to the Experiment Log==&lt;br /&gt;
&lt;br /&gt;
As the game runs, certain actions are recorded and written to a file (My Documents\Autism Collaborative\Users\DefaultUser\LogFiles\ExperimentLog.txt or as specified). In the lab, these codes are also sent through the parallel port to sync the EEG data. Every action that pertains to an experiment must be logged in order to be analyzed.  (That&amp;#039;s the whole point of this game!)&lt;br /&gt;
&lt;br /&gt;
First define the necessary game codes. This is done to ensure consistency across each mini-game.&lt;br /&gt;
&lt;br /&gt;
* Open EventCodes.cs, or wherever you store the enum for your project.&lt;br /&gt;
* Codes in the range 1 - 255 are valid and can be written to the parallel port.&lt;br /&gt;
** The name of the code should be chosen at your convenience, and may be included to make the text log file more readable.&lt;br /&gt;
* Codes may be assigned outside this range, both positive and negative; these codes may be used in the same way, but will be logged only to the text log file and not to the parallel port.&lt;br /&gt;
** Codes in the negative range are considered debugging codes, and can be omitted from the log file by setting the writeDebugEvents property on the logger.&lt;br /&gt;
&lt;br /&gt;
Now those codes are available for logging, thus:&lt;br /&gt;
&lt;br /&gt;
 Logger logger = new Logger(&amp;quot;ExampleLogFile.txt&amp;quot;);&lt;br /&gt;
 logger.LogCode( (int)Minigame.EventCode.WeaponFiredEvent, &amp;quot;WeaponFired&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
It is also possible to tell the logger to log a code every time a specific key is pressed:&lt;br /&gt;
&lt;br /&gt;
 InputHandler inputHandler = new InputHandler(true);&lt;br /&gt;
 inputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)Minigame.Eventcode.PressedAEvent);&lt;br /&gt;
&lt;br /&gt;
As these assigned events are local to each InputHandler object, your mini-game&amp;#039;s event code assignments will not interact with the event code assignments of other mini-games.&lt;br /&gt;
&lt;br /&gt;
Every mini-game should start with its GameBegin and end with its GameEnd[Success/Failure] codes.&lt;br /&gt;
&lt;br /&gt;
It may be helpful to log events for debugging purposes. These codes should have an identifier such as &amp;quot;DEBUG_&amp;quot; and will not be logged unless writeDebugEvents is set to true on the logger. (writeDebugEvents is true by default only when the game is running in Debug mode.) All new DEBUG tags must be explicitly assigned a value less than 0.&lt;br /&gt;
&lt;br /&gt;
===Event Code Summary===&lt;br /&gt;
&lt;br /&gt;
Event Codes may be any integer value.&lt;br /&gt;
* Less than 0 : Debug events, will only be written in Debug Mode.&lt;br /&gt;
* 0 : Null, no event.&lt;br /&gt;
* 1 - 255 : Experimentation event, will be written to the log and the parallel port.&lt;br /&gt;
* Greater then 255 : Cannot be written to the parallel port, will be written to log only.&lt;br /&gt;
&lt;br /&gt;
==Use the Game Script==&lt;br /&gt;
*Note: The LUA scripts are not universally compatible and have been known to crash on some machines. It is highly recommended that C# scripts are used.&lt;br /&gt;
&lt;br /&gt;
The tAC_Engine houses a [[http://www.lua.org/ Lua]] Virtual Machine. This can be used to tweak global parameters at runtime, load them from config files, drive cutscenes, or even save and load levels.&lt;br /&gt;
&lt;br /&gt;
Function callbacks are defined in C# and then invoked from a Lua file or the in-game Debug console. In other words, C# tells Lua &amp;quot;you may use these functions: X,Y,...&amp;quot; and then Lua says &amp;quot;do X, do Y, etc.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here are a couple of ways to leverage this system:&lt;br /&gt;
&lt;br /&gt;
===Make a Cutscene===&lt;br /&gt;
&lt;br /&gt;
* Create a new lua file in the Scripts directory&lt;br /&gt;
** That file can call any registered function callbacks&lt;br /&gt;
* In the Properties window, set Copy to Output Directory to Copy if Newer&lt;br /&gt;
* Call that cutscene with:&lt;br /&gt;
 GenericBaseApplication.GameManager.PlayCutscene(@&amp;quot;Scripts\MyCutscene.lua&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===To Register a Function Callback===&lt;br /&gt;
&lt;br /&gt;
* Create the function in C# (if the function does not already exist)&lt;br /&gt;
** It must be declared public and non-static&lt;br /&gt;
** If the need arises to register a static function, declare an instanced function in GenericLuaHelper or ColonyLuaHelper that simply calls the static function.&lt;br /&gt;
* Register the function with the Lua Virtual Machine&lt;br /&gt;
** Add the special LuaCallback annotation to the function&lt;br /&gt;
* Call the RegisterLuaCallbacks function in the class&amp;#039;s constructor that contains the function.&lt;br /&gt;
* Example:&lt;br /&gt;
 public MyClass()&lt;br /&gt;
 {  // Constructor&lt;br /&gt;
   LuaHelper.RegisterLuaCallbacks(this);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [LuaCallback(&amp;quot;SetMyVariable&amp;quot;)]&lt;br /&gt;
 public int SetMyVariable(int value)&lt;br /&gt;
 {&lt;br /&gt;
   mMyVariable = value;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Tweak Game Parameters===&lt;br /&gt;
&lt;br /&gt;
Exposing a variable to the Lua Virtual Machine allows it to be accessed by a any script (including config files) or changed at runtime in the drop down console (accessible in Debug mode by hitting &amp;quot;~&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Expose a variable with a global setter/getter with a LuaCallback annotation&lt;br /&gt;
** Make sure to call the RegisterLuaCallbacks function in that class&amp;#039;s constructor if the getter/setter is not in the Game Manager&lt;br /&gt;
* Set the default value for the variable in the config file (optional)&lt;br /&gt;
** There are 3 config files for the 3 configurations of the game builds&lt;br /&gt;
*** Debug.conf, for development&lt;br /&gt;
*** StandardRelease.conf, for public releases of the game&lt;br /&gt;
*** LabRelease.conf, for use in the lab&lt;br /&gt;
&lt;br /&gt;
===Create Local Settings===&lt;br /&gt;
&lt;br /&gt;
Programmers may want to change certain properties on their machines without affecting the source-controlled code. They could change the resolution, sound settings, or even have the game bypass the regular startup sequence and launch right into the middle of a MiniGame all with no effect on other developers.&lt;br /&gt;
&lt;br /&gt;
* Create a new file: Autism Collaborative\Game\Game\Scripts\LocalSettings.lua&lt;br /&gt;
** The Visual Studio project already has this file included, but VS won&amp;#039;t be able to edit it until the file is created manually&lt;br /&gt;
* Add Lua commands and save the file&lt;br /&gt;
** Visual Studio can now be used to edit the file&lt;br /&gt;
* The file is run at the end of the Debug.conf script (if it exists)&lt;br /&gt;
** That means that this script is only run in Debug mode&lt;br /&gt;
* do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; add LocalSettings.lua to source control!&lt;br /&gt;
&lt;br /&gt;
===Creating Scripts in C# Code===&lt;br /&gt;
&lt;br /&gt;
Alternatively, scripts can created using C# code rather than Lua. A C# script either be object oriented or imperative. They are able to both take in objects and return values. The CSharpHelper class can be called to run these scripts using its DoSimpleFile method. This will simply run all the code in the script. The value of this is that commonly edited code, such as configuration files, can be saved in a convenient separate location. The methods for CSharpHelper are well documented within the file itself. An example of a basic call to a C# script is as follows:&lt;br /&gt;
&lt;br /&gt;
 CSharpHelper.doSimpleFile(Environment.CurrentDirectory + @&amp;quot;\Configs\DebugConfig.script&amp;quot;, this, &amp;quot;game&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This starts a C# file called &amp;quot;DebugConfig.script&amp;quot; which is located in the Configs directory. The second parameter is a Game object. The object passed in can be of any type. The third parameter is the identifier of the object within the script. In this case the identifier is &amp;quot;game&amp;quot;. This means that inside the script, lines such as:&lt;br /&gt;
&lt;br /&gt;
 game.Update();&lt;br /&gt;
&lt;br /&gt;
will execute the passed-in object&amp;#039;s Update function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish the Installer==&lt;br /&gt;
&lt;br /&gt;
===Create the Installer===&lt;br /&gt;
&lt;br /&gt;
We use InnoSetup to create the installer. Checkout their website (http://www.jrsoftware.org/isinfo.php) if you need to change the script, but simply publishing the game does not require any adjustment to the installer script.&lt;br /&gt;
&lt;br /&gt;
* Install InnoSetup if necessary&lt;br /&gt;
* Compile the game&lt;br /&gt;
** In the second menu bar (immediately below the top menu bar) within Visual Studio, change &amp;quot;Debug&amp;quot; to &amp;quot;Release&amp;quot;.  (In the box to the right, leave the default &amp;quot;Mixed Platforms&amp;quot;.)  &lt;br /&gt;
** Select Build-&amp;gt;Build Solution&lt;br /&gt;
* Compile the installer script&lt;br /&gt;
** Open Autism Collaborative\Game\Installer\Installer.iss with InnoSetup&lt;br /&gt;
** Select Build-&amp;gt;Compile&lt;br /&gt;
*** This creates the file Autism Collaborative\Game\Game\Output\AstropolisSetupLite.exe&lt;br /&gt;
*** When the compilation is finished, it will ask if you want to test the installer. It is recommended to test it, but not required.&lt;br /&gt;
* Repeat the last step with InstallerFull.iss if desired, this will generate AstropolisSetup.exe, which contains the full offline installers for the dependencies. This is necessary for the lab computers which may not have internet access.&lt;br /&gt;
&lt;br /&gt;
===Upload the Installer to the Web===&lt;br /&gt;
&lt;br /&gt;
* Get a username/password for autismcollaborative.org from Matthew.&lt;br /&gt;
* To transfer the file, use an SSH client such as WinSCP (for a graphical interface) or PuTTY&amp;#039;s PSCP (from the command line)&lt;br /&gt;
** Either download it or run Autism Collaborative\Utilities\WinSCP.exe&lt;br /&gt;
* Log in to AutismCollaborative.org (port 22)&lt;br /&gt;
* Upload AstropolisSetup.exe and AstropolisSetupLite.exe to your home directory (for example /home/zinsser)&lt;br /&gt;
** Do not overwrite the existing installers (/home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe) since that would delete the installer from the web site until the new installer finishes uploading&lt;br /&gt;
* Once the upload is complete, back up the old installers and replace them with the new ones: (you may have to open a terminal first, depending on your SSH client)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe +%Y_%m_%d`_AstropolisSetup.exe;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe +%Y_%m_%d`_AstropolisSetupLite.exe;&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe&lt;br /&gt;
mv /home/{$user}/AstropolisSetup*Lite.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** If there is a permissions problem, contact Matthew to make certain that your user ID has write and search permission for the autismcollaborative.org/downloads directory.&lt;br /&gt;
&lt;br /&gt;
==Using the Mini Game Score Screens==&lt;br /&gt;
&lt;br /&gt;
The Mini Game Score Screens are implemented in a class within the tAC_Engine. This class is utilized to encapsulate the behavior for the displaying the scores of mini games uniformly to players, while also allowing a uniform means of exiting the mini game. All mini games utilize the 2 screen approach (one for the menu for the game, one for the actual game) on top of tyhe stack. Because of this, the mini game score screen allows the direct exiting of a mini game after it has been played, returning back to the Colony Simulation or previous game screen on the stack, before the mini game was selected.&lt;br /&gt;
&lt;br /&gt;
This is done by clicking the Exit button in the score screen, which performs 3 Done() operations on the stack.&lt;br /&gt;
&lt;br /&gt;
To display scores, the game must create a MiniGameScore screen object and call it to display, as follows:&lt;br /&gt;
&lt;br /&gt;
 MiniGameScoreScreen scoreScreen = new MiniGameScoreScreen();&lt;br /&gt;
 scoreScreen.DisplayScores( Title_Of_Game, Scores );&lt;br /&gt;
&lt;br /&gt;
Where the values are as follows:&lt;br /&gt;
*Title_Of_Game is a string, which is displayed at the top of the score screen.&lt;br /&gt;
*Scores is a Dictionary&amp;lt;string, string&amp;gt; where the first value is the label for the score, and the second value is the string value associated with that score (usually some number written in string form, but it could be textual as well).&lt;br /&gt;
&lt;br /&gt;
==Use the ErrorLog==&lt;br /&gt;
&lt;br /&gt;
When the game encounters an Unhandled Exception (such as when an end user runs into a bug in our code), useful information is dumped to ErrorLog.txt.  The user is encouraged to email that file to us so that we can locate the problem.  Although the ErrorLog will tell us what function the program died in, it cannot tell us specifically which line was the culprit (although ErrorLogs created when the game is running in Visual Studio will tell us exactly which line).&lt;br /&gt;
&lt;br /&gt;
We do, however, have the ability to log any custom information from a mini-game. This ability may prove invaluable in debugging based on end-user error reports.  All that you (the programmer) must do is override the string MiniGame.DebugInfo() function.  When ErrorLog.txt is created, it calls that function on the current MiniGame and appends the returned text to the bottom of the file.&lt;br /&gt;
&lt;br /&gt;
==Testing Procedure==&lt;br /&gt;
&lt;br /&gt;
This is a list of recommended tests to be performed on a regular basis to ensure that the major functionality of the program is intact.&lt;br /&gt;
&lt;br /&gt;
Maritime Defender&lt;br /&gt;
&lt;br /&gt;
*Play through tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Text does not run off screen&lt;br /&gt;
**Dialog boxes wait for the space bar to be pressed before disappearing&lt;br /&gt;
**During the navigation-phase tutorial, input is registered correctly&lt;br /&gt;
&lt;br /&gt;
*Play through main game&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Collision detection is correct&lt;br /&gt;
**Phases are in the correct order&lt;br /&gt;
**Navigation phase looks correct: Dots are the correct size and dot correlation fits PEST data. Look for any slowdown or loss of frames.&lt;br /&gt;
**Boss fight is correct. Boss takes damage and causes the player damage.&lt;br /&gt;
**Player Health is displayed correctly on taking damage.&lt;br /&gt;
&lt;br /&gt;
Colony Simulator&lt;br /&gt;
&lt;br /&gt;
*Check GUI&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Each button is clickable and causes the appropriate event to occur.&lt;br /&gt;
**Make sure that you cannot click through things&lt;br /&gt;
**Select each type of building and make sure the pop-up information is appropriate&lt;br /&gt;
&lt;br /&gt;
*Check building placement&lt;br /&gt;
**Place each type of building&lt;br /&gt;
**Connect a mining building to a factory through a tube&lt;br /&gt;
**Connect a residential building to a factory through a road&lt;br /&gt;
**Once this is done, resources should increase.&lt;br /&gt;
&lt;br /&gt;
**Connect a residential building to a commercial building&lt;br /&gt;
**Once this is done, the player&amp;#039;s money should start increasing&lt;br /&gt;
&lt;br /&gt;
**Check the building log to make sure that the build order is correct&lt;br /&gt;
&lt;br /&gt;
*Check that mini-games can be accessed&lt;br /&gt;
**Attempt to play each mini-game through the colony simulator, executing all of their tests and checkin their appropriate logs&lt;br /&gt;
&lt;br /&gt;
Stellar Prospector&lt;br /&gt;
&lt;br /&gt;
*Play through the tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
*Make sure that event codes are properly logged.&lt;br /&gt;
**Tasks match up with the specified text.&lt;br /&gt;
**Text does not run off the display.&lt;br /&gt;
**Input events still work when the player is prompted for them.&lt;br /&gt;
**Automated events such as energy drain and automatic grab still work.&lt;br /&gt;
**Tutorial returns to the main screen after ending.&lt;br /&gt;
**Make sure all graphical effects work correctly, i.e. tractor beam, explosion, and flickering.&lt;br /&gt;
**Player does not get locked in the game; player remains able to exit through the game menu if ESC is pressed.&lt;br /&gt;
&lt;br /&gt;
*Play through the main game&lt;br /&gt;
Things to note:&lt;br /&gt;
**Make sure event codes are properly logged.&lt;br /&gt;
**Make sure input works correctly&lt;br /&gt;
**Phase changes occur correctly and at the right times.&lt;br /&gt;
**Energy draining and filling works correctly.&lt;br /&gt;
**Pause menu works correctly&lt;br /&gt;
**Game ends once energy bar is filled, and returns to the main menu&lt;br /&gt;
**Make certain that all graphical effects work correctly, i.e tractor beam, explosion, and flickering.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=598</id>
		<title>Code How To&#039;s</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Code_How_To%27s&amp;diff=598"/>
				<updated>2009-11-17T03:01:12Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Upload the Installer to the Web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides tutorials for some of the most common actions a programmer may wish to implement. It may helpful to read the [[Code Overview]] first.&lt;br /&gt;
&lt;br /&gt;
==Submit a Bug or Other Issue==&lt;br /&gt;
&lt;br /&gt;
* Go to http://www.AutismCollaborative.org/bugs/&lt;br /&gt;
* Fill out the fields that apply to this issue&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Type of Bug:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Functional Problem&lt;br /&gt;
** Any actual &amp;quot;Bug&amp;quot;&lt;br /&gt;
* Suggestion&lt;br /&gt;
** A possible change to the game that may improve it&lt;br /&gt;
* New Feature&lt;br /&gt;
** Something that &amp;#039;&amp;#039;&amp;#039;absolutely must&amp;#039;&amp;#039;&amp;#039; be implemented&lt;br /&gt;
** Use sparingly; make sure it&amp;#039;s not actually a Suggestion&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Severity:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How much this issue affects the game/application&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Priority:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* How soon the issue should be resolved (relative to other issues)&lt;br /&gt;
* The majority of issues should be Low priority&lt;br /&gt;
* Use High sparingly&lt;br /&gt;
&lt;br /&gt;
==Coding Conventions==&lt;br /&gt;
&lt;br /&gt;
* Place the name of the file, authors, and copyright info at the top of each file&lt;br /&gt;
** Any person who makes significant changes to a file should add their name to the list of authors in a file&lt;br /&gt;
*** This helps anyone reading the code because they know who to ask if they have a question about something&lt;br /&gt;
* All private and protected class member variables are lowerCamelCase&lt;br /&gt;
* Private/protected class member variables are preceded with &amp;quot;m&amp;quot; (ie mLocalVariable)&lt;br /&gt;
* All functions, properties (sometimes called &amp;quot;smart fields&amp;quot;), and public class variables are UpperCamelCase&lt;br /&gt;
* Public variables should only be used with small classes that are used by only one or two other classes&lt;br /&gt;
* This code is intended to be viewed by many people who do not have strong programming backgrounds, therefore documentation is &amp;#039;&amp;#039;&amp;#039;very&amp;#039;&amp;#039;&amp;#039; important&lt;br /&gt;
** Document the purpose of each class&amp;#039;s member variables, either next to their declarations or as a summary for their property accessor&lt;br /&gt;
** Create a summary documentation block for every function unless it is extremely obvious&lt;br /&gt;
*** This can be done by placing the cursor above a function definition and typing &amp;quot;///&amp;quot;&lt;br /&gt;
*** This block shows up in Intellisense when writing that function in code&lt;br /&gt;
** Add a summary to any properties that are possibly confusing or not straightforward &lt;br /&gt;
** Document every step of each algorithm (except for very obvious function calls like ResetSettings();)&lt;br /&gt;
*** Someone should be able to read only the comments in a function and still understand what it does&lt;br /&gt;
** See MeteorMadness.cs for an example of the appropriate level of documentation&lt;br /&gt;
* See the Load a Texture section for naming conventions of texture assets&lt;br /&gt;
&lt;br /&gt;
==Create a New Minigame==&lt;br /&gt;
&lt;br /&gt;
For a step by step tutorial with code examples, see [[How_to_Make_a_Mini-Game]]&lt;br /&gt;
&lt;br /&gt;
* Declare the class&lt;br /&gt;
** Create a new folder under ColonySimulator&lt;br /&gt;
** Create a new file in that folder named NewMinigame.cs where NewMiniame is the name of the new minigame&lt;br /&gt;
** Place all new minigame-specific classes in that folder&lt;br /&gt;
** Have the class derive from GameScreen&lt;br /&gt;
* Implement the Constructor&lt;br /&gt;
** Initialize game variables&lt;br /&gt;
** Declare a ScoreCard (see Scoring tutorial)&lt;br /&gt;
** Log the GameBegin code (see the Logging tutorial)&lt;br /&gt;
* Implement Update()&lt;br /&gt;
** Do not assume a constant call rate&lt;br /&gt;
*** This function will almost always be called 60 times per second, but that rate may vary depending on CPU load&lt;br /&gt;
*** At the beginning of each cycle, get the time since the last cycle like this:&lt;br /&gt;
**** float dt = gameTime.ElapsedGameTime;&lt;br /&gt;
*** Build the time into all movement and timers, for example:&lt;br /&gt;
 myEntity.LifeSpan -= dt;&lt;br /&gt;
 myEntity.Position += myEntity.Velocity * dt;&lt;br /&gt;
* Implement Draw()&lt;br /&gt;
** Be sure to call each entity&amp;#039;s Draw and Update methods. Optional: Register all entities with the XNA game object.&lt;br /&gt;
This will have XNA automatically call their Draw and Update functions at appropriate times.&lt;br /&gt;
** Consider using a generalized render-queue such as GenericWorldSpace &amp;#039;&amp;#039;&amp;#039;(not yet implemented as of October 2007)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** Use the Raise function to place the minigame gamescreen on the stack based game system.&lt;br /&gt;
* End the mini-game using Done function. This will pop the mini-game off the game stack, returning the game to the previous state.&lt;br /&gt;
** Flush the particle system (see the particles tutorial) if any emitters were created&lt;br /&gt;
** Log the GameEndSuccess/GameEndFailure code&lt;br /&gt;
** Show the score&lt;br /&gt;
&lt;br /&gt;
==Use Images==&lt;br /&gt;
&lt;br /&gt;
XNA supports most common types of images, including JPEG, GIF, DDS, etc.&lt;br /&gt;
&lt;br /&gt;
===Load a Texture===&lt;br /&gt;
&lt;br /&gt;
Before you can load a texture in code, though, you must add it to the content pipeline:&lt;br /&gt;
&lt;br /&gt;
* Import the content into the project&lt;br /&gt;
** Browse to the appropriate folder in Visual Studio&amp;#039;s Solution Explorer&lt;br /&gt;
*** For example, Content\MiniGames\MyImage.png&lt;br /&gt;
** Right-click on that folder and select Add-&amp;gt;Existing Item&lt;br /&gt;
** Select the image to import&lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you can load it memory using the XNA content manager:&lt;br /&gt;
&lt;br /&gt;
 Texture2D myTexture = Content.Load(@&amp;quot;General\myTexture&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The XNA content manager defaults to the content folder of the project, so all addresses can be relative from there.  Also, the name of the image should be the same as the asset name. This can be set in the properties window.&lt;br /&gt;
&lt;br /&gt;
===Display a Static Image===&lt;br /&gt;
&lt;br /&gt;
Before manually drawing something to screen consider using some type of game object, be it an Entity, HUD element, or even a Ticker (see the tutorials below). Game objects all know how to draw themselves, so it is unlikely that a minigame will need to draw something directly to the screen. Should the need arise, however, here&amp;#039;s how it&amp;#039;s done:&lt;br /&gt;
&lt;br /&gt;
* Load it in code:&lt;br /&gt;
 GraphicsDeviceManager gdm = ...;    // This is declared in GenericGameManager.cs&lt;br /&gt;
 ConentManager cm = ...;             // Usually a parameter, as in Update(ContentManager content)&lt;br /&gt;
 SpriteBatch sb = new SpriteBatch(gdm.GraphicsDevice);                     // Basically a wrapper for a DirectX render target&lt;br /&gt;
 Texture2D texture = TextureManager.Load(@&amp;quot;Content\General\myTexture&amp;quot;);&lt;br /&gt;
 Rectangle destination = ...;        // Display destination&lt;br /&gt;
 Color tint = Color.White;           // Tint the image with this color&lt;br /&gt;
 float rotation = 0f;                // Rotation (in radians)&lt;br /&gt;
 Vector2 center = new Vector2(texture.Width / 2f, texture.Height / 2f);         // Origin of rotation&lt;br /&gt;
 float zDepth = 1f;                  // Order to draw sprites within this spritebatch&lt;br /&gt;
 &lt;br /&gt;
 sb.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.BackToFront, SaveStateMode.SaveState);&lt;br /&gt;
 &lt;br /&gt;
 sb.Draw(&lt;br /&gt;
   texture,&lt;br /&gt;
   destination ,&lt;br /&gt;
   null,               // What part of the source image to sample from--null tells it to use the whole image&lt;br /&gt;
   tint ,&lt;br /&gt;
   rotation,&lt;br /&gt;
   center,&lt;br /&gt;
   SpriteEffects.None, // How to mirror the image&lt;br /&gt;
   zDepth &lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
===Display an Animation===&lt;br /&gt;
&lt;br /&gt;
Animations are created using the AnimatedSprite class. Here&amp;#039;s an example:&lt;br /&gt;
&lt;br /&gt;
 //Declare Animated Sprite&lt;br /&gt;
 //Parameters: Game object, SpriteSheet as a Texture2D object, Position as Vector2, FrameSize as Vector2, Number of Frames&lt;br /&gt;
 AnimatedSprite testAnimation = new AnimatedSprite(this, Content.Load&amp;lt;Texture2D&amp;gt;(&amp;quot;TestSpriteSheet&amp;quot;), new Vector2(200, 300), new Vector2(64, 64), 16);&lt;br /&gt;
 //Pass a reference to the SpriteBatch that the AnimatedSprite will use&lt;br /&gt;
 testAnimation.SpriteBatch = spriteBatch;&lt;br /&gt;
 //Turn on the Animation&lt;br /&gt;
 testAnimation.Animate(true);&lt;br /&gt;
 //Turn off the Animation&lt;br /&gt;
 testAnimation.Animate(false);&lt;br /&gt;
&lt;br /&gt;
*Do not forget to call the draw and update methods of the AnimatedSprite explicitly, or to add them to the XNA game.components array so as to allow XNA to call them.&lt;br /&gt;
&lt;br /&gt;
==Create a New Type of Game Object==&lt;br /&gt;
&lt;br /&gt;
All specific game objects (players, enemies, collectibles, projectiles, etc.) should derive from Entity. This gives them easy ways to draw themselves, move, collide with other entities, and be passed to many tAC_Engine functions.&lt;br /&gt;
&lt;br /&gt;
==Get User Input==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;DO NOT&amp;#039;&amp;#039;&amp;#039; use the standard XNA keyboard accessors (Xna.Framework.Input.Keyboard) or mouse accessors (Xna.Framework.Input.Mouse) because tAC_Engine does a lot of caching and logging behind the scenes. Use the InputHandler instead.&lt;br /&gt;
&lt;br /&gt;
===Keyboard Example===&lt;br /&gt;
&lt;br /&gt;
 // Bind the &amp;#039;A&amp;#039; Key to the event &amp;#039;PressedA&amp;#039;&lt;br /&gt;
 mInputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)EventCodes.PressedA);&lt;br /&gt;
 ...&lt;br /&gt;
 InputEvent inputEvent = mInputHandler.GetNextEvent();&lt;br /&gt;
 if (inputEvent.EventCode == (int)EventCodes.PressedA)&lt;br /&gt;
 {&lt;br /&gt;
   // The A key was pressed&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Loading Keybinds from a file===&lt;br /&gt;
&lt;br /&gt;
 // Load Bindings from &amp;#039;keybindings.dat&amp;#039;&lt;br /&gt;
 mInputHandler.LoadBindings(typeof(EventCodes), RootDirectory + @&amp;quot;\keybindings.dat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
The Bindings file is a plain text, human-editable file that takes the following form:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Event Name&amp;quot; (tab*) &amp;quot;Key Name&amp;quot; (tab*) (flags*)&lt;br /&gt;
&lt;br /&gt;
====Keybinding Examples====&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Manage a Heads Up Display==&lt;br /&gt;
&lt;br /&gt;
Use the HUD class for any HUD element (like health bars, menu buttons, etc.). Typically, you&amp;#039;ll want to create a class that inherits from Widget2D. See MeteorWidgets.cs for examples.&lt;br /&gt;
&lt;br /&gt;
==Display Text or Icons with the Ticker==&lt;br /&gt;
&lt;br /&gt;
 string text = &amp;quot;w00t.&amp;quot;;                      // Text to display (can be &amp;quot;&amp;quot;)&lt;br /&gt;
 Texture2D image = null;                     // Can also be set to an image&lt;br /&gt;
 Vector2 imageSize = new Vector2(25f, 25f);  // Size of the (optional) icon&lt;br /&gt;
 Vector2 offset = new Vector2(700f, 50f);    // This will display the ticker 700 pixels to the right of the screen&amp;#039;s &lt;br /&gt;
                                             //   center and 50 pixels below the screen&amp;#039;s center&lt;br /&gt;
 Vector2 velocity = new Vector2 (-10f, 0f);  // Move left 10 pixels per second&lt;br /&gt;
 Ticker.Font font = Ticker.Font.Standard;    // Regular text&lt;br /&gt;
 Color color = Color.DeepPink;               // The manliest of colors&lt;br /&gt;
 float opacity = .5f;                        // 50% transparent&lt;br /&gt;
 float seconds = 5f;                         // Disappear after 5 seconds&lt;br /&gt;
 bool fade = true;                           // Fade in and fade out&lt;br /&gt;
 &lt;br /&gt;
 Ticker.Display(text, image, imageSize, offset, velocity, font, color, opacity, seconds, fade);&lt;br /&gt;
&lt;br /&gt;
==Display Text==&lt;br /&gt;
&lt;br /&gt;
First you must import the desired font:&lt;br /&gt;
&lt;br /&gt;
* Create an xml spritefont file for the new font called FontName.spritefont and set the desired values.&lt;br /&gt;
&lt;br /&gt;
Now for the code:&lt;br /&gt;
&lt;br /&gt;
 ContentManager cm = ...;&lt;br /&gt;
 SpriteBatch sb = ...;&lt;br /&gt;
 SpriteFont = cm.Load&amp;lt;SpriteFont&amp;gt;(@&amp;quot;FontName&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 sb.Begin();&lt;br /&gt;
 sb.DrawString(SpriteFont, &amp;quot;Some Text!&amp;quot;, new Vector2(10.0F, 10.0F), Color.Azure);&lt;br /&gt;
 sb.End();&lt;br /&gt;
&lt;br /&gt;
==Use Sound==&lt;br /&gt;
&lt;br /&gt;
===Import a new Audio File===&lt;br /&gt;
&lt;br /&gt;
** Run the XACT tool from Microsoft DirectX SDK&lt;br /&gt;
** If--after following the steps in this tutorial--playing a file in code throws an exception about using the wrong version of XACT, try using Xact.exe from a different SDK build&lt;br /&gt;
* Open AudioProject.xap file for the Minigame to which you wish to add a sound.&lt;br /&gt;
* Expand Wave Banks and double-click Wave Bank in the panel on the left&lt;br /&gt;
* Expand Sound Banks and double-click Sound Bank in the panel on the left&lt;br /&gt;
* Go to Wave Banks-&amp;gt;Insert Wave File(s)...&lt;br /&gt;
* Select the file to import i.e.&amp;quot;@/MiniGame/Content/Audio/MySound.wav&amp;quot; and click OK.&lt;br /&gt;
* Drag the newly-added file to the Cue Name section in the Sound Bank:Sound Bank window&lt;br /&gt;
* Assign the audio file to be either a Music or Effect sound &lt;br /&gt;
* Go to File-&amp;gt;Build&lt;br /&gt;
* Save and close XACT&lt;br /&gt;
* Open game.sln with Visual Studio&lt;br /&gt;
* Browse to the Content\Sounds folder in the Solution Explorer&lt;br /&gt;
* Right-click the Sounds folder and select Add-&amp;gt;Existing Item...&lt;br /&gt;
* Select &amp;quot;MySound.wav&amp;quot; and click OK&lt;br /&gt;
&lt;br /&gt;
=== Load an Audio Project ===&lt;br /&gt;
This needs to be done before you play any sound or effect.&lt;br /&gt;
SoundManager.LoadAudioProject(&amp;quot;AudioProject.xgs&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===Play an Effect===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayEffect(&amp;quot;Pew&amp;quot;); // No file extension&lt;br /&gt;
&lt;br /&gt;
===Play Music ===&lt;br /&gt;
&lt;br /&gt;
SoundManager.PlayMusic(&amp;quot;MyMusic&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==Use the Particle Engine==&lt;br /&gt;
&lt;br /&gt;
Particles are handled by the TACParticleEngine, a separate library that uses the AC_GraphicsEngine that has been modified to better fit the needs of the Autism Game. Features are added to it on an as-needed basis so if a new feature needs to be added and any problems arise in its integration into the current particle engine contact Brian Murphy.&lt;br /&gt;
&lt;br /&gt;
Quick layout of TACParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 The ParticleManager contains references to all loaded ParticleEngines.&lt;br /&gt;
 ParticleEngines contain a series of Emitters.&lt;br /&gt;
 Emitters contain a heap of Particles, which are the objects that actually get drawn.&lt;br /&gt;
&lt;br /&gt;
Make sure to include these packages so that we can create and access our particle engine objects:&lt;br /&gt;
&lt;br /&gt;
 using TACParticleEngine;&lt;br /&gt;
 using TACParticleEngine.Particles;&lt;br /&gt;
 &lt;br /&gt;
Inside the class declaration make these global variables:&lt;br /&gt;
 &lt;br /&gt;
 ParticleManager mParticleManager;&lt;br /&gt;
 ParticleEngine mTestEffect;&lt;br /&gt;
&lt;br /&gt;
Since the TACParticleEngine makes use of the Camera class from the AC_GraphicsEngine, we will need to create and initialize an instance of the Camera class if we are to render our particles, so let&amp;#039;s get our camera set before we initialize the ParticleManager.&lt;br /&gt;
&lt;br /&gt;
Add the following line to the list of global variables at the beginning of the class:&lt;br /&gt;
&lt;br /&gt;
 Camera mActiveCamera;&lt;br /&gt;
&lt;br /&gt;
This will be whatever kind of camera we are currently using for drawing.  (We may want other cameras, too, for whatever reason.)&lt;br /&gt;
&lt;br /&gt;
Next we need to initialize the camera to any specific type of camera that derives from class Camera. At the time of this writing (January 2009) these types are limited to FollowCamera, OrthographicCamera, PerspectiveCamera2D, and PerspectiveCamera3D. For now we&amp;#039;ll use a PerspectiveCamera3D as our active camera.&lt;br /&gt;
&lt;br /&gt;
 mActiveCamera = new Perspective3DCamera(new Vector3(0, 0, -5), Vector3.Zero, Vector3.Up, MathHelper.Pi/5, 1, 1, 100);&lt;br /&gt;
&lt;br /&gt;
If we ever need to change the camera, be certain to update the active camera for the particle manager by calling &lt;br /&gt;
 mParticleManager.SetActiveCamera(newActiveCamera); &lt;br /&gt;
where newActiveCamera is the camera that has just been changed to.&lt;br /&gt;
&lt;br /&gt;
Now that we have a camera, make sure to initialize the particle manager (and optionally, some particle effects) in the class&amp;#039;s initialize method:&lt;br /&gt;
&lt;br /&gt;
 mParticleManager = new ParticleManager(Game, mActiveCamera); // Initialize the particle manager object with a reference to the current &lt;br /&gt;
                                                              // game and to the current active camera&lt;br /&gt;
 mTestEffect = mParticleManager.Load(&amp;quot;ParticleEffects/Explosion&amp;quot;); // Load in the given particle effect file by giving the&lt;br /&gt;
                                                                   // location at which it is compiled&lt;br /&gt;
&lt;br /&gt;
Once this has been done, you&amp;#039;ll have an effect loaded into the Particle Engine object &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; via the Particle Manager. However the Particle Engine isn&amp;#039;t worth much if it&amp;#039;s never called on to do anything, so let&amp;#039;s set up the rest of the code that&amp;#039;s needed for updating and drawing:&lt;br /&gt;
&lt;br /&gt;
To accomplish this, all we need to do is add the particle manager to the Game&amp;#039;s list of components. This is done as follows:&lt;br /&gt;
&lt;br /&gt;
 AddComponent(mParticleManager);&lt;br /&gt;
&lt;br /&gt;
Aside from this we need to set the draw order of the effects, at least generally by calling&lt;br /&gt;
&lt;br /&gt;
 mParticleManager.DrawOrder = DrawOrder; // The second DrawOrder being whatever draw order is desired&lt;br /&gt;
&lt;br /&gt;
This will draw and update any particles that have been loaded by the Particle Manager and have been set active.  However, the particle engine that we just created hasn&amp;#039;t yet been set active, so do that now.&lt;br /&gt;
&lt;br /&gt;
This is done by calling the following line whenever you would want drawing of that Particle Engine to occur.&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(true);&lt;br /&gt;
&lt;br /&gt;
The particle engine instance &amp;#039;&amp;#039;&amp;#039;mTestEffect&amp;#039;&amp;#039;&amp;#039; is now active.  If it were already active, its lifetime would have been reset to 0.  (The lifetime of a particle engine starts at zero and increases until its maximum lifetime is reached, in which case the particle engine &amp;quot;dies&amp;quot; and becomes inactive.)&lt;br /&gt;
&lt;br /&gt;
This same method can be used to stop the particle engine from creating any more particles, by supplying &amp;#039;&amp;#039;&amp;#039;false&amp;#039;&amp;#039;&amp;#039; as its parameter instead:&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false);&lt;br /&gt;
&lt;br /&gt;
A series of methods allow us to modify the drawing of the ParticleEngine:&lt;br /&gt;
&lt;br /&gt;
 SetSplineScale(float scale) // Given a float, scales the spline around the origin by the given amount every 1/10 of a second. Note that this only&lt;br /&gt;
                             // applies for all spline emitters in the engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePositions(Vector3[] Positions) // Given an array of 3D vectors, we can change the shape of all spline emitters in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 SetEnginePosition(Vector3 Position) // Given a 3D vector, we can move the whole particle engine to the desired position.&lt;br /&gt;
&lt;br /&gt;
 SetEngineColor(Vector4 Color) // Given a 4D vector of float values 0-1 in the form of RGBA, we can change the coloring of the whole particle engine&lt;br /&gt;
                               // Keep in mind that this applies that much of the emitters&amp;#039; texture for each value, so a black picture with 1,0,0,1 as&lt;br /&gt;
                               // its value will not be red but still black.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSize(Vector2 Size) // Given a 2D vector, we can modify the dimensions of the particle image, this is always 2D since particles in 3D are &lt;br /&gt;
                             // simply billboard sprites.&lt;br /&gt;
&lt;br /&gt;
 SetEngineSpeed(float Speed) // Given a float, changes the speed at which particles initially move at.&lt;br /&gt;
&lt;br /&gt;
 SetEngineDirection(Vector3 Direction) // Given a 3D vector, changes the direction in which particles move at. This does not apply to point emitters.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticlesPerSec(float NumPerSec) // Given a float, sets the number of particles created in a second. Note that this value times particle&lt;br /&gt;
                                           // lifetime should not exceed the amount of particles in order to insure consistent effects.&lt;br /&gt;
&lt;br /&gt;
 SetEngineParticleLifetime(float Lifetime) // Given a float, sets how long a particle lives for in seconds. Note that this should never be changed&lt;br /&gt;
                                           // while an effect is active, otherwise inconsistencies in the effect will most likely occur.&lt;br /&gt;
&lt;br /&gt;
 SetRandomDirection(bool Random) // Given a boolean, sets whether or not to make particles move in a random direction.&lt;br /&gt;
&lt;br /&gt;
Also, if needed you can change the draw order of each engine individually by calling&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.DrawOrder = DrawOrder; // The second DrawOrder is whatever draw order desired&lt;br /&gt;
&lt;br /&gt;
Whenever a game object that uses a particle effect is being disposed, make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.SetActive(false); // Making sure to set the effect to no longer being active&lt;br /&gt;
&lt;br /&gt;
on any effect with infinite life span and make sure to call&lt;br /&gt;
&lt;br /&gt;
 mTestEffect.ToDestroy = true; // Making sure to set the effect to no longer being alive&lt;br /&gt;
&lt;br /&gt;
so that the particle manager knows that it can clean up the effect.&lt;br /&gt;
&lt;br /&gt;
===Create a New Particle Effect===&lt;br /&gt;
&lt;br /&gt;
To create a new particle effect, start the TACParticleEditor program.  This program presents two windows, one containing a Windows form displaying information about the current particle effect, and the other displaying the particle effect.&lt;br /&gt;
&lt;br /&gt;
There are four main areas of the particle editor form:&lt;br /&gt;
&lt;br /&gt;
 List of emitters - The list of all the emitters in the particle effect.&lt;br /&gt;
&lt;br /&gt;
 Emitter type - Contains all the different types of emitters that exist in the particle engine.&lt;br /&gt;
&lt;br /&gt;
 Row of buttons - Each having a functionality expected from their name:&lt;br /&gt;
 &lt;br /&gt;
  Add - Adds an emitter of the chosen type from the list of emitter types to the particle effect&amp;#039;s emitter list.&lt;br /&gt;
 &lt;br /&gt;
  Remove - Removes the currently selected emitter in the particle effect&amp;#039;s emitter list from the list. &lt;br /&gt;
 &lt;br /&gt;
  Save - Saves the current particle effect to a specified .particle xml file.&lt;br /&gt;
 &lt;br /&gt;
  Load - Loads a particle effect from a selected .particle xml file.&lt;br /&gt;
&lt;br /&gt;
 Emitter Info Grid - Contains all the information that can be modified for whichever emitter in the list of emitters is currently selected.&lt;br /&gt;
&lt;br /&gt;
The modifiable parameters of the emitters are as follows:&lt;br /&gt;
&lt;br /&gt;
 For all emitters:&lt;br /&gt;
 &lt;br /&gt;
  textureName - The file path name of the texture to render the particles with. In order to load texture names correctly, there &lt;br /&gt;
  must exist a texture folder in the current project&amp;#039;s compiled content folder. The default starting directory is the TACParticleEditor. &lt;br /&gt;
  Whenever a new particle effect is loaded, the current directory is switched to that project&amp;#039;s content directory. Anytime a new &lt;br /&gt;
  texture is desired, it must be added manually to the appropriate project.&lt;br /&gt;
 &lt;br /&gt;
  blendEffect - The sprite blend to use when rendering the particles. Can be either None, AlphaBlend, or Additive.&lt;br /&gt;
  The various blend modes work as follows:&lt;br /&gt;
    &lt;br /&gt;
    None - every particle draws exactly as how the texture appears and no alpha values are used. Therefore there will be no transparency.&lt;br /&gt;
    For visual purposes it is highly suggested to not use this mode.&lt;br /&gt;
    &lt;br /&gt;
    AlphaBlend - Averages all of the particles alpha values up to the max value assigned to any particle. This effect is useful in creating&lt;br /&gt;
    effects such as dust, smoke, or gas clouds.&lt;br /&gt;
    &lt;br /&gt;
    Additive - Sums up the colors of all the particles to the maximum value of 1.0 for all values (r,g,b, and a). This effect is useful&lt;br /&gt;
    in creating effects such as fire, lasers, or shields.&lt;br /&gt;
  &lt;br /&gt;
  emitLifetime - The duration of time the emitter continues to emit new particles for in seconds. This can be any duration of time. A negative&lt;br /&gt;
  value denotes that the emitter never dies.&lt;br /&gt;
 &lt;br /&gt;
  particlesPerSec - The amount of particles that are created every second. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleAmount - The total amount of particles that can appear on screen at one time. This can be any nonzero positive integer.&lt;br /&gt;
 &lt;br /&gt;
  particleLifetime - The amount of time a particle lives for in seconds. This can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minStartSpeed - The slowest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSpeed - The fastest possible speed at which a particle can start moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minEndSpeed - The slowest possible speed at which a particle can end moving . This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSpeed - The fastest possible speed at which a particle can end moving. This can be any number, since a negative value just means&lt;br /&gt;
  that the particle will move in the opposite direction.&lt;br /&gt;
 &lt;br /&gt;
  minStartColor - The minimum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxStartColor - The maximum color values that a particle can start at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minEndColor - The minimum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  maxEndColor - The maximum color values that a particle can end at in r,g,b,a form (i.e. red, green, blue, alpha). These values can be any&lt;br /&gt;
  number between 0.0 and 1.0. &lt;br /&gt;
 &lt;br /&gt;
  minstartSize - The smallest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxStartSize - The largest size that a particle can start at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  minEndSize - The smallest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  maxEndSize - The largest size that a particle can end at in width,height form. These values can be any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
  isActive - Whether or not the emitter is currently spawning/updating/drawing particles. You can quickly activate all emitters &lt;br /&gt;
  of the loaded/created particle effect by hitting enter while having focus on the particle effect visualization window.&lt;br /&gt;
&lt;br /&gt;
 For directional emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  minVel - The minimum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  maxVel - The maximum velocity direction in which particles can move at in x,y,z form (aka a 3-dimensional vector going outward from the &lt;br /&gt;
  position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
					&lt;br /&gt;
 For point emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
&lt;br /&gt;
 For spline emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The positions at/between which particles will spawn in x,y,z form (aka list of 3-dimensional points). These values can be &lt;br /&gt;
  any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  scale - The amount of scaling that occurs every time the spline emitter is scaled, that is to say, how much all positions &lt;br /&gt;
  close in/expand from the origin (0,0,0) before any position offset is applied essentially creating an explosion or implosion &lt;br /&gt;
  effect. This value can be any nonzero positive number. 1.5 represents 150% current size, 0.5 represents 50% current size, etc.&lt;br /&gt;
 &lt;br /&gt;
  scaleSpeed - How quickly the scaling occurs in seconds. This can be any nonzero positive number. 1 is a scaling occurs once every second,&lt;br /&gt;
  0.5 is a scaling occurs every half second, etc.&lt;br /&gt;
&lt;br /&gt;
 For spray emitters:&lt;br /&gt;
 &lt;br /&gt;
  positions - The position in which particles will spawn in x,y,z form (aka a 3-dimensional point). These values can be any number.&lt;br /&gt;
 &lt;br /&gt;
  direction - The velocity direction in which particles will move in x,y,z form (aka a 3-dimensional point). (aka a 3-dimensional vector &lt;br /&gt;
  going outward from the position point). These numbers can range from -1.0 to 1.0.&lt;br /&gt;
 &lt;br /&gt;
  sprayRange - The area in which particles can spawn with the center at the set position in +/-x,+/-y,+/-z form. That is to say a cubic area&lt;br /&gt;
  with dimensions width, height, and depth and its origin at the given position. These values be any nonzero positive number.&lt;br /&gt;
&lt;br /&gt;
====Quick Reference Table====&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;Parameter&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Parameter type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Unit type&amp;#039;&amp;#039;&amp;#039;           &amp;#039;&amp;#039;&amp;#039;Range&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &amp;#039;&amp;#039;For all emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 textureName         String                   N/A                 Any valid path name works.&lt;br /&gt;
 blendEffect         SpriteBlendMode          N/A                 None, AlphaBlend, or Additive.&lt;br /&gt;
 emitLifetime        floating-point           Seconds             Any value. Negative value denotes emitter never dies.&lt;br /&gt;
 particlesPerSec     integer                  Per Second          Any nonzero positive number.&lt;br /&gt;
 particleAmount      integer                  N/A                 Any nonzero positive number.&lt;br /&gt;
 particleLifetime    floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 minStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxStartSpeed       floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 minEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 maxEndSpeed         floating-point           Arbitrary           Any number. Negative value denotes movement in opposite direction.&lt;br /&gt;
 isActive            boolean                  N/A                 True or False.&lt;br /&gt;
 minVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 maxVel              (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 positions           (x,y,z) vector           Arbitrary           Any number.&lt;br /&gt;
 direction           (x,y,z) vector           Arbitrary           Any number within -1.0 to 1.0.&lt;br /&gt;
 &amp;#039;&amp;#039;For spline emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 scale               floating-point           % of size           Any nonzero positive number. &amp;lt; 1 denotes decrease, &amp;gt; 1 denotes increase.&lt;br /&gt;
 scaleSpeed          floating-point           Seconds             Any nonzero positive number.&lt;br /&gt;
 &amp;#039;&amp;#039;For spray emitters:&amp;#039;&amp;#039;&lt;br /&gt;
 sprayRange          (width,height,depth)     Arbitrary           Any nonzero positive number.&lt;br /&gt;
 &lt;br /&gt;
 *Note that all arbitrary values are based on the current camera space.&lt;br /&gt;
&lt;br /&gt;
==Keep Score and Give Resources to the Simulator Mode==&lt;br /&gt;
&lt;br /&gt;
Use the ScoreCard class to keep track of the score from a minigame. It provides easy ways to add and subtract resources, as well as an easy way to display them and pass them along to the Colony Simulator.&lt;br /&gt;
&lt;br /&gt;
MiniGame has a ColonyScoreCard built into it, accessible by the Score property. Here are some examples of how to use it:&lt;br /&gt;
&lt;br /&gt;
 class MyGame : MiniGame&lt;br /&gt;
 {&lt;br /&gt;
   public override void Update(ContentManager content)&lt;br /&gt;
   {&lt;br /&gt;
     Score.Gather(ColonyResources.Money, 500);    // Get 500 Monies&lt;br /&gt;
     &lt;br /&gt;
     MyGameObject mgo = new MyGameObject();&lt;br /&gt;
     mgo.GiveMyGameCarbon();                      // Get 1 Carbon&lt;br /&gt;
 &lt;br /&gt;
     Score.IncurDamageCost(100);                  // On CashOut, Money = Max (Money - DamageCosts, 0)&lt;br /&gt;
 &lt;br /&gt;
     int HowMuchMoneyIHave = Score.QueryResource(ColonyResources.Money);&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   public void DisplayTheScore()&lt;br /&gt;
   {&lt;br /&gt;
     bool playerWonTheMinigame = true;            // Can be set to false if the player lost&lt;br /&gt;
     Score.Display(playerWonTheMinigame );        // Displays a copy of the current score and a message for succses/failure&lt;br /&gt;
     Score.CashOut();                             // Transfers resources from MyGame to the Colony Simulator&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   // ...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 class MyGameObject : Entity&lt;br /&gt;
 {&lt;br /&gt;
   public void GiveMyGameCarbon()&lt;br /&gt;
   {&lt;br /&gt;
     ColonyBaseApplication.MiniGame.Score.Gather(ColonyResources.Carbon, 1);&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
**Note: The code provided here is very subject to change as this section is under development.&lt;br /&gt;
&lt;br /&gt;
==Write to the Experiment Log==&lt;br /&gt;
&lt;br /&gt;
As the game runs, certain actions are recorded and written to a file (My Documents\Autism Collaborative\Users\DefaultUser\LogFiles\ExperimentLog.txt or as specified). In the lab, these codes are also sent through the parallel port to sync the EEG data. Every action that pertains to an experiment must be logged in order to be analyzed.  (That&amp;#039;s the whole point of this game!)&lt;br /&gt;
&lt;br /&gt;
First define the necessary game codes. This is done to ensure consistency across each mini-game.&lt;br /&gt;
&lt;br /&gt;
* Open EventCodes.cs, or wherever you store the enum for your project.&lt;br /&gt;
* Codes in the range 1 - 255 are valid and can be written to the parallel port.&lt;br /&gt;
** The name of the code should be chosen at your convenience, and may be included to make the text log file more readable.&lt;br /&gt;
* Codes may be assigned outside this range, both positive and negative; these codes may be used in the same way, but will be logged only to the text log file and not to the parallel port.&lt;br /&gt;
** Codes in the negative range are considered debugging codes, and can be omitted from the log file by setting the writeDebugEvents property on the logger.&lt;br /&gt;
&lt;br /&gt;
Now those codes are available for logging, thus:&lt;br /&gt;
&lt;br /&gt;
 Logger logger = new Logger(&amp;quot;ExampleLogFile.txt&amp;quot;);&lt;br /&gt;
 logger.LogCode( (int)Minigame.EventCode.WeaponFiredEvent, &amp;quot;WeaponFired&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
It is also possible to tell the logger to log a code every time a specific key is pressed:&lt;br /&gt;
&lt;br /&gt;
 InputHandler inputHandler = new InputHandler(true);&lt;br /&gt;
 inputHandler.Bind(Keys.A, InputHandler.Trigger.Pressed, (int)Minigame.Eventcode.PressedAEvent);&lt;br /&gt;
&lt;br /&gt;
As these assigned events are local to each InputHandler object, your mini-game&amp;#039;s event code assignments will not interact with the event code assignments of other mini-games.&lt;br /&gt;
&lt;br /&gt;
Every mini-game should start with its GameBegin and end with its GameEnd[Success/Failure] codes.&lt;br /&gt;
&lt;br /&gt;
It may be helpful to log events for debugging purposes. These codes should have an identifier such as &amp;quot;DEBUG_&amp;quot; and will not be logged unless writeDebugEvents is set to true on the logger. (writeDebugEvents is true by default only when the game is running in Debug mode.) All new DEBUG tags must be explicitly assigned a value less than 0.&lt;br /&gt;
&lt;br /&gt;
===Event Code Summary===&lt;br /&gt;
&lt;br /&gt;
Event Codes may be any integer value.&lt;br /&gt;
* Less than 0 : Debug events, will only be written in Debug Mode.&lt;br /&gt;
* 0 : Null, no event.&lt;br /&gt;
* 1 - 255 : Experimentation event, will be written to the log and the parallel port.&lt;br /&gt;
* Greater then 255 : Cannot be written to the parallel port, will be written to log only.&lt;br /&gt;
&lt;br /&gt;
==Use the Game Script==&lt;br /&gt;
*Note: The LUA scripts are not universally compatible and have been known to crash on some machines. It is highly recommended that C# scripts are used.&lt;br /&gt;
&lt;br /&gt;
The tAC_Engine houses a [[http://www.lua.org/ Lua]] Virtual Machine. This can be used to tweak global parameters at runtime, load them from config files, drive cutscenes, or even save and load levels.&lt;br /&gt;
&lt;br /&gt;
Function callbacks are defined in C# and then invoked from a Lua file or the in-game Debug console. In other words, C# tells Lua &amp;quot;you may use these functions: X,Y,...&amp;quot; and then Lua says &amp;quot;do X, do Y, etc.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here are a couple of ways to leverage this system:&lt;br /&gt;
&lt;br /&gt;
===Make a Cutscene===&lt;br /&gt;
&lt;br /&gt;
* Create a new lua file in the Scripts directory&lt;br /&gt;
** That file can call any registered function callbacks&lt;br /&gt;
* In the Properties window, set Copy to Output Directory to Copy if Newer&lt;br /&gt;
* Call that cutscene with:&lt;br /&gt;
 GenericBaseApplication.GameManager.PlayCutscene(@&amp;quot;Scripts\MyCutscene.lua&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
===To Register a Function Callback===&lt;br /&gt;
&lt;br /&gt;
* Create the function in C# (if the function does not already exist)&lt;br /&gt;
** It must be declared public and non-static&lt;br /&gt;
** If the need arises to register a static function, declare an instanced function in GenericLuaHelper or ColonyLuaHelper that simply calls the static function.&lt;br /&gt;
* Register the function with the Lua Virtual Machine&lt;br /&gt;
** Add the special LuaCallback annotation to the function&lt;br /&gt;
* Call the RegisterLuaCallbacks function in the class&amp;#039;s constructor that contains the function.&lt;br /&gt;
* Example:&lt;br /&gt;
 public MyClass()&lt;br /&gt;
 {  // Constructor&lt;br /&gt;
   LuaHelper.RegisterLuaCallbacks(this);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 [LuaCallback(&amp;quot;SetMyVariable&amp;quot;)]&lt;br /&gt;
 public int SetMyVariable(int value)&lt;br /&gt;
 {&lt;br /&gt;
   mMyVariable = value;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===Tweak Game Parameters===&lt;br /&gt;
&lt;br /&gt;
Exposing a variable to the Lua Virtual Machine allows it to be accessed by a any script (including config files) or changed at runtime in the drop down console (accessible in Debug mode by hitting &amp;quot;~&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
* Expose a variable with a global setter/getter with a LuaCallback annotation&lt;br /&gt;
** Make sure to call the RegisterLuaCallbacks function in that class&amp;#039;s constructor if the getter/setter is not in the Game Manager&lt;br /&gt;
* Set the default value for the variable in the config file (optional)&lt;br /&gt;
** There are 3 config files for the 3 configurations of the game builds&lt;br /&gt;
*** Debug.conf, for development&lt;br /&gt;
*** StandardRelease.conf, for public releases of the game&lt;br /&gt;
*** LabRelease.conf, for use in the lab&lt;br /&gt;
&lt;br /&gt;
===Create Local Settings===&lt;br /&gt;
&lt;br /&gt;
Programmers may want to change certain properties on their machines without affecting the source-controlled code. They could change the resolution, sound settings, or even have the game bypass the regular startup sequence and launch right into the middle of a MiniGame all with no effect on other developers.&lt;br /&gt;
&lt;br /&gt;
* Create a new file: Autism Collaborative\Game\Game\Scripts\LocalSettings.lua&lt;br /&gt;
** The Visual Studio project already has this file included, but VS won&amp;#039;t be able to edit it until the file is created manually&lt;br /&gt;
* Add Lua commands and save the file&lt;br /&gt;
** Visual Studio can now be used to edit the file&lt;br /&gt;
* The file is run at the end of the Debug.conf script (if it exists)&lt;br /&gt;
** That means that this script is only run in Debug mode&lt;br /&gt;
* do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; add LocalSettings.lua to source control!&lt;br /&gt;
&lt;br /&gt;
===Creating Scripts in C# Code===&lt;br /&gt;
&lt;br /&gt;
Alternatively, scripts can created using C# code rather than Lua. A C# script either be object oriented or imperative. They are able to both take in objects and return values. The CSharpHelper class can be called to run these scripts using its DoSimpleFile method. This will simply run all the code in the script. The value of this is that commonly edited code, such as configuration files, can be saved in a convenient separate location. The methods for CSharpHelper are well documented within the file itself. An example of a basic call to a C# script is as follows:&lt;br /&gt;
&lt;br /&gt;
 CSharpHelper.doSimpleFile(Environment.CurrentDirectory + @&amp;quot;\Configs\DebugConfig.script&amp;quot;, this, &amp;quot;game&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
This starts a C# file called &amp;quot;DebugConfig.script&amp;quot; which is located in the Configs directory. The second parameter is a Game object. The object passed in can be of any type. The third parameter is the identifier of the object within the script. In this case the identifier is &amp;quot;game&amp;quot;. This means that inside the script, lines such as:&lt;br /&gt;
&lt;br /&gt;
 game.Update();&lt;br /&gt;
&lt;br /&gt;
will execute the passed-in object&amp;#039;s Update function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Publish the Installer==&lt;br /&gt;
&lt;br /&gt;
===Create the Installer===&lt;br /&gt;
&lt;br /&gt;
We use InnoSetup to create the installer. Checkout their website (http://www.jrsoftware.org/isinfo.php) if you need to change the script, but simply publishing the game does not require any adjustment to the installer script.&lt;br /&gt;
&lt;br /&gt;
* Install InnoSetup if necessary&lt;br /&gt;
* Compile the game&lt;br /&gt;
** In the second menu bar (immediately below the top menu bar) within Visual Studio, change &amp;quot;Debug&amp;quot; to &amp;quot;Release&amp;quot;.  (In the box to the right, leave the default &amp;quot;Mixed Platforms&amp;quot;.)  &lt;br /&gt;
** Select Build-&amp;gt;Build Solution&lt;br /&gt;
* Compile the installer script&lt;br /&gt;
** Open Autism Collaborative\Game\Installer\Installer.iss with InnoSetup&lt;br /&gt;
** Select Build-&amp;gt;Compile&lt;br /&gt;
*** This creates the file Autism Collaborative\Game\Game\Output\AstropolisSetupLite.exe&lt;br /&gt;
*** When the compilation is finished, it will ask if you want to test the installer. It is recommended to test it, but not required.&lt;br /&gt;
* Repeat the last step with InstallerFull.iss if desired, this will generate AstropolisSetup.exe, which contains the full offline installers for the dependencies. This is necessary for the lab computers which may not have internet access.&lt;br /&gt;
&lt;br /&gt;
===Upload the Installer to the Web===&lt;br /&gt;
&lt;br /&gt;
* Get a username/password for autismcollaborative.org from Matthew.&lt;br /&gt;
* To transfer the file, use an SSH client such as WinSCP (for a graphical interface) or PuTTY&amp;#039;s PSCP (from the command line)&lt;br /&gt;
** Either download it or run Autism Collaborative\Utilities\WinSCP.exe&lt;br /&gt;
* Log in to AutismCollaborative.org (port 22)&lt;br /&gt;
* Upload AstropolisSetup.exe and AstropolisSetupLite.exe to your home directory (for example /home/zinsser)&lt;br /&gt;
** Do not overwrite the existing installers (/home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe) since that would delete the installer from the web site until the new installer finishes uploading&lt;br /&gt;
* Once the upload is complete, back up the old installers and replace them with the new ones: (you may have to open a terminal first, depending on your SSH client)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe +%Y_%m_%d`_AstropolisSetup.exe;&lt;br /&gt;
mv /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe /home/belmonte/autismcollaborative.org/downloads/Old_Installers/`date -r /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe +%Y_%m_%d`_AstropolisSetupLite.exe;&lt;br /&gt;
mv /home/{$user}/AstropolisSetup.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetup.exe&lt;br /&gt;
mv /home/{$user}/AstropolisSetupLite.exe /home/belmonte/autismcollaborative.org/downloads/AstropolisSetupLite.exe&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
** If there is a permissions problem, contact Matthew to make certain that your user ID has write and search permission for the autismcollaborative.org/downloads directory.&lt;br /&gt;
&lt;br /&gt;
==Using the Mini Game Score Screens==&lt;br /&gt;
&lt;br /&gt;
The Mini Game Score Screens are implemented in a class within the tAC_Engine. This class is utilized to encapsulate the behavior for the displaying the scores of mini games uniformly to players, while also allowing a uniform means of exiting the mini game. All mini games utilize the 2 screen approach (one for the menu for the game, one for the actual game) on top of tyhe stack. Because of this, the mini game score screen allows the direct exiting of a mini game after it has been played, returning back to the Colony Simulation or previous game screen on the stack, before the mini game was selected.&lt;br /&gt;
&lt;br /&gt;
This is done by clicking the Exit button in the score screen, which performs 3 Done() operations on the stack.&lt;br /&gt;
&lt;br /&gt;
To display scores, the game must create a MiniGameScore screen object and call it to display, as follows:&lt;br /&gt;
&lt;br /&gt;
 MiniGameScoreScreen scoreScreen = new MiniGameScoreScreen();&lt;br /&gt;
 scoreScreen.DisplayScores( Title_Of_Game, Scores );&lt;br /&gt;
&lt;br /&gt;
Where the values are as follows:&lt;br /&gt;
*Title_Of_Game is a string, which is displayed at the top of the score screen.&lt;br /&gt;
*Scores is a Dictionary&amp;lt;string, string&amp;gt; where the first value is the label for the score, and the second value is the string value associated with that score (usually some number written in string form, but it could be textual as well).&lt;br /&gt;
&lt;br /&gt;
==Use the ErrorLog==&lt;br /&gt;
&lt;br /&gt;
When the game encounters an Unhandled Exception (such as when an end user runs into a bug in our code), useful information is dumped to ErrorLog.txt.  The user is encouraged to email that file to us so that we can locate the problem.  Although the ErrorLog will tell us what function the program died in, it cannot tell us specifically which line was the culprit (although ErrorLogs created when the game is running in Visual Studio will tell us exactly which line).&lt;br /&gt;
&lt;br /&gt;
We do, however, have the ability to log any custom information from a mini-game. This ability may prove invaluable in debugging based on end-user error reports.  All that you (the programmer) must do is override the string MiniGame.DebugInfo() function.  When ErrorLog.txt is created, it calls that function on the current MiniGame and appends the returned text to the bottom of the file.&lt;br /&gt;
&lt;br /&gt;
==Testing Procedure==&lt;br /&gt;
&lt;br /&gt;
This is a list of recommended tests to be performed on a regular basis to ensure that the major functionality of the program is intact.&lt;br /&gt;
&lt;br /&gt;
Maritime Defender&lt;br /&gt;
&lt;br /&gt;
*Play through tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Text does not run off screen&lt;br /&gt;
**Dialog boxes wait for the space bar to be pressed before disappearing&lt;br /&gt;
**During the navigation-phase tutorial, input is registered correctly&lt;br /&gt;
&lt;br /&gt;
*Play through main game&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Collision detection is correct&lt;br /&gt;
**Phases are in the correct order&lt;br /&gt;
**Navigation phase looks correct: Dots are the correct size and dot correlation fits PEST data. Look for any slowdown or loss of frames.&lt;br /&gt;
**Boss fight is correct. Boss takes damage and causes the player damage.&lt;br /&gt;
**Player Health is displayed correctly on taking damage.&lt;br /&gt;
&lt;br /&gt;
Colony Simulator&lt;br /&gt;
&lt;br /&gt;
*Check GUI&lt;br /&gt;
Things to Note:&lt;br /&gt;
**Each button is clickable and causes the appropriate event to occur.&lt;br /&gt;
**Make sure that you cannot click through things&lt;br /&gt;
**Select each type of building and make sure the pop-up information is appropriate&lt;br /&gt;
&lt;br /&gt;
*Check building placement&lt;br /&gt;
**Place each type of building&lt;br /&gt;
**Connect a mining building to a factory through a tube&lt;br /&gt;
**Connect a residential building to a factory through a road&lt;br /&gt;
**Once this is done, resources should increase.&lt;br /&gt;
&lt;br /&gt;
**Connect a residential building to a commercial building&lt;br /&gt;
**Once this is done, the player&amp;#039;s money should start increasing&lt;br /&gt;
&lt;br /&gt;
**Check the building log to make sure that the build order is correct&lt;br /&gt;
&lt;br /&gt;
*Check that mini-games can be accessed&lt;br /&gt;
**Attempt to play each mini-game through the colony simulator, executing all of their tests and checkin their appropriate logs&lt;br /&gt;
&lt;br /&gt;
Stellar Prospector&lt;br /&gt;
&lt;br /&gt;
*Play through the tutorial&lt;br /&gt;
Things to Note:&lt;br /&gt;
*Make sure that event codes are properly logged.&lt;br /&gt;
**Tasks match up with the specified text.&lt;br /&gt;
**Text does not run off the display.&lt;br /&gt;
**Input events still work when the player is prompted for them.&lt;br /&gt;
**Automated events such as energy drain and automatic grab still work.&lt;br /&gt;
**Tutorial returns to the main screen after ending.&lt;br /&gt;
**Make sure all graphical effects work correctly, i.e. tractor beam, explosion, and flickering.&lt;br /&gt;
**Player does not get locked in the game; player remains able to exit through the game menu if ESC is pressed.&lt;br /&gt;
&lt;br /&gt;
*Play through the main game&lt;br /&gt;
Things to note:&lt;br /&gt;
**Make sure event codes are properly logged.&lt;br /&gt;
**Make sure input works correctly&lt;br /&gt;
**Phase changes occur correctly and at the right times.&lt;br /&gt;
**Energy draining and filling works correctly.&lt;br /&gt;
**Pause menu works correctly&lt;br /&gt;
**Game ends once energy bar is filled, and returns to the main menu&lt;br /&gt;
**Make certain that all graphical effects work correctly, i.e tractor beam, explosion, and flickering.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=572</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=572"/>
				<updated>2009-02-03T18:45:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Stellar Prospector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as Notepad or Vim. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Lab, Home and Debug configurations===&lt;br /&gt;
&lt;br /&gt;
The only difference between the lab and the home versions of the game is the config file that is used. The program will automatically use the LabConfig.script file if it exists; otherwise it will use Config.script. To run the program in the lab, simply make certain that the LabConfig.script file is present.&lt;br /&gt;
&lt;br /&gt;
(When the game is being run from within the debugger, a third configuration script, DebugConfig.script, is used.)&lt;br /&gt;
&lt;br /&gt;
These config files will be found in &amp;quot;[Game Install Directory]\Configs\&amp;quot; (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
See also: [[Differences in Home vs Lab Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Location===&lt;br /&gt;
&lt;br /&gt;
[Installation Directory]\Configs\Config.script (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Global Config.script can be found in the Configs folder under the Autism Collaborative folder -- typically C:\Program Files\Autism Collaborative\Configs\Config.script.  This holds global settings that will be applied automatically when the game starts.  Individual minigames may have individual configurations specific to those minigames.  This individual config file is also called Config.script, and can be found in the Configs folder under the minigame&amp;#039;s folder -- typically C:\Program Files\Autism Collaborative\Minigames\[MiniGameName]\Configs\Config.script.&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true; If not specified, this will default to False.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a diameter of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotResponseWait = 0.5;&lt;br /&gt;
* The duration of time in seconds immediately after a trial with no response in which late responses can be excepted.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial in seconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.HaveNonCoherentTrials = false;&lt;br /&gt;
* Whether NonCoherentTrials should be included. If false, there will be coherent motion to the left or right for every trial.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.ProgressLostPerMiss = 1;&lt;br /&gt;
* The amount of progress lost anytime an incorrect response is given&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CentralStimulusProgressDrain = 1;&lt;br /&gt;
* Amount of progress drained every 2 seconds during a central stimulus&lt;br /&gt;
 &lt;br /&gt;
 StellarProspector.Settings.UseFlickering = true;&lt;br /&gt;
* Determines whether or not to use flickering&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.AutoCalculateFlickering = true;&lt;br /&gt;
* Whether the frames on/off and intensities of the flickering effect are automatically calculated by the frequency or are just taken from the manually set values.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterHertz = 6.67;&lt;br /&gt;
* The rate at which the center sector flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOnFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOffFrames = 5;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterIntensity = 1.25;&lt;br /&gt;
* The percentage of intensity of the center sector when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Hertz = 8.57;&lt;br /&gt;
* The rate at which sector one flickers per second&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OffFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Intensity = 1.33;&lt;br /&gt;
* The percentage of intensity of sector one when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Hertz = 10;&lt;br /&gt;
* The rate at which sector two flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector two when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3Hertz = 12;&lt;br /&gt;
* The rate at which sector three flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered off&lt;br /&gt;
 &lt;br /&gt;
 StellarProspector.Settings.Sector3Intensity = 1.5;&lt;br /&gt;
* The percentage of intensity of sector three when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Hertz = 15;&lt;br /&gt;
* The rate at which sector four flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OffFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector four when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. For example, the keyboard bindings for the ColonySim could be found at [Installation Directory]\testkeybindings.txt (Default: &amp;quot;C:\Program Files\Autism Collaborative\testkeybindings.txt&amp;quot;). It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\Documents\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\My Documents\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
The documentation for the building placement log for the Colony Simulation can be found here -&amp;gt; [[Building_Placement_Log_Specification]].&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=571</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=571"/>
				<updated>2009-02-03T18:39:57Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Stellar Prospector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as Notepad or Vim. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Lab, Home and Debug configurations===&lt;br /&gt;
&lt;br /&gt;
The only difference between the lab and the home versions of the game is the config file that is used. The program will automatically use the LabConfig.script file if it exists; otherwise it will use Config.script. To run the program in the lab, simply make certain that the LabConfig.script file is present.&lt;br /&gt;
&lt;br /&gt;
(When the game is being run from within the debugger, a third configuration script, DebugConfig.script, is used.)&lt;br /&gt;
&lt;br /&gt;
These config files will be found in &amp;quot;[Game Install Directory]\Configs\&amp;quot; (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
See also: [[Differences in Home vs Lab Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Location===&lt;br /&gt;
&lt;br /&gt;
[Installation Directory]\Configs\Config.script (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Global Config.script can be found in the Configs folder under the Autism Collaborative folder -- typically C:\Program Files\Autism Collaborative\Configs\Config.script.  This holds global settings that will be applied automatically when the game starts.  Individual minigames may have individual configurations specific to those minigames.  This individual config file is also called Config.script, and can be found in the Configs folder under the minigame&amp;#039;s folder -- typically C:\Program Files\Autism Collaborative\Minigames\[MiniGameName]\Configs\Config.script.&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true; If not specified, this will default to False.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a diameter of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotResponseWait = 0.5;&lt;br /&gt;
* The duration of time in seconds immediately after a trial with no response in which late responses can be excepted.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial in seconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.HaveNonCoherentTrials = false;&lt;br /&gt;
* Whether NonCoherentTrials should be included. If false, there will be coherent motion to the left or right for every trial.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.ProgressLostPerMiss = 1;&lt;br /&gt;
* The amount of progress lost anytime an incorrect response is given&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CentralStimulusProgressDrain = 1;&lt;br /&gt;
* Amount of progress drained every 2 seconds during a central stimulus&lt;br /&gt;
 &lt;br /&gt;
 StellarProspector.Settings.UseFlickering = false;&lt;br /&gt;
* Determines whether or not to use flickering&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.AutoCalculateFlickering = true;&lt;br /&gt;
* Whether the frames on/off and intensities of the flickering effect are automatically calculated by the frequency or are just taken from the manually set values.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterHertz = 6.67;&lt;br /&gt;
* The rate at which the center sector flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOnFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOffFrames = 5;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterIntensity = 1.25;&lt;br /&gt;
* The percentage of intensity of the center sector when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Hertz = 8.57;&lt;br /&gt;
* The rate at which sector one flickers per second&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OffFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Intensity = 1.33;&lt;br /&gt;
* The percentage of intensity of sector one when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Hertz = 10;&lt;br /&gt;
* The rate at which sector two flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector two when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3Hertz = 12;&lt;br /&gt;
* The rate at which sector three flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered off&lt;br /&gt;
 &lt;br /&gt;
 StellarProspector.Settings.Sector3Intensity = 1.5;&lt;br /&gt;
* The percentage of intensity of sector three when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Hertz = 15;&lt;br /&gt;
* The rate at which sector four flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OffFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector four when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. For example, the keyboard bindings for the ColonySim could be found at [Installation Directory]\testkeybindings.txt (Default: &amp;quot;C:\Program Files\Autism Collaborative\testkeybindings.txt&amp;quot;). It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\Documents\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\My Documents\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
The documentation for the building placement log for the Colony Simulation can be found here -&amp;gt; [[Building_Placement_Log_Specification]].&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=570</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=570"/>
				<updated>2009-02-03T18:38:09Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Stellar Prospector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as Notepad or Vim. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Lab, Home and Debug configurations===&lt;br /&gt;
&lt;br /&gt;
The only difference between the lab and the home versions of the game is the config file that is used. The program will automatically use the LabConfig.script file if it exists; otherwise it will use Config.script. To run the program in the lab, simply make certain that the LabConfig.script file is present.&lt;br /&gt;
&lt;br /&gt;
(When the game is being run from within the debugger, a third configuration script, DebugConfig.script, is used.)&lt;br /&gt;
&lt;br /&gt;
These config files will be found in &amp;quot;[Game Install Directory]\Configs\&amp;quot; (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
See also: [[Differences in Home vs Lab Configuration]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Location===&lt;br /&gt;
&lt;br /&gt;
[Installation Directory]\Configs\Config.script (Default: &amp;quot;C:\Program Files\Autism Collaborative\Configs\&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
The Global Config.script can be found in the Configs folder under the Autism Collaborative folder -- typically C:\Program Files\Autism Collaborative\Configs\Config.script.  This holds global settings that will be applied automatically when the game starts.  Individual minigames may have individual configurations specific to those minigames.  This individual config file is also called Config.script, and can be found in the Configs folder under the minigame&amp;#039;s folder -- typically C:\Program Files\Autism Collaborative\Minigames\[MiniGameName]\Configs\Config.script.&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true; If not specified, this will default to False.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a diameter of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotResponseWait = 0.5;&lt;br /&gt;
* The duration of time in seconds immediately after a trial with no response in which late responses can be excepted.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial in seconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.HaveNonCoherentTrials = false;&lt;br /&gt;
* Whether NonCoherentTrials should be included. If false, there will be coherent motion to the left or right for every trial.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.ProgressLostPerMiss = 1;&lt;br /&gt;
* The amount of progress lost anytime an incorrect response is given&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CentralStimulusProgressDrain = 1;&lt;br /&gt;
* Amount of progress drained every 2 seconds during a central stimulus&lt;br /&gt;
 &lt;br /&gt;
StellarProspector.Settings.UseFlickering = false;&lt;br /&gt;
* Determines whether or not to use flickering&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.AutoCalculateFlickering = true;&lt;br /&gt;
* Whether the frames on/off and intensities of the flickering effect are automatically calculated by the frequency or are just taken from the manually set values.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterHertz = 6.67;&lt;br /&gt;
* The rate at which the center sector flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOnFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterOffFrames = 5;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does the center sector remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.CenterIntensity = 1.25;&lt;br /&gt;
* The percentage of intensity of the center sector when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Hertz = 8.57;&lt;br /&gt;
* The rate at which sector one flickers per second&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1OffFrames = 4;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector one remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector1Intensity = 1.33;&lt;br /&gt;
* The percentage of intensity of sector one when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Hertz = 10;&lt;br /&gt;
* The rate at which sector two flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OnFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector two remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector2Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector two when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3Hertz = 12;&lt;br /&gt;
* The rate at which sector three flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector3OffFrames = 3;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector three remain flickered off&lt;br /&gt;
 &lt;br /&gt;
 StellarProspector.Settings.Sector3Intensity = 1.5;&lt;br /&gt;
* The percentage of intensity of sector three when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Hertz = 15;&lt;br /&gt;
* The rate at which sector four flickers per second &lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OnFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered on&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4OffFrames = 2;&lt;br /&gt;
* How many frames (out of 60 frames per second) in a row does sector four remain flickered off&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.Sector4Intensity = 1.0;&lt;br /&gt;
* The percentage of intensity of sector four when it is flickered on. 1.0 denotes 100% intensity.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. For example, the keyboard bindings for the ColonySim could be found at [Installation Directory]\testkeybindings.txt (Default: &amp;quot;C:\Program Files\Autism Collaborative\testkeybindings.txt&amp;quot;). It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\Documents\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\My Documents\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
The documentation for the building placement log for the Colony Simulation can be found here -&amp;gt; [[Building_Placement_Log_Specification]].&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=447</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=447"/>
				<updated>2008-10-01T04:11:40Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as notepad. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Location===&lt;br /&gt;
&lt;br /&gt;
[Installation Directory]\Configs\Config.script&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true; If not specified, this will default to False.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a diameter of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\AppData\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\Application Data\Autism Collaborative\&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=444</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=444"/>
				<updated>2008-09-23T17:39:11Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Stellar Prospector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as notepad. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a radius of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\AppData\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\Application Data\Autism Collaborative\&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=443</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=443"/>
				<updated>2008-09-23T17:37:28Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Stellar Prospector */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as notepad. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a radius of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.ParallelEnabled = true;&lt;br /&gt;
* Whether or not the logger is parallel enabled.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The maximum time in milliseconds that a stimulus can be displayed.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\AppData\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\Application Data\Autism Collaborative\&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=442</id>
		<title>End-user Setup</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=End-user_Setup&amp;diff=442"/>
				<updated>2008-09-23T17:36:01Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Maritime Defender */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each Minigame has a variety of settings that can be configured individually.&lt;br /&gt;
&lt;br /&gt;
==Config==&lt;br /&gt;
&lt;br /&gt;
The Config.script file holds general settings. It can be opened with any general text editor, such as notepad. Each line ending with a semicolon (;) indicates a command for the game to follow. Lines beginning with two forward slashes (//) are considered comments, and will not be processed. A block comment is a section beginning with (/*) and ending at (*/).&lt;br /&gt;
&lt;br /&gt;
===Global===&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetResolution([horizontal],[vertical]);&lt;br /&gt;
* Set the screen resolution this game will be played at, for example, Util.Settings.SetResolution(1024,768);&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.FullScreen = [true/false];&lt;br /&gt;
* Set whether the game window will be fullscreen, for example, Util.Settings.FullScreen = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPortEnabled = [true/false];&lt;br /&gt;
* Set whether codes should be written out the Parallel Port, for example, Util.Settings.ParallelEnabled = true;&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.ParallelPort = ParallelPort.Port1;&lt;br /&gt;
* Set which Parallel Port codes should be written to, if enabled. Valid values are Port1, Port2, and Port3. Defaults to Port1.&lt;br /&gt;
&lt;br /&gt;
 Util.Settings.SetScreenDimensions([Width], [Height], [Distance]);&lt;br /&gt;
* Width is the width of the display, in centimeters. Height is as height of the display, in centimeters. Distance is the distance between the display and the viewer&amp;#039;s eyes, in centimeters. For the dot coherence phase of Maritime Defender, the dots are based on the size of the visual display as it appears to the player. For example, Util.Settings.SetScreenDimensions(8.5, 6.25, 24.0);&lt;br /&gt;
&lt;br /&gt;
===Maritime Defender===&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerSquareDegree = [Number];&lt;br /&gt;
* For the dot coherence phase, the dots are based on the size of the visual display as it appears to the player. This sets the density of the dots as they appear on the screen. Either measure, radians or degrees, may be used. For example, MaritimeDefender.Settings.DotsPerSquareRadian = 10000.0;&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerRadian = [Number];&lt;br /&gt;
 MaritimeDefender.Settings.DotsPerDegree = [Number];&lt;br /&gt;
* Specify the dot density as the number of dots within a circular patch of screen space with a radius of one radian or degree of visual angle as it appears to the user.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.NumberDots = [Number];&lt;br /&gt;
* Override the above settings, specifying exactly the number of dots that should be drawn on the screen. This setting is optional.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotDiameter = System.Math.PI / 1028;&lt;br /&gt;
* Affects the average size of the coherence dots in terms of radians.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotSpeed = System.Math.PI / 16;&lt;br /&gt;
* Affects how fast the coherence dots appear to move across the screen in terms of radians per second.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotLifeSpan = 4 / 60.0;&lt;br /&gt;
* How long each dot exists on the screen. 4 / 60.0 reflects 4 frames on a 60 hertz display.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelay = 1;&lt;br /&gt;
* Additional Delay in seconds between each dot test, for the EEG readings. This is in addition to a random jitter of, by default, between 0 and 150ms; this jitter is controlled by the DotRefreshDelayJitter.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotRefreshDelayJitter = 0.15;&lt;br /&gt;
* A random amount of jitter between 0 and [value] seconds will added to the DotRefreshDelay so that the time between two successive coherence trials is not constant. The default is 0.15 of a second, or 150 milliseconds.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.DotTrialLength = 2;&lt;br /&gt;
* The average duration of a dot test trial.&lt;br /&gt;
&lt;br /&gt;
 MaritimeDefender.Settings.SetPhaseQueue(2, &amp;quot;IdentityTest, 1, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 3, DotTest, 140, Shooter, 1, Boss, 0&amp;quot;);&lt;br /&gt;
* The game phases for Maritime Defender. A list of pairs, a name and a value. Currently, the Game must start with an IdentityTest phase. The Shooter value is how many wormholes must be opened and ships identified in order to move on to the next Phase. The DotTest value is how many dot trials will take place during that phase, where a trial may be a motion of dots, or an absence of motion.&lt;br /&gt;
&lt;br /&gt;
===Stellar Prospector===&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.ParallelEnabled = true;&lt;br /&gt;
* Whether or not the logger is parallel enabled.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMax = 1500f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a stimulus must appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusWaitMin = 500f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a stimulus can appear after the offset of the previous stimulus.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds before a distractor must appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorWaitMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds before a distractor can appear after the offset of the previous distractor.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMax = 10000f;&lt;br /&gt;
* The maximum amount of time in milliseconds that a distractor can live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.DistractorLifeMin = 2000f;&lt;br /&gt;
* The minimum amount of time in milliseconds that a distactor must live for after it has been created.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimulusLifeMax = 6000f;&lt;br /&gt;
* The overall life time in milliseconds of stimuli that it will live for.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMin = 1;&lt;br /&gt;
* The minimum number of stimuli that must appear before the cued sector can change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.StimuliPerCueMax = 1;&lt;br /&gt;
* The maximum number of stimuli that can appear before the cued sector must change.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.MaxProgress = 100;&lt;br /&gt;
* The amount of progress needed to completely finish the game. This is in arbitrary units.&lt;br /&gt;
&lt;br /&gt;
 StellarProspector.Settings.PeripheralProgress = 5;&lt;br /&gt;
* The maximum amount of progress the player can receive from correctly responding to peripheral stimuli. In the same arbitrary units as max progress.&lt;br /&gt;
&lt;br /&gt;
==Keyboard Configuration==&lt;br /&gt;
&lt;br /&gt;
Keyboard bindings are stored in a separate file, also specific to each minigame. It is stored as a list of in-game events, each followed by the action that triggers it.&lt;br /&gt;
&lt;br /&gt;
 Quit			Escape&lt;br /&gt;
* Trigger the Quit event when Escape is pressed.&lt;br /&gt;
&lt;br /&gt;
 PlaceBuilding		Left			mouse&lt;br /&gt;
* Trigger the PlaceBuilding event when the Left &amp;#039;&amp;#039;Mouse Button&amp;#039;&amp;#039; is pressed.&lt;br /&gt;
&lt;br /&gt;
 ZoomInStop		OemPlus			released&lt;br /&gt;
* Trigger the ZoomInStop event when the Plus Key is &amp;#039;&amp;#039;released&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
The current default path for the log file is in the Application Data folder. The exact location will vary depending on the operating system installed.&lt;br /&gt;
&lt;br /&gt;
Vista: C:\Users\[WindowsLoginName]\AppData\Roaming\Autism Collaborative\&lt;br /&gt;
&lt;br /&gt;
XP: C:\Documents and Settings\[WindowsLoginName]\Application Data\Autism Collaborative\&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=341</id>
		<title>Concept Art</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=341"/>
				<updated>2008-07-07T17:08:34Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Spaceship Shenanigans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hacker Havoc==&lt;br /&gt;
&lt;br /&gt;
In [[Hacker Havoc]], a secret agent has been sent out to infiltrate the spy satellites of the space pirates who have been harassing our cargo lines and stealing our resources.  The goal is to sneak to the various comm stations that contain the pirates communication logs, hack them, and find the location of the stolen cargo.  &lt;br /&gt;
&lt;br /&gt;
===Main Character===&lt;br /&gt;
In the game the player will control a top secret agent infiltrating pirate spy satellites.  The agent has a bunch of cool equipment at his disposal.  Cloaking fields, hacking tools and various less then lethal traps that will let him sneak undetected.  The current idea is to have our agent decked out splinter cell style all in black.  The cloaking device will be integrated into the suit and his traps look similar to the ones from Golden Eye.  &lt;br /&gt;
&lt;br /&gt;
What we need art wise is pictures of the agent and his gear.  Shots of the agent in action sneaking around, full body shots that detail where the tools are stored and what other technologies are integrated into the suit.  Sketches of traps and what they do.&lt;br /&gt;
&lt;br /&gt;
===Locations===&lt;br /&gt;
To find the whereabouts of the cargo ships the player will have to infiltrate spy satellites.  These satellites are controlled by differing factions of space pirates.  There are three different factions that we are looking to include; Humans, Aliens and Robots.  &lt;br /&gt;
&lt;br /&gt;
We need art for what the different satellites could look like.  This would include both the interior and exterior of the station.&lt;br /&gt;
&lt;br /&gt;
===Enemies===&lt;br /&gt;
To make a stealth game fun you need things to avoid and hide from.  We need some concept art for different guards, sentry equipment and obstacles the player must avoid to reach each comm station.  These should relate to one of the pirate factions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stealth Fighter===&lt;br /&gt;
To get to the satellites undetected the player will use the Bobcat B-3 Interceptor.  This is a small, one-person long-range fighter.  It is equipped with the best cloaking, stealth technologies, and hyperspace technologies.  We need some schematic sketches and payload details for this ship.&lt;br /&gt;
&lt;br /&gt;
===Pirate Ships===&lt;br /&gt;
The evil pirates have stolen our cargo!  We need ship information and ideas for the different factions.  This would include weapon details, propulsion systems, and hulls that fit within the different factions.&lt;br /&gt;
&lt;br /&gt;
===Contact Info===&lt;br /&gt;
If anyone wants or needs anything clarified or wants some more info on Hacker Havoc please let me know.  You can contact me, Karl Orosz, at kao7002 at rit dot edu.&lt;br /&gt;
&lt;br /&gt;
===Submission Information===&lt;br /&gt;
Google Sketchup Pro or jped/png file formats.&lt;br /&gt;
&lt;br /&gt;
==Spaceship Shenanigans==&lt;br /&gt;
&lt;br /&gt;
In [[Spaceship Shenanigans]], the player controls the colony&amp;#039;s resource gatherer.  The goal is to collect as many resources as possible and to discharge bad resources.&lt;br /&gt;
&lt;br /&gt;
===1 - Resource===&lt;br /&gt;
&lt;br /&gt;
Some type of asteroid chunk with minerals and/or metals sticking out of it. It should contrast against black.&lt;br /&gt;
&lt;br /&gt;
Pixels: 64x64&lt;br /&gt;
&lt;br /&gt;
===2 - Space Debris===&lt;br /&gt;
&lt;br /&gt;
Pieces of rusty scrap metal, similar in size to the resource. The look of this should contrast the resource. Three to four variations on this.&lt;br /&gt;
&lt;br /&gt;
Pixels: 64x64&lt;br /&gt;
&lt;br /&gt;
===3 - Decayed Resource===&lt;br /&gt;
&lt;br /&gt;
Similar to the resource, but with a decayed/brittle look.&lt;br /&gt;
&lt;br /&gt;
Pixels: 64x64&lt;br /&gt;
&lt;br /&gt;
===4 - Overhead Interior===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. It can look similar to a cockpit. Low contrast with grayish and simple/bland colors.&lt;br /&gt;
&lt;br /&gt;
Pixels: 800x400&lt;br /&gt;
&lt;br /&gt;
===5 - Control Panel===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. Looks similar to the overhead interior, but with more colors - more eye-catching. In order to display the decayed ore, a TV monitor/terminal should be embedded in it.&lt;br /&gt;
&lt;br /&gt;
Pixels: 176x88&lt;br /&gt;
&lt;br /&gt;
===6 - Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship - the area surrounding the control panel. It is divided into four sections across 180 degrees. The middle of each section should be empty (0 alpha). It should match with the control panel, and can actually be combined with the control panel image. (Think of these as window frames)&lt;br /&gt;
&lt;br /&gt;
Pixels: 226x110&lt;br /&gt;
&lt;br /&gt;
===7 - Window Frames===&lt;br /&gt;
&lt;br /&gt;
The windows simply need frames, similar to the resource detection system but thinner.&lt;br /&gt;
&lt;br /&gt;
Pixels: 800x400&lt;br /&gt;
&lt;br /&gt;
[[Image:SS_ConceptArtReference.jpg]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=File:SS_ConceptArtReference.jpg&amp;diff=340</id>
		<title>File:SS ConceptArtReference.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=File:SS_ConceptArtReference.jpg&amp;diff=340"/>
				<updated>2008-07-07T16:56:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=339</id>
		<title>Concept Art</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=339"/>
				<updated>2008-07-07T16:52:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* 1 - Resource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hacker Havoc==&lt;br /&gt;
&lt;br /&gt;
In [[Hacker Havoc]], a secret agent has been sent out to infiltrate the spy satellites of the space pirates who have been harassing our cargo lines and stealing our resources.  The goal is to sneak to the various comm stations that contain the pirates communication logs, hack them, and find the location of the stolen cargo.  &lt;br /&gt;
&lt;br /&gt;
===Main Character===&lt;br /&gt;
In the game the player will control a top secret agent infiltrating pirate spy satellites.  The agent has a bunch of cool equipment at his disposal.  Cloaking fields, hacking tools and various less then lethal traps that will let him sneak undetected.  The current idea is to have our agent decked out splinter cell style all in black.  The cloaking device will be integrated into the suit and his traps look similar to the ones from Golden Eye.  &lt;br /&gt;
&lt;br /&gt;
What we need art wise is pictures of the agent and his gear.  Shots of the agent in action sneaking around, full body shots that detail where the tools are stored and what other technologies are integrated into the suit.  Sketches of traps and what they do.&lt;br /&gt;
&lt;br /&gt;
===Locations===&lt;br /&gt;
To find the whereabouts of the cargo ships the player will have to infiltrate spy satellites.  These satellites are controlled by differing factions of space pirates.  There are three different factions that we are looking to include; Humans, Aliens and Robots.  &lt;br /&gt;
&lt;br /&gt;
We need art for what the different satellites could look like.  This would include both the interior and exterior of the station.&lt;br /&gt;
&lt;br /&gt;
===Enemies===&lt;br /&gt;
To make a stealth game fun you need things to avoid and hide from.  We need some concept art for different guards, sentry equipment and obstacles the player must avoid to reach each comm station.  These should relate to one of the pirate factions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stealth Fighter===&lt;br /&gt;
To get to the satellites undetected the player will use the Bobcat B-3 Interceptor.  This is a small, one-person long-range fighter.  It is equipped with the best cloaking, stealth technologies, and hyperspace technologies.  We need some schematic sketches and payload details for this ship.&lt;br /&gt;
&lt;br /&gt;
===Pirate Ships===&lt;br /&gt;
The evil pirates have stolen our cargo!  We need ship information and ideas for the different factions.  This would include weapon details, propulsion systems, and hulls that fit within the different factions.&lt;br /&gt;
&lt;br /&gt;
===Contact Info===&lt;br /&gt;
If anyone wants or needs anything clarified or wants some more info on Hacker Havoc please let me know.  You can contact me, Karl Orosz, at kao7002 at rit dot edu.&lt;br /&gt;
&lt;br /&gt;
===Submission Information===&lt;br /&gt;
Google Sketchup Pro or jped/png file formats.&lt;br /&gt;
&lt;br /&gt;
==Spaceship Shenanigans==&lt;br /&gt;
&lt;br /&gt;
In [[Spaceship Shenanigans]], the player controls the colony&amp;#039;s resource gatherer.  The goal is to collect as many resources as possible and to discharge bad resources.&lt;br /&gt;
&lt;br /&gt;
===1 - Resource===&lt;br /&gt;
&lt;br /&gt;
Some type of asteroid chunk with minerals and/or metals sticking out of it. It should contrast against black.&lt;br /&gt;
&lt;br /&gt;
===2 - Space Debris===&lt;br /&gt;
&lt;br /&gt;
Pieces of rusty scrap metal, similar in size to the resource. The look of this should contrast the resource. Three to four variations on this.&lt;br /&gt;
&lt;br /&gt;
===3 - Decayed Resource===&lt;br /&gt;
&lt;br /&gt;
Similar to the resource, but with a decayed/brittle look.&lt;br /&gt;
&lt;br /&gt;
===4 - Overhead Interior===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. It can look similar to a cockpit. Low contrast with grayish and simple/bland colors.&lt;br /&gt;
&lt;br /&gt;
===5 - Control Panel===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. Looks similar to the overhead interior, but with more colors - more eye-catching. In order to display the decayed ore, a TV monitor/terminal should be embedded in it.&lt;br /&gt;
&lt;br /&gt;
===6 - Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship - the area surrounding the control panel. It is divided into four sections across 180 degrees. The middle of each section should be empty (0 alpha). It should match with the control panel, and can actually be combined with the control panel image. (Think of these as window frames)&lt;br /&gt;
&lt;br /&gt;
===7 - Window Frames===&lt;br /&gt;
&lt;br /&gt;
The windows simply need frames, similar to the resource detection system but thinner.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=338</id>
		<title>Concept Art</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=338"/>
				<updated>2008-07-07T16:23:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Spaceship Shenanigans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hacker Havoc==&lt;br /&gt;
&lt;br /&gt;
In [[Hacker Havoc]], a secret agent has been sent out to infiltrate the spy satellites of the space pirates who have been harassing our cargo lines and stealing our resources.  The goal is to sneak to the various comm stations that contain the pirates communication logs, hack them, and find the location of the stolen cargo.  &lt;br /&gt;
&lt;br /&gt;
===Main Character===&lt;br /&gt;
In the game the player will control a top secret agent infiltrating pirate spy satellites.  The agent has a bunch of cool equipment at his disposal.  Cloaking fields, hacking tools and various less then lethal traps that will let him sneak undetected.  The current idea is to have our agent decked out splinter cell style all in black.  The cloaking device will be integrated into the suit and his traps look similar to the ones from Golden Eye.  &lt;br /&gt;
&lt;br /&gt;
What we need art wise is pictures of the agent and his gear.  Shots of the agent in action sneaking around, full body shots that detail where the tools are stored and what other technologies are integrated into the suit.  Sketches of traps and what they do.&lt;br /&gt;
&lt;br /&gt;
===Locations===&lt;br /&gt;
To find the whereabouts of the cargo ships the player will have to infiltrate spy satellites.  These satellites are controlled by differing factions of space pirates.  There are three different factions that we are looking to include; Humans, Aliens and Robots.  &lt;br /&gt;
&lt;br /&gt;
We need art for what the different satellites could look like.  This would include both the interior and exterior of the station.&lt;br /&gt;
&lt;br /&gt;
===Enemies===&lt;br /&gt;
To make a stealth game fun you need things to avoid and hide from.  We need some concept art for different guards, sentry equipment and obstacles the player must avoid to reach each comm station.  These should relate to one of the pirate factions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stealth Fighter===&lt;br /&gt;
To get to the satellites undetected the player will use the Bobcat B-3 Interceptor.  This is a small, one-person long-range fighter.  It is equipped with the best cloaking, stealth technologies, and hyperspace technologies.  We need some schematic sketches and payload details for this ship.&lt;br /&gt;
&lt;br /&gt;
===Pirate Ships===&lt;br /&gt;
The evil pirates have stolen our cargo!  We need ship information and ideas for the different factions.  This would include weapon details, propulsion systems, and hulls that fit within the different factions.&lt;br /&gt;
&lt;br /&gt;
===Contact Info===&lt;br /&gt;
If anyone wants or needs anything clarified or wants some more info on Hacker Havoc please let me know.  You can contact me, Karl Orosz, at kao7002 at rit dot edu.&lt;br /&gt;
&lt;br /&gt;
===Submission Information===&lt;br /&gt;
Google Sketchup Pro or jped/png file formats.&lt;br /&gt;
&lt;br /&gt;
==Spaceship Shenanigans==&lt;br /&gt;
&lt;br /&gt;
In [[Spaceship Shenanigans]], the player controls the colony&amp;#039;s resource gatherer.  The goal is to collect as many resources as possible and to discharge bad resources.&lt;br /&gt;
&lt;br /&gt;
===1 - Resource===&lt;br /&gt;
&lt;br /&gt;
Some type of asteroid chunk with minerals and/or metals sticking out of it.&lt;br /&gt;
&lt;br /&gt;
===2 - Space Debris===&lt;br /&gt;
&lt;br /&gt;
Pieces of rusty scrap metal, similar in size to the resource. The look of this should contrast the resource. Three to four variations on this.&lt;br /&gt;
&lt;br /&gt;
===3 - Decayed Resource===&lt;br /&gt;
&lt;br /&gt;
Similar to the resource, but with a decayed/brittle look.&lt;br /&gt;
&lt;br /&gt;
===4 - Overhead Interior===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. It can look similar to a cockpit. Low contrast with grayish and simple/bland colors.&lt;br /&gt;
&lt;br /&gt;
===5 - Control Panel===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship. Looks similar to the overhead interior, but with more colors - more eye-catching. In order to display the decayed ore, a TV monitor/terminal should be embedded in it.&lt;br /&gt;
&lt;br /&gt;
===6 - Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
This is inside the spaceship - the area surrounding the control panel. It is divided into four sections across 180 degrees. The middle of each section should be empty (0 alpha). It should match with the control panel, and can actually be combined with the control panel image. (Think of these as window frames)&lt;br /&gt;
&lt;br /&gt;
===7 - Window Frames===&lt;br /&gt;
&lt;br /&gt;
The windows simply need frames, similar to the resource detection system but thinner.&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=335</id>
		<title>Concept Art</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=335"/>
				<updated>2008-07-07T16:03:11Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Contact Info */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hacker Havoc==&lt;br /&gt;
&lt;br /&gt;
In [[Hacker Havoc]], a secret agent has been sent out to infiltrate the spy satellites of the space pirates who have been harassing our cargo lines and stealing our resources.  The goal is to sneak to the various comm stations that contain the pirates communication logs, hack them, and find the location of the stolen cargo.  &lt;br /&gt;
&lt;br /&gt;
===Main Character===&lt;br /&gt;
In the game the player will control a top secret agent infiltrating pirate spy satellites.  The agent has a bunch of cool equipment at his disposal.  Cloaking fields, hacking tools and various less then lethal traps that will let him sneak undetected.  The current idea is to have our agent decked out splinter cell style all in black.  The cloaking device will be integrated into the suit and his traps look similar to the ones from Golden Eye.  &lt;br /&gt;
&lt;br /&gt;
What we need art wise is pictures of the agent and his gear.  Shots of the agent in action sneaking around, full body shots that detail where the tools are stored and what other technologies are integrated into the suit.  Sketches of traps and what they do.&lt;br /&gt;
&lt;br /&gt;
===Locations===&lt;br /&gt;
To find the whereabouts of the cargo ships the player will have to infiltrate spy satellites.  These satellites are controlled by differing factions of space pirates.  There are three different factions that we are looking to include; Humans, Aliens and Robots.  &lt;br /&gt;
&lt;br /&gt;
We need art for what the different satellites could look like.  This would include both the interior and exterior of the station.&lt;br /&gt;
&lt;br /&gt;
===Enemies===&lt;br /&gt;
To make a stealth game fun you need things to avoid and hide from.  We need some concept art for different guards, sentry equipment and obstacles the player must avoid to reach each comm station.  These should relate to one of the pirate factions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stealth Fighter===&lt;br /&gt;
To get to the satellites undetected the player will use the Bobcat B-3 Interceptor.  This is a small, one-person long-range fighter.  It is equipped with the best cloaking, stealth technologies, and hyperspace technologies.  We need some schematic sketches and payload details for this ship.&lt;br /&gt;
&lt;br /&gt;
===Pirate Ships===&lt;br /&gt;
The evil pirates have stolen our cargo!  We need ship information and ideas for the different factions.  This would include weapon details, propulsion systems, and hulls that fit within the different factions.&lt;br /&gt;
&lt;br /&gt;
===Contact Info===&lt;br /&gt;
If anyone wants or needs anything clarified or wants some more info on Hacker Havoc please let me know.  You can contact me, Karl Orosz, at kao7002 at rit dot edu.&lt;br /&gt;
&lt;br /&gt;
===Submission Information===&lt;br /&gt;
Google Sketchup Pro or jped/png file formats.&lt;br /&gt;
&lt;br /&gt;
==Spaceship Shenanigans==&lt;br /&gt;
&lt;br /&gt;
In [[Spaceship Shenanigans]], the player controls the colony&amp;#039;s resource gatherer.  The goal is to collect as many resources as possible and to discharge bad resources.&lt;br /&gt;
&lt;br /&gt;
===1 - Resource===&lt;br /&gt;
&lt;br /&gt;
===2 - Space Debris===&lt;br /&gt;
&lt;br /&gt;
===3 - Decayed Resource===&lt;br /&gt;
&lt;br /&gt;
===4 - Overhead Interior===&lt;br /&gt;
&lt;br /&gt;
===5 - Control Panel===&lt;br /&gt;
&lt;br /&gt;
===6 - Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
===7 - Window Frames===&lt;br /&gt;
&lt;br /&gt;
===8 - Space Background===&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=334</id>
		<title>Concept Art</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Concept_Art&amp;diff=334"/>
				<updated>2008-07-07T16:00:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: Added Spaceship Shenanigans stuff&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Hacker Havoc==&lt;br /&gt;
&lt;br /&gt;
In [[Hacker Havoc]], a secret agent has been sent out to infiltrate the spy satellites of the space pirates who have been harassing our cargo lines and stealing our resources.  The goal is to sneak to the various comm stations that contain the pirates communication logs, hack them, and find the location of the stolen cargo.  &lt;br /&gt;
&lt;br /&gt;
===Main Character===&lt;br /&gt;
In the game the player will control a top secret agent infiltrating pirate spy satellites.  The agent has a bunch of cool equipment at his disposal.  Cloaking fields, hacking tools and various less then lethal traps that will let him sneak undetected.  The current idea is to have our agent decked out splinter cell style all in black.  The cloaking device will be integrated into the suit and his traps look similar to the ones from Golden Eye.  &lt;br /&gt;
&lt;br /&gt;
What we need art wise is pictures of the agent and his gear.  Shots of the agent in action sneaking around, full body shots that detail where the tools are stored and what other technologies are integrated into the suit.  Sketches of traps and what they do.&lt;br /&gt;
&lt;br /&gt;
===Locations===&lt;br /&gt;
To find the whereabouts of the cargo ships the player will have to infiltrate spy satellites.  These satellites are controlled by differing factions of space pirates.  There are three different factions that we are looking to include; Humans, Aliens and Robots.  &lt;br /&gt;
&lt;br /&gt;
We need art for what the different satellites could look like.  This would include both the interior and exterior of the station.&lt;br /&gt;
&lt;br /&gt;
===Enemies===&lt;br /&gt;
To make a stealth game fun you need things to avoid and hide from.  We need some concept art for different guards, sentry equipment and obstacles the player must avoid to reach each comm station.  These should relate to one of the pirate factions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Stealth Fighter===&lt;br /&gt;
To get to the satellites undetected the player will use the Bobcat B-3 Interceptor.  This is a small, one-person long-range fighter.  It is equipped with the best cloaking, stealth technologies, and hyperspace technologies.  We need some schematic sketches and payload details for this ship.&lt;br /&gt;
&lt;br /&gt;
===Pirate Ships===&lt;br /&gt;
The evil pirates have stolen our cargo!  We need ship information and ideas for the different factions.  This would include weapon details, propulsion systems, and hulls that fit within the different factions.&lt;br /&gt;
&lt;br /&gt;
===Contact Info===&lt;br /&gt;
If anyone wants needs anything clarified or wants some more info on Hacker Havoc please let me know.  You can contact me, Karl Orosz, at kao7002 at rit dot edu.&lt;br /&gt;
&lt;br /&gt;
===Submission Information===&lt;br /&gt;
Google Sketchup Pro or jped/png file formats.&lt;br /&gt;
&lt;br /&gt;
==Spaceship Shenanigans==&lt;br /&gt;
&lt;br /&gt;
In [[Spaceship Shenanigans]], the player controls the colony&amp;#039;s resource gatherer.  The goal is to collect as many resources as possible and to discharge bad resources.&lt;br /&gt;
&lt;br /&gt;
===1 - Resource===&lt;br /&gt;
&lt;br /&gt;
===2 - Space Debris===&lt;br /&gt;
&lt;br /&gt;
===3 - Decayed Resource===&lt;br /&gt;
&lt;br /&gt;
===4 - Overhead Interior===&lt;br /&gt;
&lt;br /&gt;
===5 - Control Panel===&lt;br /&gt;
&lt;br /&gt;
===6 - Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
===7 - Window Frames===&lt;br /&gt;
&lt;br /&gt;
===8 - Space Background===&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=333</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=333"/>
				<updated>2008-07-07T15:31:45Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Characters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Resource (Target Peripheral Stimulus):  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
(Various Peripheral Distractor Stimuli):&lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
Each d3 sector and the d1 sector have an equal chance to display a stimulus.&lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel. The control panel has a flashing monitor on it. This monitor displays when a bad resource has been detected. This is the central stimulus.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! frequency &lt;br /&gt;
! total frames &lt;br /&gt;
! frames on &lt;br /&gt;
! frames off &lt;br /&gt;
! intensity&lt;br /&gt;
|-&lt;br /&gt;
| 15 hz&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 12 hz&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 150%&lt;br /&gt;
|-&lt;br /&gt;
| 10 hz&lt;br /&gt;
| 6&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 8.57 hz&lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 133%&lt;br /&gt;
|-&lt;br /&gt;
| 6.67 hz&lt;br /&gt;
| 9&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 125%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=332</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=332"/>
				<updated>2008-07-04T20:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
Each d3 sector and the d1 sector have an equal chance to display a stimulus.&lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel. The control panel has a flashing monitor on it. This monitor displays when a bad resource has been detected. This is the central stimulus.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! frequency &lt;br /&gt;
! total frames &lt;br /&gt;
! frames on &lt;br /&gt;
! frames off &lt;br /&gt;
! intensity&lt;br /&gt;
|-&lt;br /&gt;
| 15 hz&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 12 hz&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 150%&lt;br /&gt;
|-&lt;br /&gt;
| 10 hz&lt;br /&gt;
| 6&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 8.57 hz&lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 133%&lt;br /&gt;
|-&lt;br /&gt;
| 6.67 hz&lt;br /&gt;
| 9&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 125%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=331</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=331"/>
				<updated>2008-07-04T20:22:37Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Control Panel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel. The control panel has a flashing monitor on it. This monitor displays when a bad resource has been detected.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! frequency &lt;br /&gt;
! total frames &lt;br /&gt;
! frames on &lt;br /&gt;
! frames off &lt;br /&gt;
! intensity&lt;br /&gt;
|-&lt;br /&gt;
| 15 hz&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 12 hz&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 150%&lt;br /&gt;
|-&lt;br /&gt;
| 10 hz&lt;br /&gt;
| 6&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 8.57 hz&lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 133%&lt;br /&gt;
|-&lt;br /&gt;
| 6.67 hz&lt;br /&gt;
| 9&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 125%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=330</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=330"/>
				<updated>2008-07-04T20:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! frequency &lt;br /&gt;
! total frames &lt;br /&gt;
! frames on &lt;br /&gt;
! frames off &lt;br /&gt;
! intensity&lt;br /&gt;
|-&lt;br /&gt;
| 15 hz&lt;br /&gt;
| 4&lt;br /&gt;
| 2&lt;br /&gt;
| 2&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 12 hz&lt;br /&gt;
| 5&lt;br /&gt;
| 2&lt;br /&gt;
| 3&lt;br /&gt;
| 150%&lt;br /&gt;
|-&lt;br /&gt;
| 10 hz&lt;br /&gt;
| 6&lt;br /&gt;
| 3&lt;br /&gt;
| 3&lt;br /&gt;
| 100%&lt;br /&gt;
|-&lt;br /&gt;
| 8.57 hz&lt;br /&gt;
| 7&lt;br /&gt;
| 3&lt;br /&gt;
| 4&lt;br /&gt;
| 133%&lt;br /&gt;
|-&lt;br /&gt;
| 6.67 hz&lt;br /&gt;
| 9&lt;br /&gt;
| 4&lt;br /&gt;
| 5&lt;br /&gt;
| 125%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=328</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=328"/>
				<updated>2008-07-04T19:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
 frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
 ---------	------------	---------	----------	---------&lt;br /&gt;
 15 hz		4		2		2		100%&lt;br /&gt;
 12 hz		5		2		3		150%&lt;br /&gt;
 10 hz		6		3		3		100%&lt;br /&gt;
 8.57 hz	7		3		4		133%&lt;br /&gt;
 6.67 hz	9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;br /&gt;
&lt;br /&gt;
[[Category:Mini Games]]&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=327</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=327"/>
				<updated>2008-07-04T19:31:14Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png|600 px]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
 frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
 ---------	------------	---------	----------	---------&lt;br /&gt;
 15 hz		4		2		2		100%&lt;br /&gt;
 12 hz		5		2		3		150%&lt;br /&gt;
 10 hz		6		3		3		100%&lt;br /&gt;
 8.57 hz	7		3		4		133%&lt;br /&gt;
 6.67 hz	9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=File:Diagram.png&amp;diff=326</id>
		<title>File:Diagram.png</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=File:Diagram.png&amp;diff=326"/>
				<updated>2008-07-04T19:27:22Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: Spaceship Shenanigans diagram&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spaceship Shenanigans diagram&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=325</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=325"/>
				<updated>2008-07-04T19:26:43Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
[[Image:diagram.png]]&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
 frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
 ---------	------------	---------	----------	---------&lt;br /&gt;
 15 hz		4		2		2		100%&lt;br /&gt;
 12 hz		5		2		3		150%&lt;br /&gt;
 10 hz		6		3		3		100%&lt;br /&gt;
 8.57 hz	7		3		4		133%&lt;br /&gt;
 6.67 hz	9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=324</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=324"/>
				<updated>2008-07-04T19:23:26Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Flashing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
 frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
 ---------	------------	---------	----------	---------&lt;br /&gt;
 15 hz		4		2		2		100%&lt;br /&gt;
 12 hz		5		2		3		150%&lt;br /&gt;
 10 hz		6		3		3		100%&lt;br /&gt;
 8.57 hz	7		3		4		133%&lt;br /&gt;
 6.67 hz	9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=323</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=323"/>
				<updated>2008-07-04T19:20:48Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Flashing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing stimulus for various numbers of frames when the display is operating at a known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is odd; these luminance differences can be compensated for by altering the intensity of the stimulus.  For example, a frame rate of 60 hz would allow the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
---------	------------	---------	----------	---------&lt;br /&gt;
15 hz		4		2		2		100%&lt;br /&gt;
12 hz		5		2		3		150%&lt;br /&gt;
10 hz		6		3		3		100%&lt;br /&gt;
8.57 hz		7		3		4		133%&lt;br /&gt;
6.67 hz		9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should be far enough away from each other to give distinct peaks in the spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame cycle since its 7.5 hz frequency gets a bit too close to the neighbouring 8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=322</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=322"/>
				<updated>2008-07-04T19:20:13Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Flashing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
Each of the four sectors and the centre flash at one of five distinct frequencies.  This flashing drives the visual system in the brain to resonance, just as any RC or LC electrical system can be driven to resonance&lt;br /&gt;
by a periodic impulse at or near its resonant frequency.  So flashing these five distinct areas of the display at five distinct frequencies will give five peaks in the spectrogram of the EEG recording.  Attention modulates the&lt;br /&gt;
amplitude of these frequency responses - so for example if region A is flashing at 12 hz and region B is at 8.57 hz, when attention shifts from A to B we&amp;#039;ll see the 12 hz spectral peak decrease and the 8.57 hz peak increase.&lt;br /&gt;
&lt;br /&gt;
Different flash rates can be implemented by drawing and clearing the flashing&lt;br /&gt;
stimulus for various numbers of frames when the display is operating at a&lt;br /&gt;
known, constant frame rate.  Differences in overall luminance integrated over&lt;br /&gt;
time will arise from slightly unequal duty cycles when the number of frames is&lt;br /&gt;
odd; these luminance differences can be compensated for by altering the&lt;br /&gt;
intensity of the stimulus.  For example, a frame rate of 60 hz would allow&lt;br /&gt;
the following flicker frequencies:&lt;br /&gt;
&lt;br /&gt;
frequency	total frames	frames on	frames off	intensity&lt;br /&gt;
---------	------------	---------	----------	---------&lt;br /&gt;
15 hz		4		2		2		100%&lt;br /&gt;
12 hz		5		2		3		150%&lt;br /&gt;
10 hz		6		3		3		100%&lt;br /&gt;
8.57 hz		7		3		4		133%&lt;br /&gt;
6.67 hz		9		4		5		125%&lt;br /&gt;
&lt;br /&gt;
These frequencies should be in the range 7 to 18 hz, approximately, and should&lt;br /&gt;
be far enough away from each other to give distinct peaks in the&lt;br /&gt;
spectrogram.  (Notice that in the example above I&amp;#039;ve skipped the 8-frame&lt;br /&gt;
cycle since its 7.5 hz frequency gets a bit too close to the neighbouring&lt;br /&gt;
8.57 hz and 6.67 hz frequencies.)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=321</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=321"/>
				<updated>2008-07-04T18:34:07Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.&lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=320</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=320"/>
				<updated>2008-07-04T18:32:48Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Objective */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible. Discharge bad resources when they are detected.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=319</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=319"/>
				<updated>2008-07-04T18:31:57Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
===Control Panel===&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=318</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=318"/>
				<updated>2008-07-04T18:30:47Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Resource Stimulus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
===Peripheral Stimulus===&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=315</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=315"/>
				<updated>2008-07-04T17:38:16Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Unimodal vs. Multimodal Phase */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=314</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=314"/>
				<updated>2008-07-04T17:37:50Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Gameplay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad resource is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=313</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=313"/>
				<updated>2008-07-04T17:37:14Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Resource Detection System= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System===&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating.&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad ore is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=312</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=312"/>
				<updated>2008-07-04T17:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
===Resource Detection System====&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the resource detection system of the resource gatherer. One of the d2 sectors will light up prior to the appearance of a peripheral stimulus as a cue to the corresponding d3 sector.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it cues an incorrect sector.&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
Following the resource detection cue, a resource will appear in one of the d3 sectors. &lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle effect will convey the resource as disintegrating. &lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad ore is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=311</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=311"/>
				<updated>2008-07-04T17:29:01Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Phases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the alert system of the resource gatherer.&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad ore is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
The peripheral task runs in three phases:&lt;br /&gt;
&lt;br /&gt;
Phase 1: 100% of the stimuli appearing in the sectors are targets.&lt;br /&gt;
&lt;br /&gt;
Phase 2: The same targets appear, but they are interspersed in time and&lt;br /&gt;
	 space with many distractors (however many make the game feel right).&lt;br /&gt;
	 Distractors are equally salient as targets, but distinguishable.&lt;br /&gt;
&lt;br /&gt;
Phase 3: Same as Phase 2 but targets are paired with an alerting sound.&lt;br /&gt;
	 (Maybe this alerting sound could be the manifestation of a sensor&lt;br /&gt;
	 upgrade that the player acquires when Phase 2 ends.)&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=310</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=310"/>
				<updated>2008-07-04T17:16:41Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: /* Gameplay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Specifications==&lt;br /&gt;
&lt;br /&gt;
===Game Screen===&lt;br /&gt;
&lt;br /&gt;
The game screen is a semi-circle divided into a central (d1) sector and 4 intermediate (d2) and peripheral (d3) sectors. &lt;br /&gt;
&lt;br /&gt;
(image link)&lt;br /&gt;
&lt;br /&gt;
Sector d1 is a fills the player&amp;#039;s visual field (1.78 degrees at a 50 cm viewing distance is 15.5 mm). This sector corresponds to the resource gatherer&amp;#039;s control panel.&lt;br /&gt;
&lt;br /&gt;
The d2 sectors make up the alert system of the resource gatherer.&lt;br /&gt;
&lt;br /&gt;
The d3 sectors are monitors of outer space.&lt;br /&gt;
(The diameter of sector d3 is currently equal to the width of the game screen - 800 px in the demo)&lt;br /&gt;
&lt;br /&gt;
===Flashing===&lt;br /&gt;
&lt;br /&gt;
(update this)&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The player is inside the control room of the colony&amp;#039;s resource gatherer. &lt;br /&gt;
&lt;br /&gt;
There are two main tasks for the player:&lt;br /&gt;
&lt;br /&gt;
1 - The player must respond, by pressing the Down arrow, when a bad ore is detected and displayed by the control panel.&lt;br /&gt;
&lt;br /&gt;
2 - The player must respond, by pressing the Up arrow, when an ore appears in any of the d3 sectors.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
===Gathering Phase===&lt;br /&gt;
&lt;br /&gt;
====Player====&lt;br /&gt;
&lt;br /&gt;
The player controls the Resource Collector, at the bottom-center of the screen, floating somewhere in space. This can rotate left and right. The Resource Collector is capable of firing a tractor beam. The player presses the Up-arrow key to fire the tractor beam.&lt;br /&gt;
&lt;br /&gt;
====Resource Detection System==== &lt;br /&gt;
&lt;br /&gt;
Display a large, 10 hz (50% duty cycle) flashing arrow at the bottom of the screen, under the location that the stimulus will appear. The arrow appears either 100 ms (one flash) or 800 ms (eight flashes) prior to the materialization of the cargo and remains until the cargo materializes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;Not &amp;quot;under&amp;quot; the location, but rather at the bottom centre of the display (i.e. on top of the resource collector) pointing to the location.  A purely symbolic cue will always appear in the same location on the display, that is, the location of the cue will bear no relation at all to the location of the target.  If the SPATIAL *location* of the arrow rather than (or even in addition to) the SYMBOLIC *direction* of the arrowhead signifies the expected location of the cargo, then the arrow becomes a mixture of symbolic and spatial cueing.  We want either a purely symbolic cue or a purely spatial cue.  If you want to do a purely spatial cue, you could just flash something in the location at which the cargo is expected to appear.  That might be simpler for the game play.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it indicates an invalid alert.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: determine position of invalid warning)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Starfield Passive Stimulus====&lt;br /&gt;
&lt;br /&gt;
The background of space is cluttered with stars.&lt;br /&gt;
&lt;br /&gt;
Prior to the cue-target appearing, random stars blink/sparkle at 10 blinks/sparkles per second.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: Determine distance/distribution)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
Following the resource detection alert, a resource will appear on the screen. At this time, the player will have control to rotate and activate the tractor beam. The first button pressed will be considered the reaction.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: Determine random resource distribution)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle affect will convey the resource as disintigrating. &lt;br /&gt;
Once the tractor beam has been actived or the duration has elapsed, the player will no longer be able to move.&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=287</id>
		<title>Spaceship Shenanigans</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Spaceship_Shenanigans&amp;diff=287"/>
				<updated>2008-06-20T21:22:06Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
This game resembles the arcade game Missile Command. Tests focus on the Posner paradigm, distribution and shifting of attention, and the effect of multimodal (auditory and visual) stimuli.  &lt;br /&gt;
&lt;br /&gt;
==Premise==&lt;br /&gt;
&lt;br /&gt;
The colony is in need of raw material resources. You are in control of the colony&amp;#039;s Resource Gatherer. Use its tractor beam to collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Objective==&lt;br /&gt;
&lt;br /&gt;
Collect as many resources as possible.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
&lt;br /&gt;
Colony Resource Gatherer  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
Resource/Ore:  &lt;br /&gt;
&lt;br /&gt;
[[Image:ComingSoon.png]]&lt;br /&gt;
&lt;br /&gt;
==Gameplay==&lt;br /&gt;
&lt;br /&gt;
The game consists 2 phases.&lt;br /&gt;
&lt;br /&gt;
Gathering Phase focuses on the Posner paradigm.&lt;br /&gt;
&lt;br /&gt;
==Phases==&lt;br /&gt;
&lt;br /&gt;
===Gathering Phase===&lt;br /&gt;
&lt;br /&gt;
====Player====&lt;br /&gt;
&lt;br /&gt;
The player controls the Resource Collector, at the bottom-center of the screen, floating somewhere in space. This can rotate left and right. The Resource Collector is capable of firing a tractor beam. The player presses the Up-arrow key to fire the tractor beam.&lt;br /&gt;
&lt;br /&gt;
====Resource Detection System==== &lt;br /&gt;
&lt;br /&gt;
Display a large, 10 hz (50% duty cycle) flashing arrow at the bottom of the screen, under the location that the stimulus will appear. The arrow appears either 100 ms (one flash) or 800 ms (eight flashes) prior to the materialization of the cargo and remains until the cargo materializes.&lt;br /&gt;
&lt;br /&gt;
The resource detection system is fallible. 20% of the time, it indicates an invalid alert.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: determine position of invalid warning)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task combines a variation of a centrally cued Posner attention paradigm (testing effects of cue validity and cue-target onset asynchrony) (Posner et al. 1987).&lt;br /&gt;
&lt;br /&gt;
====Starfield Passive Stimulus====&lt;br /&gt;
&lt;br /&gt;
The background of space is cluttered with stars.&lt;br /&gt;
&lt;br /&gt;
Prior to the cue-target appearing, random stars blink/sparkle at 10 blinks/sparkles per second.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: Determine distance/distribution)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
====Resource Stimulus====&lt;br /&gt;
&lt;br /&gt;
Following the resource detection alert, a resource will appear on the screen. At this time, the player will have control to rotate and activate the tractor beam. The first button pressed will be considered the reaction.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;(TODO: Determine random resource distribution)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The resource will slowly lose point value over time, disappearing over the duration of 6000 ms. A subtle particle affect will convey the resource as disintigrating. &lt;br /&gt;
Once the tractor beam has been actived or the duration has elapsed, the player will no longer be able to move.&lt;br /&gt;
&lt;br /&gt;
===Unimodal vs. Multimodal Phase===&lt;br /&gt;
&lt;br /&gt;
An system activates a stimulus in one of three different conditions of sensory modality:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Visual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Multisensory Audiovisual&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The arrow is accompanied by a klaxon (100 hz square wave modulated at 10 hz in synchrony with the arrow).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Unisensory Auditory&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The klaxon alone.  &amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;If we were to go to two quadrants instead of four (i.e., placing the base at the bottom of the display instead of in the centre), we could perhaps use a monaural (left or right) klaxon to give some directional information, akin to the valid or invalid direction cue that&amp;#039;s given by the arrow.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #0000ff;&amp;quot;&amp;gt;Would it be better to remove directional specificity from the test altogether to focus strictly on the multi-modal aspect?&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;color: #aa0000;&amp;quot;&amp;gt;I have thought about this, and on reflection, we can go with the plain, non-directional klaxon.  It seems useful to &amp;quot;kill two birds with one stone,&amp;quot; as it were, in getting both a Posner attention-shifting paradigm and a unimodal-multimodal paradigm out of the same single task, if we can pack both in.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This aspect of the task is a test of multimodal (audiovisual) integration. (Senkowski, Molholm,&lt;br /&gt;
Gomez-Ramirez, Foxe)(auditory_visual_integration_2006.pdf)&lt;br /&gt;
&lt;br /&gt;
==Scoring==&lt;br /&gt;
&lt;br /&gt;
Cash is awarded for each resource collected. (The cash values will be determined along with the Colony Simulator design)&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	<entry>
		<id>https://www.autismcollaborative.org/wiki/index.php?title=Mini_Game_Scenarios&amp;diff=270</id>
		<title>Mini Game Scenarios</title>
		<link rel="alternate" type="text/html" href="https://www.autismcollaborative.org/wiki/index.php?title=Mini_Game_Scenarios&amp;diff=270"/>
				<updated>2008-06-18T00:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Mcd8604: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Scenarios==&lt;br /&gt;
&amp;lt;table style=&amp;quot;border: solid;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Inside Colony&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Both&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Outside Colony&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Medicine/Hospital&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Resource Gathering/Mining&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Navigation&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Research/Edumacation/Monkey Test Labs&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Repairs Planets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Farms/Agriculture&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Asteroids&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Meteors/Comets&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Factories/Industry&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Aliens/ETs/space pirates/ninjas&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Black Holes&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Power&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Plants&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Gravity&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Leisure/Recreation&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Space Fishing&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Construction/Architecture&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Refueling&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mini-game Ideas==&lt;br /&gt;
*Successfully completing a mini-game can upgrade or improve efficiency of a building or technology.&lt;br /&gt;
===Medicine===&lt;br /&gt;
*Mixing/Alchemy/Pharmacy/Herbology&lt;br /&gt;
*Repairing an arm/Operating room&lt;br /&gt;
===Research/Education===&lt;br /&gt;
*Trick question game (test for literal interpretation?) &lt;br /&gt;
*Memory games&lt;br /&gt;
===Farm/Agriculture===&lt;br /&gt;
*Farm simulation&lt;br /&gt;
*Harvesting game – picking ripe foods (symbolic cue) &lt;br /&gt;
*Livestock Breeding / Crossbreeding (like chocobos) &lt;br /&gt;
===Factory/Industry===&lt;br /&gt;
*Factory frenzy&lt;br /&gt;
*Quality assurance – item inspection&lt;br /&gt;
**Circuit boards  / electronics&lt;br /&gt;
**Toys&lt;br /&gt;
**Spaceships&lt;br /&gt;
*Assembly Line / Building product&lt;br /&gt;
===Power Plant===&lt;br /&gt;
*Solar panel construction (like Tetris) &lt;br /&gt;
===Leisure===&lt;br /&gt;
*Theme park&lt;br /&gt;
*Carnival games&lt;br /&gt;
**Ring toss&lt;br /&gt;
**Water guns&lt;br /&gt;
**Duck slinger&lt;br /&gt;
**Baseball throw&lt;br /&gt;
**Catching goldfish&lt;br /&gt;
===Construction/Architecture===&lt;br /&gt;
*Lego style – replicating things&lt;br /&gt;
*Finding flaws in blueprints (similar to quality assurance) &lt;br /&gt;
*Making cement&lt;br /&gt;
*Terrain (de)formation&lt;br /&gt;
*Sims type of house creation&lt;br /&gt;
===Resource Gathering/Mining===&lt;br /&gt;
*Puzzle style – like columns&lt;br /&gt;
*Breakout&lt;br /&gt;
*Picture finding (Where’s Waldo) &lt;br /&gt;
*Detecting and collecting asteroids&lt;br /&gt;
===Repairs===&lt;br /&gt;
*Tetris type game, carpentry&lt;br /&gt;
*Glass crack repair&lt;br /&gt;
*Electric repair &lt;br /&gt;
**mess of wires, line up and connect the correct ones&lt;br /&gt;
===Navigation===&lt;br /&gt;
*Forced scrolling&lt;br /&gt;
**clear a path through asteroid belt&lt;br /&gt;
**dodging asteroids – like Battletoads, show blinking alert, move left or right &lt;br /&gt;
*Mazes&lt;br /&gt;
*Sound / sonar &lt;br /&gt;
===Aliens, etc..===&lt;br /&gt;
*Defense game (Spaceship Shenanigans) &lt;br /&gt;
*Diplomacy&lt;br /&gt;
===Gravity===&lt;br /&gt;
*Inside core of colony – physics puzzles to fix gravity&lt;br /&gt;
*(use (planetary) gravity in navigation) &lt;br /&gt;
===Refueling===&lt;br /&gt;
*Line up the fuel pump with the ship  - precision flying&lt;br /&gt;
*Pipe organizing&lt;/div&gt;</summary>
		<author><name>Mcd8604</name></author>	</entry>

	</feed>