You are on page 1of 8

Foundation University Islamabad Department of Software Engineering

Enter Future Gaming Experience

Ultimate Gyro Stick

Submitted by

M. Salman Hafeez (5049/FURC/BCSE-2010)

BACHELORS
IN
COMPUTER SOFTWARE ENGINEERING
YEAR
2010-2014

Supervisor: Rana Naveed Idrees


Senior Software Developer at Trayport London UK
MS CS City University, London

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

Project Report Summary


Google play had certain apps which were made to control games, keyboard and mouse etc. during
benchmarking of certain applications on Google play we came up with the conclusion that gyroscope
sensor is not being used so far for certain applications. So the target was to deploy gyroscope sensor based
joystick. That could use the sensor of mobile and tilting of mobile could change the game character’s
direction in the game. Ultimate Gyro Stick provides an effective and interactive environment for wireless
game controller. Special feature of the application are the movement of game character with gyroscope
sensor of the mobile. All other major functions such as kick, pass the ball, jump, sprint, and all other game
specific actions will be done by providing user with buttons over the mobile screen. The interconnectivity
between mobile and pc game will be created by a software.
The inputs sent from the client (mobile) by the user e.g. tilting the phone on the right side for the
movement of game character are handled by the server called Ultimate Gyro Stick server. The server
software will be installed on the pc and which will make a Wi-Fi connection among the mobile and pc. It
will work as the bridge between the mobile and pc. It will be a package which will include 2 software in it.
One to be installed over the mobile for giving input to the game. Second will be the “Ultimate Gyro Stick
server “which will make interconnectivity among the pc and mobile. The other function of the server
software will be to synchronize the controls keys of game with the input coming from mobile.
Internationally the application is worthy. It can be launched as an extra feature of the game. This can bring
game companies think about such application made especially for their games.

Introduction
For wireless controllers, Ultimate Gyro Stick will offer a useful and engaging environment. The
movement of an object or player using the mobile device's gyroscope sensor will be a unique feature of the
programme. The buttons on the mobile screen will be used for all other significant operations, such as the
(Default Action control buttons: 1, 2, 3, and 4). the program will draw users from around the world who are
tired of playing video games using conventional game controllers. Additionally, a very affordable
alternative to today's expensive game controllers that offers a more engaging PC gaming experience. It can
be started as an added game feature. This may prompt game developers to consider applications created
specifically for their titles. The software for the server will be installed. Also a very low cost replacement
for the modern high cost game controllers, providing the more lively experience to play the PC games. It
can be launched as an extra feature of the game. This can bring game companies think about such
application made especially for their games. The server software will be installed on the pc and which will
make a Wi-Fi connection among the mobile and pc. It will work as the bridge of the “gyroscope”. It will
increase usability of mobile as well as it will give a new experience to play racing games.

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

“Two stages make up our project”


Ultimate Gyro Stick-Client: Android
The software that is installed on a mobile device will essentially act as an input device, and its
second purpose will be to transport that input to software that is installed on a computer. There is a
priority for it. Because it serves as the primary interface for the user to utilize as a wireless controller, the
mobile application has a very high priority. The Ultimate Gyro Stick mobile application will be used to get
user feedback. The user will operate the application and may hit the screen. The PC server programme will
receive that as input from the mobile device. The usage of the gyroscope sensor allows for player
movement in all directions, including left, right, up, down, up right, up left, down right, and down left.
Buttons on the client (mobile) screen are utilized for various actions like kick/pass, handbrake, sprint, and
jump that are unique to the game. The software that is installed on a mobile device will essentially act as
an input device, and its second purpose will be to transport that input to software that is installed on a
computer.

Ultimate Gyro Stick-Server: PC server


Ultimate Gyro Stick server is the software which will be designed to receive data on the pc and to
perform functions accordingly. This server software will be the second major feature of the system. This
will guide the input to be synchronized with the control keys of the game. One part is the input gathering
which will be done by Ultimate Gyro Stick mobile app. That is also an important feature but the gathering
of data at one place and to synchronize it with the control keys is the most important among all the
features. Although that is also a crucial feature, the most crucial of all the characteristics is the collection of
data in a single location and the ability to synchronize it with the control keys. The crucial feature will be
the Ultimate Gyro Stick server, which will handle all the crucial tasks, including managing the keys for
various operations, capturing data, maintaining the connection between the mobile device and the
computer, and more. This feature must be planned and developed with great care because it is very
important.

