You are on page 1of 4

GCONTROLLER ANDROID BASED

APPLICATION TO CONTROL PC GAMES


Roshan Shetty

Rushabh Parekh

Satyam Pandit

Mrs.Sheetal Rathi

Computer Engineering
Thakur College of
Engineering and Technology
Mumbai, India

Computer Engineering
Thakur College of
Engineering and Technology
Mumbai, India

Computer Engineering
Thakur College of
Engineering and Technology
Mumbai, India

Computer Engineering
Thakur College of
Engineering and Technology
Mumbai, India

shettyroshan91@gmail.c
om

rushparekh@gmail.com

satyambpandit@gmail.co
m

sheetal.rathi@thakured
ucation.org

Abstract Latest generation smartphones have become very


popular among the general public. These smartphones provide
a high degree of integration, attractive user interface and
amazing features. We are creating an android based
application GController, which will emulate the physical
game controller on an Android smartphone. This will help the
game players eliminate the cost of buying a physical game
controller. The application will provide a user friendly and
attractive user interface. The application will work for all the
android phones having version 2.3(Gingerbread) or higher.
Communication between the android client and the personal
computer server will be achieved using socket programming
via the medium of Wi-Fi. The paper discusses about the
designing and implementation of the android application,
desktop application and the communication between the two.
Keywords- Smartphone; Android; Emulator; Mobile-PC
Communication;

I. INTRODUCTION
The field of mobile phones has evolved immensely and
has become an integral part of our lives. The growth in
mobile sector has resulted in major investment in mobile
application development. In [1], it has been mentioned that
smartphones are produced with various features such as Gsensors, speakers, microphones, touch screen, camera along
with basic communication functionalities. The prices of
these smartphones vary depending upon the features they
provide.
The growth of mobile phone industry has been phenomenal.
[2] mentions that the growth of Android operating system
has been remarkable. It had a worldwide smartphone market
share of 68% at the second quarter of 2012. As of Q3 2012,
there were 500 million android devices activated and 1.3
million activations per day. Android has become the world's
leading smartphone platform.

Another sector that has witnessed substantial growth is the


gaming sector as mentioned in [3]. Forecasts suggest that
the global market for video games is expected to grow from
$67 billion in 2012 to $82 billion in 2017.
The excellent graphics quality of todays games is no longer
a novelty. As a result, game developers and designers have
started to look for new ways to attract and entertain players.
One recent trend is to provide new forms of interaction,
replacing the traditional joystick for more elaborate devices,
such as dance pads, guitars, drums, pointing devices, etc.
Though they are appealing, such devices are usually very
expensive and hence cannot be afforded by the common
gamer.
It is clear that there is a need for providing new and
innovative approaches to gaming that will not only attract
new users but also help retain the current base of gamers.
This paper proposes a synergy of game controller and an
Android powered device that enables a user to use the
device as a wireless game controller for desktop games. The
connection between the PC and the device will be
implemented using Wi-Fi technology.
Playing a computer game requires few basic devices like
mouse, keyboard, game controller, speakers or headphones
etc. This has been the traditional way of playing a computer
game till date. Here, we have tried to alter this traditional
approach by introducing a smartphone into this scenario.
Our aim is to replace the traditional physical game
controller with an android smartphone. This will provide an
altogether new experience in playing computer based
games.

II. MOTIVATION
The gaming industry promotes the research of new ways
through which a user can interact with the game. The

gamepad or the physical game controllers as shown in the


figure have been popular since a long time. However, their
enhancement in terms of performance and user adaptability
has reached saturation.

Fig: 2.1. Logitech F510 Gamepad


At the same time, new ways of interaction have been
developed which allow a user to control games through
body movements. However, they are bound to other
hardware devices such as the console. Such consoles and the
control devices are highly expensive and difficult to
maintain.
Using a smartphone to control a desktop game makes use of
the highly developed games and the various abilities of
smartphones. It allows a user an affordable alternative as
compared to physical controllers and other game control
devices. The application will enable the user a rich gaming
experience using common devices and minimal software.

III. LITERATURE SURVEY


Wei-Chin Huang, in [1] came up with a new idea of using a
smartphone as a game controller. Since the smartphones
have become very popular among the general public, the
computer users can interact with a computer via a smart
phone using various sensors, touch pad, and screen of a
smart phone .We have used this idea in our project and
propelled it to a new level which will provide a very
systematic, attractive and user friendly interface to the user.
Silvano Maneck Malfatti, in [3] presents a multiplatform
architecture to support the design and implementation of
desktop multiplayer games controlled by mobile phones
with Bluetooth capability. Since the Bluetooth is an ad-hoc
connection, playing desktop games controlled by mobile
phones resulted in few drawbacks. Game players
experienced time lag which adversely affected the gaming
experience. Thus, we have come up with a new approach,
i.e. the infrastructure communication. This approach
overcomes the above drawback. Gamers can now play
games with a negligible time lag.
Jianye Liu, in [4] gave an introduction of Android platform
and the features of Android applications. This paper
provided guidance while understanding the mechanism of

