CS491 ProjectAnalysisReportV1 2
Shared by: HC12070402028
-
Stats
- views:
- 18
- posted:
- 7/3/2012
- language:
- English
- pages:
- 39
Document Sample


Bilkent University
Department of Computer Engineering
Senior Design Project
Optics Game: Optical Quest
Project Analysis Report
Hasan Demircioglu, Cagatay Karsli, Gorkem Baysal, Efe Akgun
Super visor: David Davenport
Jury Members: Will Sawyer, Bedir Tekiner dogan
Progress/Project Analysis Report V1.2
November 28, 2011
This report is submitted to the Department of Computer Engineering of Bilkent University in partial
fulfillment of the requirements of the Senior Design Project course CS491/2.
1
Table of Contents
1. Introduction .............................................................................................................................................. 3
2. Current System ......................................................................................................................................... 3
3. Proposed System....................................................................................................................................... 6
Overview ................................................................................................................................................... 6
General Information about Optics Game ............................................................................................. 6
Detailed Description about Optics Game ............................................................................................. 7
Functional Requirements .......................................................................................................................... 8
Play Game ............................................................................................................................................. 8
High Scores............................................................................................................................................ 8
Saving Level ........................................................................................................................................... 8
Custom Puzzle ....................................................................................................................................... 9
Create Puzzle......................................................................................................................................... 9
Edit Puzzle ............................................................................................................................................. 9
Delete Puzzle ......................................................................................................................................... 9
Credits ................................................................................................................................................... 9
Quit Game ............................................................................................................................................. 9
Non-functional Requirements .................................................................................................................. 9
User Friendly ......................................................................................................................................... 9
Competitive ........................................................................................................................................... 9
Quality ................................................................................................................................................... 9
Simplicity ............................................................................................................................................... 9
Pseudo Requirements ............................................................................................................................... 9
Hardware Specification: ...................................................................................................................... 10
Software Specification: ....................................................................................................................... 10
System Models ........................................................................................................................................ 10
Scenarios ............................................................................................................................................. 10
Use-Case Model .................................................................................................................................. 12
Object and Class Model ...................................................................................................................... 17
Dynamic Model ................................................................................................................................... 18
User Interface – Navigational Path AND Screen Mock-Ups ................................................................ 26
4. Glossary ................................................................................................................................................... 38
5. References .............................................................................................................................................. 39
2
Analysis Report
Optics Game: Optical Quest
1. Introduction
This report is a collection of CS 491 project analysis, which is about a game named as Optics Game.
Optics Game is a puzzle game which is about law of optics. Java will be the main concentration on
developing the project.
The report starts with describing applications similar to Optics Game which is related to laws of optics.
Rest of the report briefly explains the game under Overview. Analysis focused on the main aspects of
the project which is described with text and also represented with a number of graphs. Features of the
project are reported under functional and non-functional requirements sections. Under the title System
Models, some possible scenarios of the game would be mentioned which would be demonstrated in Use
Case Model with diagrams. With the help of the scenarios and use cases, the interaction between the
user and the system becomes much more obvious. Understanding these interactions led us to draw
object, class and dynamic models of the project. Then, user interface is shown with the help of using
screen mock-ups. The report ends with Glossary which represents the list of words and key concepts of
the project and References.
2. Current System
Internet research has been made to find out similar games to Optics Game but there is no such game.
However, there is a web site of Physics Department of National Taiwan Normal University (NTNU Virtual
Physics Laboratory, 2) that provides people some interactive tutorials that consist of optics, lenses,
prisms and some principles. These are listed in Figure 1.
3
Figure 1: Optics categories of Virtual Physic Laboratory
These tutorials developed in Java as we want to do our game as well. It has no user interface, but there
is some basic information about the issue which is being experienced. Tutorial pages have information
to interact with objects, their directions and also distances with respect to optical item.
These interactive tutorials are simple effective respectable for learning. Not only the interaction
information, but also basic rules of optics and key concepts are clearly indicated for users.
4
Figure 2: Prism Tutorial
Figure 3: Reflection
5
Figure 4: Thick lens
3. Proposed System
Overview
General Information about Optics Game
Optics Game is kind of an educational game about laws of optics. This game is educative for primary
school students and it strictly obeys optical laws. Optics Game is also a challenging puzzle game that
offers everyone joy of solving puzzles. Game consists of restricted number of levels, supposed to have
20 arcade puzzles for now. A level starts with a puzzle map that corresponds to which level and user
expected to solve the puzzle by placing optical items onto the appropriate places on the puzzle. User will
have some limited item options on the right hand label and he can place them on to puzzle by just
dragging and dropping. After placing the item, by holding right click of the mouse on the item and
moving it around user rotates the item. After finalizing necessary arrangements, user clicks Send Light
button to check whether beam is reflected or refracted in the right way to pass level or not. User passes
level with a score and it will be added to High Score list if it is better than any of the score in the list.
Score is affected by time, number of used items and number of trials. After passing a level, user gets
chance to play next puzzle.
6
Optics Game consists of strict number of puzzles. However, the game has custom puzzle option for
creating new puzzles in order to extend the game. This functionality is useful for educational purpose,
because teachers can create puzzles to educate their own students in a way they wanted with this
functionality. To create puzzles, user selects Custom Puzzle option and an empty puzzle map appears. In
this screen, user can create his own puzzle by dragging and dropping optical items from the right hand
side label. After completing the placements of optical items, user saves the puzzle by clicking Save
button and gives name to the puzzle. Users can also edit or delete an existing custom puzzle by using
edit/delete feature.
Detailed Description about Optics Game
Item Descriptions
Beam: This is the main item used in all puzzles. It enters to the map from any selected point of the
puzzle borders and it has direction from that point in other words it is a vector. To pass the game there
is a stated exit point and direction to exit point requirement. This item changes direction when touches
items on the map.
Mirror: This item is used for reflecting the beam and it obeys the reflection rule that angle between
mirror and beam stays same in reflection.
Convex Mirror: This item is curved, swelling out type of mirror, which has different reflection rules than
mirror except center point. This item obeys optical rules related to convex mirror.
Concave Mirror: Curving in kind of mirror, that have different reflection rules than mirror except center
point. This item obeys optical rules related to concave mirror.
Convex Lens: Curved, swelling out type of lens and it obeys refraction rules of convex lenses strictly.
Concave Lens: Curving in kind of lenses that obey refraction rules of concave mirror strictly.
Color Filter: This item is used for removing some colored beams other than white or changing white
beam into different colored beam in Optics Game.
Prism: This item is used to separate white beam into 7 different colored beams.
Brick: This item is the obstacle that absorbs beams.
Refraction Interface: This item is used for refraction of the beam from one environment to other
environment. For example, from water to air or from glass to air how beam moves.
Playing Game Description
In order to start the game, player selects puzzle from Play Game menu and that selected puzzle
initialized. On the puzzle map, beam vector from beam entry point is shown on the map which gives
player the instruction that where beam enters to map and to which direction it will go from that point.
Color of this vector also represents the color of the beam. There is also beam exit vector directed to
beam exit point which represents where would light go out of the puzzle to accomplish the level. There
can be more than one entry point or exit point of beam in the puzzle. Aim of the player is moving beams
to the exit points from expected direction by placing optical items into the puzzle map. To place items
onto the puzzle map, user needs to drag and drop it from the items label. If wrong item dragged and
undo operation needed, user can do this by dragging and dropping item to out of the map. When item
placed, it will be parallel to x-axis and if user want to rotate it, he needs to hold right click of the mouse
on item and rotate item by moving mouse to wanted direction. When player release right click item will
be rotated and angle between x-axis and item is shown for short time. After placing all of the items on
to the map, player can check if he completed the puzzle or not by clicking Send Light button. If player
completed the level, “Congratulations!” pop-up is shown up and player can selects to replay the level or
7
go to the next level from this pop-up. If player’s solution is wrong, “Your solution is wrong” label appears
and puzzle map occurs again with the final situation and player continues to his arrangements. Every
wrong solution would make user be penalized with loss of points. Total points are determined by wrong
solution count, time and number of items used. Player can use at most given number of items in
solution, but he can use this number of items from any given kind. For example, if user restricted with
10 item and 2 kinds which are mirror and convex-mirror, user either use 8 mirror, 2 convex-mirror or 5
mirror, 3 convex-mirror or any combination total number less than 10.
Creating Puzzle Description
Custom Puzzle functionality gives user opportunity to design his or her own puzzle. This functionality
mostly useful for teachers whose teaching subject is physics. Through Optics Game, the teachers design
their own puzzles and give students the puzzles for fun and education. To create puzzle through the
game, user clicks Custom Puzzle Button and by using the given empty puzzle map which is on the left
side of screen and all optical items which is on the right side of the screen user can create his own puzzle
map. User chooses and drags the optical items from right side of the screen and drops them to the
puzzle map same as playing the game section. User rotates optical items by holding right click of mouse
and moving the mouse. One main difference in Custom puzzle is that beams are always shown on the
puzzle map there is no such button like Send Light. With this functionality, user sees how beam moves
and where it goes out of the map. So, user can design better puzzle map. User decides beam entry
point(s) by dragging entry point items from the right side of the screen and dropping on to borders of
the map. When user dropped it onto the border, vector of it will be seen and it will be either parallel to
x-axis or parallel to y-axis according to its place on the borders. If it is on the right or left borders, it will
be parallel to x-axis. Otherwise, it will be parallel to y-axis. User can change direction of the vector by
holding right click and moving mouse. Whenever user places an item on the map, if it touches beam,
beam is reflected, refracted or absorbed according to optical laws. After completing arrangements, user
saves the puzzle by clicking Save Button. If user tries to save without placing beam entry point onto the
borders, it will give warning.
Functional Requirements
Play Game
System would give a chance to learn the game from tutorials at the beginning of the game. First three
levels are designed for tutorial. There would be hint boxes to show what a player should do. Beginning
from the fourth puzzle, original game starts. In tutorial levels, there would be no timer. However, when
the real part starts, every puzzle has a timer.
High Scores
The system would keep scores of players. Therefore, a player could see other players’ high scores. There
would be at most 10 high scores saved in the high score screen. If a player will obtain a better score than
a player whose name is on high score list, then his score would appear in the high score list and the
worst score out of these 10 names would be deleted.
Saving Level
The system would keep the puzzles which players solved. Therefore, different players who play the
game with same computer could play the passed puzzles and could play any level which is passed.
8
Custom Puzzle
The system would let use custom puzzles for personal needs of players such as showing an example of
reflection or refraction. Normally, there exist 20 puzzles. Therefore, player could want to create a new
puzzle or to edit or delete the puzzle.
Create Puzzle
The system would let players to create their own puzzles. A player fills an empty puzzle with the items
which the system allowed to use.
Edit Puzzle
Creating more puzzles would take much place in database. Therefore, the system would let the player to
edit a created puzzle.
Delete Puzzle
The system would let players to delete a created puzzle.
Credits
Credits provide the basic information about the game. Credits offer information about not only the
developers but also links to the project web page and references related to the game. Also Credits is an
official part of the game that developers claim copyright.
Quit Game
Quit Game basically makes the user close the running program.
Non-functional Requirements
User Friendly
Optics Game should have a user-friendly interface. Although the game would be designed for people at
any age, our main aim is to teach law of optics to children under age of 12. A user-friendly interface
makes the user easily get familiar with the game. The user can easily set up and start a new game.
Therefore, it would be nice for the children to have a User-Friendly interface.
Competitive
The game should be challenging for the older people who like to solve puzzles. The parts going from the
first to the last one different levels and conditions create a competitive ambiance for users. In addition,
players’ high scores would be saved. Therefore, players compete with themselves.
Quality
Overall quality of the game together with its graphics and controllers should satisfy our target user
community.
Simplicity
The game would be as simple as possible. It should be easy to learn and easy to play for the children. In
addition, there would be a custom puzzle option in the game. For the teachers, creating puzzle should
not be a hard task.
Pseudo Requirements
It describes design and implementation constraints and includes the specification of deployment
platform, implementation language and database management system. We will develop our game in
9
JAVA that is an object-oriented programming language and store our data such as map information,
item specifications and high scores in MySQL.
Hardware Specification:
Processor: Any Processor above 500 MHz’s
Ram: 64Mb.
Hard Disk: Max 100 MB. Free space
Input device: Standard Keyboard and Mouse.
Output device: VGA and High Resolution Monitor
Software Specification:
Language: Java SE
End Tool: MySQL
Operating System: Windows XP and above.
System Models
Scenarios
Play Tutorial Puzzle
Zeynep is a 14 year-old female who studies in primary school. She is having difficulty on learning Optics
subject of Science and Technology course in school. One of her friends has shown her Optics Game and
how useful it is for learning Optics and having fun. She wants to try the game and wants it from her
father to install this game to her PC. After his father downloads and installs the game, she opens the
game and directly clicks to Play Game and Level Select screen comes in front of her. She needs to fill the
text box that refers to user name in the bottom of Puzzle Select Menu. If it is not filled, her user name
will be “User” which is default. She understands this and fills user name with “Zeynep”. She has only 4
open puzzle map to select and 3 of them are tutorial puzzle maps and one of them is arcade puzzle.
Other closed 19 arcade puzzle maps are become available in ascending order when last available arcade
puzzle solved. She clicks Tutorial Puzzle 1 and starts playing it by learning from given interactive
tutorials. At first, components of the screen are described through interactive tutorials. For instance,
entry beam vector description, how to place optical items onto map and etc. are shown on hint boxes.
Optical laws of items are also shown on hint boxes. Tutorial puzzles are easy puzzles that only teach
Zeynep how to play the game. In this puzzles, she also learns and memorizes Optical Laws. Zeynep
places optical items by dragging and dropping onto the map. When item dropped to the map, it is
parallel to x-axis at first. Zeynep rotates item by holding right click and moving mouse and she learns this
from hint box. She also sees the angle which an item makes with x-axis while rotating. After completing
all arrangements, she clicks Send Light button from below and sees how beam is reflected, refracted or
absorbed by items and whenever beam touches item explanation box opens and shows the Optical laws
related to that action. By this tutorial, she learns how to play the game and also remembers the Optical
laws.
10
Play Game and Pass Level
Ahmet is going to visit his classmate Mehmet after school. When he goes to Mehmet’s house, Mehmet
shows Optics Game which he enjoys and learns laws of optics. When Ahmet sees the game, he wanted
to play. Mehmet shows Ahmet how to play the game. After running the game, Ahmet clicks to Play
Game. After that Ahmet chooses a level from Puzzle Select screen which comes in front of him after
clicking Play Game. In addition, in the bottom of the Puzzle Select screen there would be a textbox
labeled as UserName which Ahmet has to enter his player name to keep his score on the High Scores.
When he entered a user name and selected a puzzle, the game would begin. By the way, Mehmet
passed 5 levels in the game. Therefore, Ahmet cannot choose different puzzles except the completed
levels. Ahmet chooses last puzzle, which is the fifth level of the game. Then, the game will be started.
Puzzle map related to the level appears which has obstacles on the map. In addition, items are placed on
the right side of the game screen. Ahmet picks item(s) by holding left click of mouse from the right side
of the screen. He drags the item(s) and drops the item(s) into the map. The item he placed is parallel to
x-axis and he rotates the item(s) by holding right click of the mouse then he adjust angle while holding
right click of the mouse. After that he releases the right click of the mouse he sees the angle he adjusted
for a short time. When he is sure about his solution, he would click the button labeled as Send Light.
After he clicked the button, there would be a “Congratulations” pop-up screen appeared if he passes the
level which means that the incoming beam goes out from the exit point correctly. Ahmet sees his score
on the pop-up screen and also there would be two buttons labeled as “Next Puzzle” and “Replay”.
Play Game and Wrong Solution
Seda is a 21 years old university student who studies Physics Teacher Education in Stony Brook
University. She is searching for educational software in Optics area for his homework in PHY 300 Waves
and Optics course (Undergraduate Physics Teacher Preparation Program Degree and Certification
Requirements, 3). She finds Optics Game and installs the game. She opens the game and directly clicks
to Play Game. She selects Arcade Puzzle 1 from Puzzle Select Menu and enters her name to user name
text box and starts to solve the puzzle. Her playing purpose is to test Optics Laws in the game for her
homework. She starts placing items and testing if they strictly obey Optical laws by making calculations
of them. For last actions, she solves puzzle wrongly in order to see how application reacts to wrong
solutions. After clicking to Send Light button, program gives wrong solution error and decreases her
score because of wrong try and turns back to the Play Screen and she has chance to continue until
finding right solution. Nothing from her arrangements are also lost through clicking Send Light button.
After testing the application, she quits the game by clicking “X” button on the right corner of the screen
with positive thinking about Optics Game.
Create and Save Puzzle
Kemal is 39 years old and just started to teach physics in a private high school in Adana. When Kemal
started to work, one of existing physics teacher, Selma, told him there is a game which students would
love to play with and learn basic functionalities of optics. Then Kemal realized that there is a custom
puzzle section in the game. He remembered that one of his students told him that game becomes boring
because of the limited number of puzzles. Kemal decided to create own puzzles for his students. He
opened the game and chooses custom puzzle section. When custom puzzle screen appears, he sees that
there are various items to locate in puzzle map. There was a help section for creating custom puzzles. He
quickly understood that he has to drag the optical items with mouse from right-hand side of the screen
and drop them to the map. When he holds right click button on the located item, he could rotate them.
11
He should located entering and exit points of the lights and their direction to the borders of the map.
After he created his desired map, he clicked to save button and that was all to make his students enjoy
new maps in Optics Game.
Use-Case Model
Figure 5: Use Case Diagram
Use Case 1: Play Game
Description: Main Use Case for player.
Assumptions: Player never drops wrong item onto map. If this is the case user needs to drag and drop
item out of the puzzle map.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Play Game button from Main Menu.
12
3. Player enters the username.
4. Player selects Puzzle.
5. REPEAT
5.1 REPEAT
5.1.1 Player drags item from label.
5.1.2 Player drops dragged item onto puzzle.
5.1.3 Player rotates dropped item.
UNTIL player thinks puzzle is solved.
5.2 Player clicks Send Light button.
UNTIL Entering beams go out from right exit points with right angle.
6. A passing level pop-up shows up and player sees his/her score on this pop-up.
Variations: #6. Player selects Next Level button or
Player selects Replay button or
Player selects Back to Main Menu button.
Use Case Extension Quit Game extends Play Game
Description: Quitting the game during gameplay.
Steps: #5. If Player clicks close button of the screen from right corner then Optics Game application
closes.
Use Case Extension Back To Main Menu extends Play Game
Description: Turns back to main menu during gameplay.
Steps: #5. If Player clicks Back To Main Menu button then Application turns back to Main Menu.
Use Case 2: Do Tutorial
Description: Main Use Case for player.
Assumptions: Player never drops wrong item onto map. If this is the case user need to drag and drop
item out of the puzzle map.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Play Game button from Main Menu.
3. Player enters the username.
4. Player selects Tutorial Puzzle.
5. REPEAT
5.1 REPEAT
5.1.1 Player drags item from label.
5.1.2 Player drops dragged item onto puzzle.
5.1.3 System shows detailed information of the item.
5.1.4 Player rotates dropped item.
5.1.5 Angle between item and x-axis described in detail.
UNTIL player thinks puzzle is solved.
5.2 Player clicks Send Light button.
5.3 Whenever beam touches item on the puzzle map, information about Optical Law of
reflection, refraction, filtering or absorbing is given.
UNTIL Entering beams go out from right exit points with right angle.
6. A passing level pop-up shows up and player sees his/her score on this pop-up.
13
Variations: #6. Player selects Next Tutorial button or
Player selects Replay button or
Player selects Back to Main Menu button.
Use Case Extension Quit Game extends Play Game
Description: Quitting the game during gameplay.
Steps: #5. If Player clicks close button of the screen from right corner Then Optics Game application
closes.
Use Case Extension Back To Main Menu extends Play Game
Description: Turns back to main menu during gameplay.
Steps: #5. If Player clicks Back To Main Menu button then Application turns back to Main Menu.
Use Case 3: Create Puzzle
Description: Extending puzzle number by creating custom puzzles.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Custom Puzzle button from Main Menu.
3. REPEAT
3.1 Player drags item from label.
3.2 Player drops dragged item onto puzzle.
3.3 Player rotates dropped item.
UNTIL player thinks custom puzzle is completed.
4. Player enters puzzle name to puzzle name text box.
5. Player clicks Save button.
6. New puzzle added to the end of Puzzle list.
Use Case Extension Save without Beam Entry Point extends Play Game
Description: When player tries to save without defining beam entry point, system gives an error that
“Puzzle could not be saved without beam entry point.”
Steps: #6. if Player clicks Save button without dropping beam entry point item then “Puzzle could not be
saved without beam entry point.” warning seen and user turns back to Custom Map screen.
Use Case 4: Edit Puzzle
Description: Use Case for editing an existing puzzle
Assumptions: There is at least one existing custom puzzle.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Custom Puzzle button from Main Menu.
3. Player clicks Edit/Delete button bottom of the map screen.
4. Player selects desired puzzle on the list to edit on a pop-up screen.
5. Player clicks Edit button when puzzle is selected.
6. Existing puzzle appears on the map screen.
7. REPEAT
14
7.1 Player drags item from label.
7.2 Player drops dragged item onto puzzle.
7.3 Player rotates dropped item.
UNTIL player thinks custom puzzle is completed.
8. Player clicks Save button.
9. Existing Puzzle is now edited and saved.
Use Case Extension Save without Beam Entry Point extends Play Game
Description: When player tries to save without defining beam entry point, system gives an error that
“Puzzle could not be saved without beam entry point.”
Steps: #6. If Player clicks Save button without dropping beam entry point item then “Puzzle could not be
saved without beam entry point.” warning seen and user turns back to Custom Map screen.
Use Case 5: Delete Puzzle
Description: Use Case for deleting an existing puzzle
Assumptions: There is at least one existing custom puzzle.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Custom Puzzle button from Main Menu.
3. Player clicks Edit/Delete button bottom of the map screen.
4. Player selects desired puzzle on the list to delete on a pop-up screen.
5. Player clicks Delete button when puzzle is selected.
6. Confirmation screen comes in front of user.
7. User selects to confirm delete or cancel.
8. System turns back to Edit/Delete pop-up screen.
Variations: #7 User selects confirm button and puzzle is deleted or
User selects to cancel delete operation by clicking cancel.
Use Case Extension Save without Beam Entry Point extends Play Game
Description: When player tries to save without defining beam entry point, system gives an error that
“Puzzle could not be saved without beam entry point.”
Steps: #6. If Player clicks Save button without dropping beam entry point item then “Puzzle could not be
saved without beam entry point.” warning seen and user turns back to Custom Map screen.
Use Case 6: See High Scores
Description: Use Case to see High Scores
Assumptions: At least one user played the game.
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks High Scores button from Main Menu.
3. Player sees High Scores Screen.
4. Player Turn Back to Main Menu by clicking Back To Main Menu.
15
Use Case 7: See Credits
Description: Use Case to see Credits
Actors: Player
Steps:
1. Player opens Optics Game jar file.
2. Player clicks Credits button from Main Menu.
3. Player sees Credits Screen.
4. Player Turn Back to Main Menu by clicking Back To Main Menu.
16
Object and Class Model
Figure 6: Class Model
17
Dynamic Model
Sequence Diagrams
Scenario of Figure 7: Hamit starts Optics Game by clicking jar file and selects Play Game from main
menu. After these selections, he starts the game by selecting puzzle.
Figure 7: Game Initialization Sequence Diagram
18
Scenario of Figure 8: Player places mirror to the puzzle area while playing the game.
Figure 8: Place Mirror to Puzzle Sequence Diagram
Scenario of Figure 9: Ayse clicks Send Light button after finishing all her arrangements and find the right
solution.
Figure 9: Clicking Send Light and Correct Solution Sequence
19
Scenario of Figure 10: Harun wants to create a new puzzle for his Optics Game. His new puzzle will
contain 1 regular mirror and 1 convex lens. Puzzles starting and finishing point will be at y=28 and y=144.
Convex lens will be placed to x=12, y=42 and rotated clockwise 34 degrees. Regular mirror will be placed
x=28,y=283.
Figure 10: Create Puzzle Sequence Diagram
20
Scenario of Figure 11: Kemal decided to make a change in puzzle 4 that he created before. He had to
add a prism to point x=242 and y=168.
Figure 11: Edit Puzzle Sequence Diagram
21
Scenario of Figure 12: Ayşe wants to delete puzzle number 2 from her custom puzzles.
Figure 12: Delete Puzzle Sequence Diagram
22
State Diagrams
Figure 13: Player State Diagram
23
Figure 14: Mirror State Diagram
24
Figure15: Lens State Diagram
25
User Interface – Navigational Path AND Screen Mock-Ups
Screen Mock-Ups
Figure 16: Main Menu Screen
In Figure 16, we can see the main page of the game. When a user starts to play the game, he or she sees
this page firstly. Pressing “PLAY” button, user can obtain Play_Game screen. Pressing “CUSTOM PUZZLE”
button, the user is directed to Create Puzzle screen. Pressing “HIGH SCORES” button, user can have a
chance to keep track of his or her scores and obtain High_Scores screen. Pressing “CREDITS” button,
user can see who work on the game and obtain Credits screen. Finally pressing “EXIT” button, user can
leave the game.
26
Figure 17: Level Select Screen
In Figure 17, we can see Level Select page of the game. When user presses “PLAY” button, he or she
obtains this page. In the page there are some level options. Faint level names points out that user do not
have right to play those levels. To play those levels, user has to complete Level 3. At the bottom of the
Level Select List, there is a puzzle called “Xmap”. It indicates that this level is created by a user and this
name is given by creator. When a user creates a map with using Custom_Puzzle screen, its name is
added at the end of the list by the game system. At the right side of the screen, there is a text area that
a user can determine his or her nickname and play with that name (default name is user). In High_Score
screen, user can keep track of his or her score with checking his or her nickname (username).
27
Figure 18: Play Game Screen
In Figure 18, we can see main play screen. When a user double clicks on an available level name, he or
she obtains the corresponded puzzle. Let’s assume this puzzle is Level 1 puzzle of the game. (Puzzles will
be getting harder).When the level is loaded; timer is start to count up. We can see the time at top-right
side of the screen. Below the timer, we can see the available item list. This list can be change in every
level. At the left side and the right side of the screen, there are two red arrows. These arrows are
abstract arrows that show user to light’s behavior. For Example the arrow at the left side of the screen
indicates that it is a 45 degree angle with x-axis (In Figure 19). Hence user knows that the light comes in
the map with 45 degree angle and it has to leave the map 0 degree angle with x-axis. With knowing
these, user starts to drag some items and when he or she makes sure that it is the solution for the
puzzle, he or she presses the send light button to see whether it is correct or not.
28
Figure 19: Beam Entry Vector
Figure 20: Item Placement
In Figure 20, we can see that user is playing the game. In the screen there are 3 brown arrows. They are
not part of the game. They are on the screen to show how user plays this game. User can drag an item
from the available item list to a place on the map with holding left button of mouse. Also user can rotate
this item with holding right button of mouse. When a user put an item on the map game engine shows
29
degree of the angle with x-axis. In Figure 21, we can see that plain mirror is a 90 degree angle with x-
axis. (Faint gray)
Figure 21
Figure 22: Send Light Action
30
In figure 22, we can see that user designed his or her solution and pressed the “Send Light” button. Also
we can see that user spent 05.12 (5 minutes and 12 seconds) to solve this puzzle. Whenever a user
solves a puzzle with using more items than optimal solution, the user loses some point. Also spending
more time on a puzzle decreases the score. Calculating the score can be change in future progress (we
did not decide exactly). Black region on the map indicates an obstacle. The light cannot pass through it.
When the user presses “Send Light” button, abstract arrows get disappear and user can see the angle
between items and the light (in this example it is 45 degree).
Figure 23: Fail Screen
If user fails to solve a puzzle, he or she sees message in figure 23. When the user presses “Send Light”
button, he or she sees where light go with his or her solution for a while. After a short time game engine
shows user a message. If user’s solution is the correct one he or she sees figure 24, if it is not the correct
one then the user sees figure 23. When user presses “OK” button in figure 23, failed level is loaded, if
user presses “OK” button in figure 24 then new level is loaded by the game engine.
Figure 24: Congratulations Screen
31
Figure 25: Custom Puzzle Screen
When a user press “CUSTOM PUZZLE” button in main page, he or she sees figure 25 without arrows. In
this screen we can see that there are new items which are beam types. User can determine from which
point the light goes in or out and color of the light. Brown arrows show that user can place abstract
arrow in any edge of the play area. This process is same with dragging an item on a map. The only
difference is that the beam has to be on the border of the game area (Edges). After dragging a beam
with holding left button of mouse, we can again rotate it with holding right button of mouse. The user
can get help with pressing “Help” button. If user presses “Save” button he or she sees figure 27, if the
user presses “Edit / Delete” button, he or she sees figure 28.
32
Figure 26: Custom Puzzle Item Placement Screen
In figure 26, we can see that there are also two new items which are environment (refraction interface)
and obstacle in Custom_Puzzle. User can see them while playing a level but he or she cannot use them.
In creating puzzle process, a user can use them. We can put and rotate items in the same way that we
put and rotate other items on the map. Environment always divides the map in to two. Air and water
have different refraction values so the light behave differently (we will decide the value). Holding right
button of the mouse acts differently on obstacle. We actually indicate its size while holding right button
(rotating sizing). It can get longer to every direction.
33
Figure 27: Save Puzzle Screen
If a user tries to save a map, he or she has to decide its name. The user presses “Save” button in figure
25 and sees figure 27 (default name is Map). The user can cancel this operation with pressing “Cancel”
button or the user can complete this operation with pressing “OK” button after giving an appropriate
name for a map.
Figure 28: Saved Puzzles
If a user wants to edit or delete a created map, he or she presses “Delete / Save” button in figure 25 and
sees figure 28. The user can click every puzzle on the list and if he or she wants to delete it, he or she
simply presses “Delete” button after choosing a puzzle. If user presses “Edit” button after choosing a
34
puzzle, chosen puzzle is load on game area by the game engine. In this way user can see his or her
created puzzle (the page is like figure 25 but game area is different) and user can change it.
Figure 29: Tutorial Screen
In figure 29, we can see a tutorial level of the game. If a user chooses Tutorial 1 or Tutorial 2 in the
Level_Select screen (figure 17), he or she sees this screen. Tutorial is easier than normal puzzles and also
in tutorial, there are some speech bubbles that helps users. For example in figure 29, tutorial shows a
user how to put an item on a puzzle and how to rotate it. After completing these tasks there will be
more speech bubbles to make ready the user for real levels.
35
Figure 30: High Scores Screen
If a user wants to keep track of his or her score, he or she can simply press “HIGH SCORES” button on
the Main_Menu screen (figure 16). This list is provided in descending order by the game system on
High_Scores screen (figure 30).
36
Figure 31: Credits Screen
If a user wants to find out who did this game, he or she can press “CREDITS” button on Main_Menu
screen (figure 16). The user also can find some useful information about game on this page (figure 31).
Navigational Path
37
4. Glossary
Beam: A line of light.
Mirror: A piece of glass that reflects light.
Convex Mirror: Curved, swelling out type of mirror.
Concave Mirror: Curving in kind of mirrors.
Lens: A curved piece of glass or transparent material that refracts light.
Convex Lens: Curved, swelling out type of lens.
Concave Lens: Curving in kind of lenses.
Color Filter: Removes particular types of light.
Prism: A transparent glass which separates white light into different colors.
38
5. References
1. Object-Oriented Software Engineering, Using UML, Patterns, and Java, 2nd Edition, by Bernd
Bruegge and Allen H. Dutoit, Prentice-Hall, 2004, ISBN: 0-13-047110-0.
2. NTNU Virtual Physics Laboratory, accessed on 21 November 2011, last modified:
11/11/2007.<http://www.phy.ntnu.edu.tw/oldjava/index.html>
3. Undergraduate Physics Teacher Preparation Program Degree and Certification Requirements,
accessed on 24 November 2011.
<http://sbhepnt.physics.sunysb.edu/teachers/physicsinfopakundergrad.pdf>
39
Get documents about "