Problem Statement
As there has been a tremendous rise in smartphone usage in recent times, most people have switched
from PC to smartphones. But even now many people prefer watching videos and playing games on the large
screen i.e. their PCs. Therefore, a latest phenomenon of remote control PC applications has been introduced, so
that the smartphones act as a remote control to the applications running on a PC such as video games. Thus,
providing the users comfort, usability as well as a realistic gaming experience.

Project Life Cycle

Requirement Engineering: In this phase, we have formulated, documented and maintained software
requirements.
Object Oriented Analysis & Design: In the following phase we have modeled our system using UML V 2.3.
Used visual paradigm software for developing different analysis and design models.
Implementation and Integration: After finalizing the algorithm of our product, development was started.
The implementation was done using multiple languages and platforms following are the languages we
worked upon:
Java: developed server on java

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

Android: developed client on android


SQA & Testing: In this phase we have developed test cases and scenarios to test our system. We also
adopted famous tools and techniques of S/W Testing.
Project Management: In this phase we have performed project management issues using MS Office Project
2010. We have also developed Gantt Charts and all development activities list.
System Deployment: In this process we have deployed our system’s client on android smart phone and
server over the PC where the user had to play game.

Tools and Technologies


Ultimate Gyro Stick is an android application that has two tier architecture. The client application will be
installed on the android smart phone and server that is actually the communicator between mobile and PC. So
for all the requirements, design, implementation, management, testing and quality assurance it required
certain tools and technologies. That are as follows.
1. Rational Rose ,Visual Paradigm and Smart Draw 2010 for UML
2. Adobe Photoshop CS6 for making custom image buttons
3. MS Office 2013 for Project Documentations
4. Net Beans IDE 8.0
5. Eclipse v4.2.2
6. Android 4.2.2 Kit Kat API
7. Android Development Tool

Deliverable and Deployment Requirements


1. Ultimate Gyro Stick client application.
2. Ultimate Gyro Stick server software.
3. Source code.
4. SRS document.
5. SDD document.
6. Testing document.
7. Detailed Project Report.

The “deployment requirements” include android phone. Following are the android application
deployment requirements.
1. Android Gingerbread 2.3.3 or above.
2. The android phone user must be connected with desired Wi-Fi in range.
3. Pc must be connected with the same Wi-Fi connection with which smart phone is connected.
4. IP address detected on the server must be put into the text box on the mobile application.
5. The IP address of both PC and mobile must match. Otherwise connection will not be established.
6. The android smart phone must have gyroscope sensor in it.
7. Pc must have server installed over it i.e. Ultimate Gyro Stick server software.
8. Pc must have game installed on which user wants to use the application.
9. Settings in the game must be done according to the manual settings mentioned in the settings.
10. Once you have closed any of the client/ server application the connection will be lost in order to
continue playing the game you need to start both the client and server application again.

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

OUR WORK
The Ultimate Gyro Stick is a complete system which makes mobile to work as a wireless steering
controller. The Ultimate Gyro Stick is designed keeping in mind the interconnectivity of mobile and pc. So
for this Ultimate Gyro Stick system requires a client and a server. Ultimate Gyro Stick has its specialty that
is use of gyroscope sensor for movement of vehicle.
Let us see how gyroscope sensor works.
Gyroscopes are available that can measure rotational velocity in 1, 2, or 3 directions. 3-axis gyroscopes are
often implemented with a 3-axis accelerometer to provide a full 6 degree-of-freedom (DoF) motion
tracking system.
Rotary (classical) gyroscopes
Vibrating Structure Gyroscope
Optical Gyroscopes