Android applications and helped us to develop applications


on Android platform. This paper has acted as a foundation
step in our project. Most of the concepts on Android have
been understood here.
Benjamin Speckmann, in [5] has introduced a new mobile
platform named Android. He has given a comparative
evaluation of the Android and other mobile operating
systems like Symbian OS. The paper has also compared the
Software Development Kit (SDK) of Android platform and
Symbian OS. We can clearly understand the advancement
of this mobile platform and its user friendliness when we
compare it with the other operating systems.
Dao-Yuan Shan, Choon-Sung Nam, Dong-Ryeol Shin , in
[6] have researched that nowadays Smartphones are not
only restricted to calling services, but they can be also used
as an intelligent pocket personal computer. The immense
quantity of quality features which the Smartphones provide
have enabled them to think upon making a Smartphone as a
virtual joy pad which can control playing games on the
desktop. We have referred this paper and developed our
project with major advancements and taken it to a new level
which will offer a novel and complete gaming experience to
the players.
Chong, P.H.J., in [7] has come up with the concept of
wireless medium. Mobility of users and limitations faced by
them in the wired medium has inspired the author to
propose this concept. Various technologies like GPRS,
WLAN, Bluetooth and Wi-Fi are all based on wireless
technology. We have referred this paper to understand the
concepts of wireless medium and thereby used the Wi-Fi
technology in our project.
Hwan Heo, in [8] has developed a new realistic game
system. It is a multimodel interface which invokes gaze
tracking, hand gesture recognition and bio-signal analysis.
The author has been successful in developing a highly
immersive and realistic game as compared to the previous
game systems. This research played a crucial role in the
designing phase of our project.
Tamas Vajk, in [9] has launched Nintendo Wii, which is a
big success due to the innovative approach of using wireless
controller or Wiimote. Motion detection and rotation in 3
dimensional are some of its important features. The paper
has presented a system that connects phones to large public
game screens via Bluetooth where it acts as game controller
for a multiplayer game.

IV. PROPOSED WORK


Our objective is to develop an android mobile application
and a computer application to be able to use the smart phone
as a PC game controller, providing an innovative approach
to the gaming experience. Also, it will eliminate the need to
buy an expensive physical game controller.

The plan of implementation is to firstly develop an android


application which will comprise of the gamepad interface
with buttons and mouse pad.
The second stage of implementation will consist of
developing an application for the personal computer which
will be connected to the smart phone. The connection
between the android smart phone (client) and personal
computer (server) will be an infrastructure based connection
and communication will be done using the Wi-Fi
connection.

V. DESIGN
All the android applications are based on the application
framework. The application framework includes Views,
content providers, resource manager, notification manager
and activity manager. The graphical user interface for an
Android application is built using a hierarchy of View and
ViewGroup objects. Android provides an XML vocabulary
that corresponds to the subclasses of View and ViewGroup
so you can define your UI in XML using a hierarchy of UI
elements. The flowchart of the UI (Android app) is as
follows:

Fig 5.1: UI Flowchart (Android Application)


The programming language used to develop Android
applications is Java. A single XML file (UI) and its
corresponding class file written in Java constitutes a single
Activity. The Activity can be said to be a single screen with
a user interface. The flowchart for the classes of the desktop
application is as follows:
Home.java
Controls.java
IP.java
Serverpage.java
Fig 5.2: Classes Flowchart (Desktop Application)

VI. IMPLEMENTATION
In the first phase of implementation, we developed an
Android application named GController that will emulate
the physical controllers. Multiple physical controllers were
studied to understand the design and concept of controllers.
The user interface was developed keeping in mind ease of
access and attractiveness. The application is developed with
multiple screen size support. The GController application
begins with a cover page which makes way to the options
activity. The options activity provides the user with multiple
choices Start, Instructions, About and an option to exit the
application. The instructions activity displays the set of
actions expected from the user to ensure the smooth
working of the application as a controller. The about screen
displays basic information about the application. The start
screen starts the process of connecting GController to the
PC server application. It prompts the user to ensure that the
android application and the target PC share the same Wi-Fi
network and consequently requests the user to enter the IP
address of the PC. On successful connection, the gamepad
activity is started and displayed to the user. This screen is
the actual emulator.
The GController app communicates with the PC application
using TCP socket communication via Wi-Fi on multiple
ports. Each object (buttons and mousepad) sends specific
data to the PC server through these sockets. Various
methods of objects such as onClick, onTouch were utilized.
Handlers and threads were used to ensure multi-touch
support and long keypressed action.

