Uploaded by Taha Zaidi

Research Paper Final

advertisement
Number Flow Android Game
Ibshar Ishrat, Sadia Sami, Anum Afzal
Computer & Information Systems Engineering Department, NED University of Engineering & Technology
University Road, Karachi, Pakistan
{ibshar_nizam, sadia_sami, anumafzaldogar94}@yahoo.oom
Abstract— Number Flow is Android puzzle game in which the
player has to detect hidden number sequence in a square matrix,
the sequence maybe a Geometric Series, Arithmetic or a Fibonacci
series. The Purpose is to provide brain storming platform
especially for students, also the individuals studying mathematical
sequences can test their skills by playing this game. However, the
basic goal is to provide an interactive and user friendly platform
where students can practice mathematical sequence without
getting bored. This paper focuses on Android game development
and integration of levels. The results concluded show the successful
implementation of the game.
Keywords—Android, Fibonacci, Arithmetic, Geometric Series
I. INTRODUCTION
generated, most of the formula uses a random number which
are passed as an argument.
Primarily, there are five different interactive screens in this
game for the end user namely: Main Menu, Pick Level,
Game Over, Game Level and High score. The Hierarchy of
interactive screens is shown in Fig.1. In Menu screen user has
options to start a new game, continue previously saved game or
see the high scores. In Pick Level Screen user have three options
to choose from i.e. Easy, Intermediate and Hard. In Game
screen user will have the main game but the size of the grid and
difficulty of sequences would be different depending on the
level selected by user. Additional option buttons are provided
at the bottom of screen. These buttons are Check Button, Back
Button, Refresh Button, Save Button, and Hint Button. The
Score is displayed at the top of the screen. In High score Screen
user will see the top ten scores.
Android is the most popular mobile platform in the world.
Android development is becoming an increasingly popular
field. For developers who want to target a huge, diverse
audience, The in demand use of computer system software has
been implemented from PC, mobile and even other means of
technology and Applications / Games are now invading it.
Number Flow, is an android game application for a single user.
The player has to detect number sequence from the grid.
Number sequences will comprise of square, cube, Fibonacci,
arithmetic and geometric progression etc. There are three levels
i.e. Easy, Medium, Hard. The size of the grid depends on the
level complexity i.e. 8 x 8 grid for easy, 10 x 10 grid for
intermediate and 12 x 12 grid for hard. The size of sequence
would be random. The sequence can appear in multiple
directions across the grid i.e. horizontally, vertically and
diagonally like that of a crossword puzzle. [1]
The main idea of this game is based on the generation of a
random number. The starting position of the sequence insertion,
the length of the sequence and its direction within the grid are
all randomly generated. The generated information is checked
to assure that it is a valid sequence and can be inserted in the
grid. If not, the information is generated again. After a valid
sequence is available, the actual series is generated using it. The
Algorithm generating the series consists of a number of
formulas, 10 each for a particular level. To create a series, a
formula is random selected using which the entire series is
Fig. 1 Screen Different views of Game
This paper mainly focuses on core functionalities of this
game. This game includes core functionalities as User will have
three levels to play i.e. easy, intermediate, and hard. Secondly,
User can save his game session and can continue it later on.
Moreover, Name of user and his score will be saved through
filing in case the player gets high score.
Rest of the paper is organized as follows: the Framework is
presented in section 2. Selected Hardware Limitations have also
been discussed in the same section. Section 3 discusses
Functional Requirements. Performance Requirement is
presented in section 4. The last section i.e. Section 5 concluded
the outcome of the paper.
II. FRAMEWORK
Android 1.4 is the android studio software that is mainly
used for game development. LibGDX is a cross-platform Java
game development framework based on OpenGL (ES) that
works on Windows, Linux, Mac OS X, Android, and iOS. [2]
The Operating software requirements include Android
4.0.3 or higher versions. The language used is Java and Android
SDK. The Debugger required is Android Emulator or a console
window. [3]
The scores of the top 10 games are stored in a file along
with the name of the user.
F. Sequence Direction:
The sequence starting a point (x, y) moves in the
following direction. Upward, Downward, Right, Left,
Upward Left, Downward Left, Upward Right and
Downward Left.
The Hardware limitation of this software product can be
unavailability of mobile phones and Tablets computers having
the required resolution (480 x 800) and portrait orientation. If
Cell phones don’t have Android OS it can be a limitation for
this game. Compatibility issues of android versions may serve
as a limitation to run this application on different smart phones.
This game is not for windows phone.
IV. PERFORMANCE REQUIREMENT
Switching from one screen to another will require only
1 second. Grid generation will not take more than 2
seconds. Pausing and Resuming game states will require
approximately 5 seconds. Computational time to detect any
sequence depends on the algorithm. E.g. detection of a
square sequence can take slightly more time than detection
of an arithmetic sequence. (Big O notation O (n) for
arithmetic, O (n2) for multiplication).To save high scores,
filing is used on libGDX open source platform. Number
Flow is a single player game. [4]
III. FUNCTIONAL REQUIREMENTS
The Functional Requirements includes initialization an
insertion of a sequence, checking correct sequence detection,
keeping track of score, difficulty level, saving game, and high
scores.
A. Level Complexity
Level Complexity is the second core functionality that is
implemented. Level Complexity will be achieved by varying
the size of the number grid as well as by making the sequence
difficult.
The easy level would be of 8 x 8 grids. Similarly, intermediate
and hard level would be of 10 x 10 grids and 12 x 12 grids
respectively.
V. CONCLUSION
The performance and overall functionalities have been
tested by UAT (User Acceptance testing) and Alpha Testing. It
shows core functionalities are working and meets the
performance metrics. This paper focuses on the successful
integration of each module of this project and successful
implementation of core functionalities. [5]
REFERENCES
[1]
Fig. 2 Grid size and Level Complexity
B. Saving and Resume game states:
If the user wishes to pause the game or save it so that, it can
be resumed later. This functionality is also available; the current
states of the game would be stored in a file.
C. Sequence Size:
The size/length of a sequence varies in the range of 3 – 10.
In the easy level the length would be from 3 to 5 however it will
increase as we move towards the higher level.
D. How to score points:
The point awarded for a particular sequence depends on the
length & complexity of a sequence is. Select the trickiest
sequence and get maximum points.
E. Saving Top Ten scores:
Android is mobile operating system developed by Google.
http://techterms.com/definition/android
[2] . LibGDX is a cross-platform Java game development framework.
https://github.com/libGDX/libGDX
[3] Android SDK is Software Development kit.
https://www.techopedia.com/definition/4220/android-sdk.
Android Emulator is android virtual device.
http://stackoverflow.com/questions/11574601/dfference-betweenemulator-and-avd.
[4] Big O notation is theoritical measure of execution of an algorithm.
https://xlinux.nist.gov/dads/HTML/bigOnotation.html
[5] UAT User Acceptance Testing.
http://searchsoftwarequality.techtarget.com/definition/user-acceptancetesting-UAT
Download