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