Fig 6.1: GController Gamepad layout


The game logo as shown in the figure was designed using
Paint.Net which is a freeware available on the internet.
In the second phase, we developed a PC application that
acts as a server to the android GController client. It is
developed using Java Swing and Java programming
language on NetBeans IDE. The PC application is a basic
server which runs in the background of the game and
enables the use of GController to control it. The server
application starts with a cover page that is redirected to the
mapping page. The mapping page allows the user to
establish the relationship between the GController buttons
and keyboard buttons. It thus allows the user a certain
degree of freedom and also helps in creating a gamespecific profile for GController. All the entries by the user
are saved and need not be entered by him/her again when
the application is restarted. The next part of the PC server

application prompts the user with the user IP of the server


so that he/she can easily enter it into the GController.
Consequently, the server is established and a connection
with it may be now completed.
Once the connection is established successfully, the server
application listens on the various ports to detect messages
from the GController app. On receiving the messages, the
key corresponding to message is pressed using the Robot
class in Java. It also manages the actions that correspond to
multi-touch on GController and the long keypressed event.
The GController application along with the PC server
application sharing the same Wi-Fi network thus allows a
gamer to enjoy a novel gaming experience.
In the third and final phase, the android application was
tested on various android powered devices to guarantee
multi screen size support. Multiple games of various
categories (FPS, racing simulation, sports) have been played
using the developed applications to ensure integration and
the detected errors have been corrected.

the application on various android devices to test it for


multiple screen size functionality.
We have also developed the desktop application
successfully using Java Swing language. It helps in
establishing the connection between the android application
and the desktop. GController has been successfully tested as
PC game emulator. It is a unique synergy of the mobile
development sector with the gaming industry and provides a
unique and immersing gaming experience.
REFERENCES
[1]

[2]
[3]

[4]

[5]
[6]

[7]

[8]

[9]

Fig 6.2: Desktop application cover page

VII. FUTURE WORK


The GController app has been developed only for the
Android operating system. Though Android has the largest
share in smartphone market, many other mobile operating
systems also exist. In future, the GController app may be
developed for mobile operating systems other than Android.
The communication via Wi-Fi has multiple advantages
over communication via Bluetooth. However, an option to
communicate via Bluetooth might be provided in future for
cases where Wi-Fi is not available.
VIII. CONCLUSION
The Android application (GController) needed for the
project has been designed and implemented successfully
using XML, Java and Android SDK. Also, we have installed

Wei-Chin Huang, Tennyson Lu, and Wai-Chi Fang, Fellow, An


Innovative Interface Design with Smart Phone for Interactive
Computer Game Applications, IEEE Electrical Engineering and
Computer Science Undergraduate Honors Program, National Chiao
Tung
University
Hsinchu
300,
Taiwan,
ROC,
wfang@mail.nctu.edu.tw, wechi.eecs97@nctu.edu.tw, 978-1-45770259 4/11/$26.002011 IEEE.
http://en.wikipedia.org/wiki/Smartphone#Market_share
Silvano Maneck Malfatti_, Fernando Ferreira dos Santosy and Selan
Rodrigues dos Santosz, Using Mobile Phones to Control Desktop
Multiplayer Games, 978-0-7695-4359-8/10 $26.00 2010 IEEE ,
DOI 10.1109/SBGAMES.2010.32.
Jianye Liu School of Information, Research on development of
Android applications, Yunnan University of Finance and
Economics KunMing, China ljyxingyun@yahoo.com.cn, 978-07695-4543-1/11 $25.00 2011 IEEE,DOI 10.1109/ICINIS.2011.40
Benjamin Speckmann, The Android mobile platform, Approved at
Ypsilanti, Michigan on April 16th, 2008.
Dao-Yuan Shan, Choon-Sung Nam, Dong-Ryeol Shin , Research
and implementation of a virtual joypad based on Android, IEEE
paper in Computer Science and Network Technology (ICCSNT),
2011 International Conference , Volume: 3, Page(s): 1367 - 1370,
Product Type: Conference Publications
Chong, P.H.J., Design and implementation of user interface for
mobile devices, Consumer Electronics, IEEE Transactions on, Date
of Publication: Nov. 2004Volume: 50, Issue: 4, Page(s): 1156
1161.
Hwan Heo , A realistic game system using multi-modal user
interfaces, Consumer Electronics, IEEE Transactions, Date of
Publication: Aug. 2010, Volume: 56 , Issue: 3 , Page(s): 1364 1372
Tamas Vajk, Paul Coulton, Will Bamford, and Reuben Edwards,
Using a Mobile Phone as a Wii-like Controller for Playing
Games on a Large Public Display, Received 26 September 2007,
Accepted 12 November 2007, Academic Editor: Kok Wai Wong
Copyright 2008 Tamas Vajk et al.

You might also like