Now in our product gyroscope sensor is enabled and it makes the character of the game move left,
right, up, down, up right, up left, down right, and down left. Other buttons on the screen are for particular
purposes (Game specific different in different games) e.g. Kick/ pass, tackle, jump, sprint etc. For all this we
first need to establish connection between PC and mobile. Then we need to send input from the mobile to
pc via Wi-Fi connection between. When the data is passed to the server then we need to synchronize the
data with the keys assigned in the game. After all this the changes in the game are done as required.
Through mobile we are able to send data to pc and where we can use our mobile as a wireless game
controller. Two main things will be used for all this
 Ultimate Gyro Stick client
 Ultimate Gyro Stick server ( communicator among game and mobile)

Connection:
In order to process the input to the server there must be a connection between the mobile (client)
and server (PC). Therefore connection is of highest priority and we must make a reliable connection
between the client and the server so we can get the input and process it for the key synchronization in
order to play the game.
TCP/IP connection:
The Transmission Control Protocol (TCP) is one of the two original core protocols of the Internet protocol
suite (IP), and is so common that the entire suite is often called TCP/IP. TCP provides reliable, ordered,
error-checked delivery of a stream of octets between programs running on computers connected to an
intranet or the public Internet.
5049/FURC/BCSE-2010 BCSE 2010-2014
Foundation University Islamabad Department of Software Engineering

Browsers use it when they connect to servers on the World Wide Web sites, and it is used to accurately
deliver email and transfer files from one location to another. Applications that do not require the reliability
of a TCP connection may instead use the connectionless User Datagram Protocol (UDP), which emphasizes
low-overhead operation and reduced latency rather than error checking and delivery validation.

Sending and Receiving of data:


First, client application creates a connection between the servers by entering IP address of the PC
into it. This IP address is detected in the server i.e. of PC/laptop. Now connection is formed between the pc
and mobile. Then user starts sending the data to the pc by tilting the phone is any direction for movement
control and pressing the desired buttons over the mobile interface. It uses TCP/IP protocol for sending and
receiving the data.

Methodology
Agile development Model:
We have used agile development model; following are the reasons for selecting this particular lifecycle
model.
1. This lifecycle model was used so that it uses an incremental approach.
2. The aim was to bring the software in working stage so this was the best suitable.
3. Implementing agile model was a success in our work as everything was being done parallel.
4. It was much needed according to our product. As it is an android application it was really necessary to
test the output at every instance of the application.

Test Driven Development:


Test-driven development (TDD) is a software development process that relies on the repetition of a
very short development cycle: first the developer writes an (initially failing) automated test case that
defines a desired improvement or new function, then produces the minimum amount of code to pass that
test, and finally refactors the new code to acceptable standards

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

Interface (MOBILE - CLIENT)

Interface (PC-SERVER)

5049/FURC/BCSE-2010 BCSE 2010-2014


Foundation University Islamabad Department of Software Engineering

Conclusion
We have concluded that after deployment the customer is able to use their mobile work as wireless
joystick for all kind of pc games. This has increased mobile usability. As applications which are being
developed in the mobile industry are mostly for fun. So this is also a fun application with multiple features
such as we can play and control the game character by just the shake of your cell phone through the
application. In developing the application besides all the drawbacks and benefits, it helped us a lot in
learning so many new things. Such as java, android, networks and other such technical things. Ultimate
Gyro Stick is special because it uses gyroscope sensor for the movement of game character. In similar
applications accelerometer is being used for the movement and it is not the 3d movement. It is simple and
linear motion that can be handled. So by using gyroscope sensor that was the main innovation of our
system, we are able to control the 3dimensional motion of the game character. We have tried our level
best to achieve the goals related to interface.

Future Work
We are initially going to launch this project but many features can be added to the project like:
Other devices portable:
We can make other devices portable and can control them through establishing connection
between

Application for I-Phone and Windows phone


Initially we are catering only the android OS. In future we are going to launch the same application
for I phone and Windows phone
- Application for android “Gyro Screen”:
We are considerate to modify the Ultimate Gyro Stick application. The new application will gather
information from the Pc game and will display the game running on the mobile screen. It will have
complete features of controlling the vehicle the game and it will have innovation that screen on the pc will
be captured into the mobile and that video will be running on the screen of the mobile. mobile and pc. We
can use the application to run such devices.

5049/FURC/BCSE-2010 BCSE 2010-2014

You might also like