PrepTris is a custom Microsoft Silverlight software application for both the Web and Windows Phone 7 **(two different solutions)** that, when completed, will be integrated into an educational application suite (these other components are currently under development).
The application suite's target audience incldes users that are learning English as a second language. The game play is intended to help learners-most of whom are ESL students-sharpen their skills in using prepositions for the English language (US).
This game will use some silverlight animations (wipe effects, and text animations), read data from xml, write to isolated storage or cookies, as well as track the user's progress.
The premise of the game is to create an environment where the user works with English sentences and tries to identify the prepositions (as well as objects of the prepositions and infinitives in the sentence, all depending on the game type) as quickly as possible.
**Figure 1: Screen Mock-Up.
**In PrepTris, sentences will fall from the top of the screen and settle at the bottom, like blocks in a game of Tetris. As in Tetris, there is a means of eliminating the sentences that stack up at the bottom of the screen to prevent the stack of sentences from reaching the stop of the screen.
The general objective that the user must achieve is to eliminate sentences as quickly as possible by clicking on the correct answer before the sentence gets 'locked' (more on this later).
Sentences are eliminated/removed from the canvas by the user clicking on word/words that constitute the answer (corresponding to the learning objectives being taught by the game-prepositions, object of the preposition, and identifying infinitives). If the user is not able to eliminate sentences fast enough, sentences will stack up to the top of the screen and the game will end once the stack reaches the top.
Like most games, the user is awarded with Points for each answer that is correct, as long as the user identifies all of the answer(s). See footnote . The game must keep track of the user's name as well as the top 10 scores. This is discussed in detail later on in this document.
During each game session, the user attempts to play/endure as long as he/she can, accruing as many points as possible, all the while experiencing an increased rate of gameplay as the time/seconds elapsed escalates.
**The final versions of PrepTris will exist in two forms: a Web version and a Windows Phone 7 version. **You are being asked to code both of them.** Both versions will be built in Windows Silverlight 4 and be written in C#. The code will follow basic Object-Oriented Design methodologies, include strongly-typed business objects, be liberally commented, and include extensive exception handlers. The coding requirements/style guidelines are discussed later in this document. The Windows Phone 7 version will make use of the Silverlight for Windows Phone Toolkit, November 2010 (<[url removed, login to view]>) release and the Web Version will use the Silverlight 4 Toolkit, April 2010 (<[url removed, login to view]>) release.
**The developer who is awarded this bid will receive a COMPLETE packet with a 72 page requirements document.**
**All data necessary for the operation of the application will be stored in two XML documents. The first file, [url removed, login to view], will contain any essential/read-only settings required to launch the game. The second file, [url removed, login to view], will encompass all other data used by PrepTris.
These two files will be provided by Neuric Technologies along with an XML Schema (XSD file) for assistance in reading the data and will be available when the development of Preptris begins. All data will be loaded into classes and organized using the List<T> collections for fast searching and sorting of data. All business objects/classes should have member variables and public properties for data access. Automatic properties are acceptable only when the class does not reference the value internally. Whenever necessary, the developer must ensure that all properties should have exception handling on their set statements.
Both the Web and the Windows Phone 7 version of the app will access the XML data via asynchronous Web requests (and will only read the file once and then terminate any Web connections). Neither, the Web or Windows Phone 7 version of PrepTris will use XML data locally for the games content, but will "read" all data during run time using asynchronous requests.
**The Web version of the game will create cookies on the user's PC to save session data and the Windows Phone 7 version will use Isolated Storage to save session data (including score, time played, levels completed, etc.) As noted earlier, the game must keep track of the user's name as well as the top all-time 10 scores. Note that these scores are local and do not reflect all-time scores by users on other machines or across the Web.
**Most resources required for the completion of the game will be provided by Neuric Technologies to the developer. These include files/resources like background image files, icons, other image files, and text for help screens. All artwork will be provided in standard .png or .jpg formats. The developer will take enjoy very little artistic freedom so that the final product may resemble closely the other applications of the education suite.
The premise of the game is to create an environment where the user works with English sentences and tries to identify the prepositions as well as objects of the prepositions and infinitives in the sentence as quickly as possible.
PrepTris will use the gaming elements described in this document to make the learning process more engaging and rewarding to the user. We use the name PrepTris because portions of the game borrow some features from the tremendously popular game, Tetris, by Alexey Pajitnov. Prep is added to emphasize that it is a game for enhancing one's skills at prepositions.
**Before starting a new game, the user has the option to select 1 of 3 different game modes. He may only select one.
1. Prepositions Match: in this mode, the user must select ALL prepositions in the sentence.
2. Objects of the Prepositions Match: in this mode, the user must select ALL the objects of the prepositions in the sentence.
3. Prepositions with Infinitives Match: in this mode, the user must select ALL prepositions in the sentence but must not select the infinitive 'to'.
**Before starting their select game mode, the user has the option to select 1 of 3 different levels of difficulty. He may only select one.
1. Beginner: in this mode, the timer moves slower, points are in smaller amounts, and only sentences with a 'beginner mode' are used.
2. Intermediate: in this mode, the timer moves at standard speed, points are in normal amounts, and only sentences with a 'intermediate mode' are used.
3. Expert: in this mode, the timer moves faster, points are in larger amounts, and only sentences with a 'expert mode' are used.
**Recall that user will interact with the game by clicking on a word or set of words of a given sentence that corresponds to the correct answer (depending on which learning objective is being played, i.e., identifying a preposition, identifying the object of the preposition, etc.).
On the Web version of the game, this interaction will utilize left mouse clicks; on the Windows Phone 7 app version of the game, this interaction will be achieved by having the user touch the correct word/words in the sentence on the screen.
It is important to stress that the correct answer may consist of one word, or multiple words that may or may not be adjacent to one another (meaning the correct answer(s) may be separated by many words in the sentence). For instance, consider that the following sentence: The cats sleep underneath the table during dinner. This sentence contains two separate prepositions: underneath and during. Therefore, for the user to "answer" the problem correctly they would have to select both the words underneath and during before the sentence is locked.
When the user runs their mouse/cursor/finger over the sentence, each word will have a rollover or hot spot behavior that highlights the word in white individually so that the user knows which word they are selecting.
Note that every word will behave in this manner, not merely the correct answer(s), so that the user cannot locate the correct answer simply by running the mouse or their finger over the sentence to spot the highlighted word. For the Windows Phone 7 app version of the game, the selection of a word may be achieved in much the same way.
Once a word has been selected, the font of that word will be italicized, so that there is a visual indication that the word has been selected
The user will be able to deselect their selection as long as the sentence is still active (this is discussed in greater length later, but a sentence remains active prior to the sentence reaching the bottom of the screen/top of the stack of sentences AND the next sentence top of the stack of sentences.
If no words in the sentence are selected when the sentence reaches the bottom of the screen / top of the stack of sentences, then the correct word(s) may still be selected and the sentences eliminated. It is only if the wrong word(s) are selected that the sentence is stuck and cannot be removed.
**If the correct word(s) are selected in the sentence prior to the sentence reaching the bottom of the screen / the top of the stack of sentences, the sentence will explode upon reaching the bottom of the screen. If the wrong word(s), or not all of the right words in the sentence are selected by the time the sentence reaches the bottom of the screen / the top of the stack of sentences, the sentence will turn grey, and the correct word(s) will turn green. The sentence then takes up a portion of the screen, and the next sentence will land on top of it.
Optional: If no words in the sentence are selected when the sentence reaches the bottom of the screen / top of the stack of sentences, the sentence will turn white, indicating that the correct word(s) may still be selected and the sentences eliminated.
**Points are earned for each sentence eliminated in the play of the game. Sentences that do not get eliminated do not earn points. The point value of each sentence can be weighted based on a number of factors:
(1) The initial point value of a sentence when it first appears by dropping from the top of the screen will be between 1,000 and 10,000, depending on the level of difficulty being played.
Expert - 10,000
(2) The point value of the sentence will decrease by an amount that varies based on which level of difficulty is being played. The frequency of the point deductions will be once per every 1/5 of the total time required for the sentence to reach the bottom of the screen. The result is that if the user makes the correct selection at the last moment, he or she will receive ? the original total of points for that sentence.
If none of the correct word(s) are selected when the sentences reaches the bottom of the screen / top of the stack of sentences, the sentence can still be eliminated, but receives no points. It only clears the screen to allow more room for other sentences, thus allowing the user to play longer.
The amount of the point deduction will be:
Beginner: 200 points per deduction
Intermediate: 500 points per deduction
Expert: 1,000 points per deduction
(3) Once the user clicks on a word, the point deductions will stop. This way, if a correct choice is made when the sentence is still near the top of the screen, the user will receive the amount of points available when the sentence was at that point on the screen. However, if the user deselects his or her choice, the deductions will resume until another selection is made.
(4) Sentences that take up two lines on the screen may have a higher point value (50-100% more) since they take up more room on the screen.
The game will note the score at the end of each game and record the user's five or ten highest scores for that game. The high score will be recorded without reference to which level of difficulty it was played on. The game will also tell the user the amount of time he or she played, as well as how many lines he or she eliminated.