Kingston University London

Transcription

Kingston University London
Kingston University London
DESIGN AND DEVELOPMENT OF A MULTIMEDIA COMPUTER
GAME ON A SOFTWARE PLATFORM FOR MOBILE DEVICES
CHARALAMBOS SERETIS
Master of Science in Networking and Data Communications
THESIS
INDEX
0. Abstract......................................................................................2
1. Introduction...............................................................................2
2. Operating Systems for mobile devices......................................3
3. What is Android.........................................................................6
4. Android applications and Android Market.............................6
5. What is a multimedia computer game......................................7
6. Android and multimedia computer games...............................9
7. How to develop a game for android.........................................10
8. Game analysis and design ........................................................11
9. Running our game.....................................................................19
10. Conclusion..................................................................................21
11. References..................................................................................22
[1]
Abstract- Mobile devices have invaded our lives so that is an integral part of our
daily lives. So entertainment has been transferred to portable devices, forcing
companies to spend more time on creating games that are cut and sewn to the
measures and the abilities of mobile devices. As a result of these circumstances the
market is trying to understand user needs and to offer new innovations on its
entertainment.
1. Introduction
In this Thesis we will design and develop a multimedia computer game for a mobile
platform. To achieve this we need to understand the market of the mobile devices and
especially what the differences between the mobile platforms are. At the beginning we
will examine the difference between the mobile operating systems and we will choose
one operating system for our application. Our application will be a multimedia
computer game so we will do a little research behind the term “multimedia” computer
game and we will take a look in the course of the multimedia games in the last twenty
years. Developing a computer game it is needed some developers tools, so we will
take a soon survey on different developers tools and after we choose our tool we will
design our game using some tools like logical flow charts and pseudo-codes. The
development will follow in the next part and after that our application will be ready to
run on mobile devices.
[2]
2. Operating Systems for mobile devices
Operating system is a set of programs that make a device and its features accessible
from applications and ready to use. Those programs work together and they combine
to a system that operates the “hardware” resources of a device. Such resources are
CPUs, memory, sensors, input – output devices like printers and monitors etc. in
short, operating systems are the heart of a device. Operating systems for mobile
devices – mobile phones appeared back in 1979 with the form of embedded systems,
after that and with the computer evolution operating systems passed from personal
computers in the mobile devices like PDAs and mobile phones. The first operating
system that was used in a mobile phone was a version of Dos (Disk operating System)
and had features like fax, pager and PDA and it had preinstalled applications for email, calculator, calendar, games etc. In our days there is a plenty of operating
systems for mobile devices, after a small survey on mobile operating systems we will
see the most important of them.
The operating systems for mobile devices that someone can meet are:
1. iOS
2. Symbian OS
3. Blackberry OS
4. webOS
5. Microsoft Windows CE
6. Android
7. MeeGo
8. bada
9. MXI
10. PalmOS
Picture 2.1: iOS, SymbianOS and Blackberry OS [6]
[3]
Picture 2.2: Android, Windows Mobile, Meego [6]
iOS is the operating system that was created by Apple for her mobile devices and is a
derivative (based on Mac OS X 10.5 Leopard) of its main operating system for
personal computers Mac OS X. It was first released in 2007 and is been used by
apples mobile devices like iPhone, iPad and iPod. iOS have a plenty of preinstalled
applications like e-mail client, web browser, telephone application, a map application
that uses GPS for tracking, multimedia applications for music and videos etc. The
most impressive feature of iOS is the application store where someone can find more
than 500,000 applications for downloading. iOS is a closed source OS and community
cant intervene to modify or make an alternative version of the OS. For developing an
application for iOS you need to have the latest Mac with iTune for synchronization
knowledge of objective C and a Developers Certificate.
Symbian OS was created by Symbian Ltd, Nokia, Sony Ericsson and others by
combining their software experience in mobile devices. It is closed source for general
public but has a free license for mobile device manufacturers. Its appearance was
made back in 2000 and was the operating system with the biggest part in the market
for many years. It was one of the first mobile operating systems that was using
widgets – Widgets are small applications that they look native to the OS and they use
internet data instead of using a web browser. For internet services Symbian is using
Ovi platform for browsing, application store, music store, games, file access and other
functions. For application development it is used mainly C++ but Qt environment can
be used alternative.
Blackberry OS was basically designed for business purposes and it was focused in
corporate e-mail, calendar, tasks, contacts, notes and other PDAs applications. It was
first released in 1999 by Research in Motion for its native “Blackberry” mobile
phones. It’s a closed source operating system and for application development is
needed Blackberry API classes and a digital signature.
webOS is the operating system that was developed by Palm and it was acquired by
Hewlett Packard for its mobile devices. It was first released in 2009 and was used for
the HP Tablet device. Despite the initial enthusiasm and promises from Hewlett
Packard for using webOS in all her products (tablet PCs, Printers, PCs) it is still used
only by tablet PCs. A positive step for the future development of the webOS was a
[4]
notice from Hewlett Packard that it will release an open source license for the
operating system. webOS has an application store with many third party applications
but it also has another source of applications that is called Homebrew but it is not
supported by Hewlett Packard. For application development its is basically used HP
Palm development program that is given through HPs web site. This program gives
many libraries and resources for C/C++ programming.
Microsoft Windows CE was first released in 1996 and was focused in mobile devices
with very low hardware resources. The version of Windows CE that is used in mobile
devices like tablet PCs and smart phones is called Windows Mobile. It has its own
application store called windows market place for mobile and it uses many
commercial application that are been used and in Windows Desktop. Application
development is very easy with the windows mobile API tools. A variety of
programming languages and environments can be used to create applications like
C++, Delphi, Java, Visual Studio, Lazarus, Delphi etc.
Android was released in 2007 by Google and the Open Handset Alliance. It’s an open
source operating system that it is based on Linux kernel and it was supported from the
beginning by a large number of enthusiast developers that they started to develop
applications from its first release. It has its own application store named Google play
(Android Market) and has more than 300,000 applications for downloading.
Application development is easy by using Android API and it is based in Java.
MeeGo is an operating system for mobile devices that is based on Linux and is
developed by the Linux Foundation and was announced in 2010. It is still in
development and it targets to be a cross platform operating systems that includes a
variety of mobile devices (phones, PDAs, Tablets, Netbooks, Laptops etc) and non
portable devices like Desktop PCs, Televisions, IPTVs etc. For application
development it is used Qt framework and GTK. MeeGo has give many characteristics
in a new developed operating system named Tizen.
Bada was developed in 2010 by Samsung for mobile devices like smartphones and
tablet PCs. It has its own store named Samsung apps for applications and it has more
than 3,000 applications for download. Bada is an open source operating system with
some restrictions. Application development can be done in C++, Java and Flash .
MXI is a universal operating system for mobile devices that supports applications
from other operating systems to run without redevelopment. MXI allows
interoperability between different platforms, software, networks, and hardware
components.
Palm OS is closed source operating system developed for mobile devices by Palm
back in 1996. Palm OS has many third party applications that can be installed, a
number of 50,000 was in 2010. For application development C++ and Pascal are the
most famous languages about PalmOS development.
[5]
3. What is Android?
Android is an operating system for mobile devices such as mobile phones (smart
phones) and tablet computers. It was created by Andy Rubin, Rich Miner, Nick sears
and Chris White back in 2003 [1], in 2005 Android acquired by Google. Google
wanted to create an operating system that is flexible, upgradable and to be used by a
variety of devices. So Google began cooperation with many partners for developing a
system that fits all. By this move it was created in 2007 the Open handset Alliance
that is a movement for creating open standards for mobile devices. Android is based
on Linux kernel and that makes it to be very flexible between different devices and
their drivers. Because Linux is a custom made operating system Android was made
with this in mind. So Linux kernel is the responsible that many different devices with
different characteristics run the same operating system. If we want to take a look on
Android architecture then we can divide the operating system on four tiers. Tier one is
the Linux Kernel that drives the device and recognizes all the sub devices of the
device. It is the key for connecting the hardware with the software. Tier two is the
common libraries that are used from the basic programs of the operating system.
Those libraries are used to create the common Android libraries using the Dalvic
Virtual machine. Dalvic virtual machine is the “converter” of different hardware
devices to the same Android device. And after Dalvic work we can now have the
common Android Libraries in use. Tier three has the basic software for functioning
the different sub-devices and basic services of the device such as Location manager,
window manager, telephony manager etc. The last tier is Tier four that give access to
the final user for using the device and its applications. In this tier end users can add or
remove applications make phone calls by using their phonebook etc. Android have
many features and many that are still in development, some features are, Storage, 2D2D - 3d graphic layouts, connectivity with many networks (such as GSM, UMTS,
WIFI, WIMAX, CDMA, BLUETOOTH, LTE etc), Messaging services (sms, mms),
web browsing, media support, java support, streaming, GPS, multi-touch, multilanguage support, audio and video calls, voice recognition, tethering, screen capture
and others. So Android is a modern operating system that is been used by many
devices and is preferred by a large number of users and a huge community that
supports it. According to Google at the first quarter of 2012 had one million activated
devices using android per day making it the most popular mobile platform.
4. Android applications and Android Market
Android was created for having a variety of applications that supports the devices
characteristics. Because of huge popularity community started to create its own
applications. For a safe distribution of these applications Google created the Android
Market (now called Google Play). Through the Android Market Google created a
commercial application that controls the distribution of the applications that are valid
for the Android. Through the Store third party developers can create their own
android applications and can distributed with safety to the end users for free or with
some charge. The same application can be found on the Android market for free or
with charge with the only difference that in the free version there are advertisements.
Android market is a good reason for someone to test his creativity and make some
“easy” money without the need of a publisher. Android market was the reason for the
rapid expansion of the Android devices. Android applications are divided in two main
categories, the pure applications and the “widgets”. The pure applications are stand
[6]
alone programs such as games, calculators etc. Widgets are applications that are
mining specific data from the WEB without the need of a WEB browser, so we can
say that widgets are mini web browsers that have access to a specific page. The reason
that widgets created is to make fast and flexible applications that the main data
volumes are installed on the device and it is not needed to stream every time the same
data volumes. That helps the devices that have poor hardware to run heavy web
applications with no performance problems. Without the need of huge data volume
streaming many WEB sites becomes available in poor networks like old mobile
telephony networks such as GSM and EDGE. Through android market users can find
except applications music, books, movies and TV series.
5. What is a multimedia computer game?
A multimedia computer game is an application that combines audio graphics and user
interaction in a custom made story or scenario. Multimedia games where first
published back in the decade of 1980 and had basic graphics that in many cases they
where handmade pictures / posters or simple drawings with only a basic “beep” sound
from a 16 sound pc speaker.
Picture 5.1: Mystery house one of the first multimedia games from On-line systems back in 1980 [7]
Despite the fact that they appeared in the early 80’s the definition “multimedia” was
first heard in early 90’s from the gaming industry for promotion purposes that was
describing computer games with audio and graphics distributed on the new media
called compact disc or “CD”. Multimedia games evolved during the mid of 90’s
because the developers wanted to give a more realistic approach in their games. So
they used actors in their games and real sceneries, at the beginning actors where used
for some in game videos and finally they used them as the game characters.
Picture 5.2: Darren Eliker as Jim Pearson in the interactive multimedia game “Black Dahlia” [8]
[7]
Picture 5.3: Tim Curry as Gabriel Knight in “Gabriel Knight 3” [9]
Picture 5.4: 3D Models for faces designed for the game “Elder Scroll adventures – Skyrim” [10]
After the evolution of 3D hardware the actors where used only for their face shape
and after a while they stopped using actors due to high production costs and they
started designing characters and places with new techniques that where very close to
reality. Since the 3D model design was prevailed every game that is using graphics,
sound and interaction is called as a “multimedia application” or just a video or
computer game.
Picture 5.5: A variety of multimedia puzzle games [11]
[8]
6. Android and multimedia computer games
With the rapid evolution of mobile devices that are using Android it was made the
need for creating multimedia games for the Android platform. Many Android users
have tested their skills in developing a small or a larger game for their favorite device
and they share it with their friends through the Android market. Many game
distributors have ported large commercial game titles in the Android platform or they
distribute exclusively for the Android platform. As time passes devices using android
have more and more features so more complex and fun multimedia games are been
developed. Games using accelerometers, touch screen are in common in our days.
Picture 6.1: A Game for android using accelerometer [11]
Publishers have also rebooted older popular games for the Android platform, titles
that were released in the mid 90’s are now back again with the same popularity. Other
platforms that are not now in the market such as Nintendo Super NES, Nintendo 64,
Sony Play station, Sega Genesis, Commodore 64, Atari, MS DOS and others are now
can be found in the Android Market. Many of the emulators or the remakes are made
either by fan made projects or by their own publishers.
Picture 6.2: An older game that was compiled for the Android from the super NES platform [11]
[9]
7. How to develop a game for the Android
There is a large community about the Android development methods and tools. The
programming language for the Android applications is Java. So to develop any
application for android we need basic knowledge of Java. The second part to develop
the application is to find an IDE (integrated developers environment). There are many
IDE for Java such as intellij IDEA, NetBeans, Borland JBuilder, Sun Java studio
Creator, Macromedia dreamweaver, Oracle jdeveloper, jcreater, IBM WebSphere
Studio, eclipse etc. When we decide which IDE to use we need the Android tools that
called Android software developers kit or just Android SDK. For testing our
application we need an android emulator. The officially IDE for Android application
development is Eclipse that has a native plug-in for Android Development Tools (or
Android ADT).
Picture 7.1: Eclipse with Android SDK [3]
For developing our multimedia application we will use Eclipse with the Android SDK
installed.
[10]
8. Game analysis and Design
For developing our game we need first to decide what type of game will be, what
mechanics will use and what will be the concept. The type of game that we will
develop will be a puzzle game with a random processes and the goal will be to beat
the computer. The main concept of the game is to find through three options the right
one, in case we will find the right one then a score meter will raise and a sound like
trumpet and claps will be heard. In case that we will fail to find the right choice then
no sound will play and a message will inform us that we didn’t find anything, our
score will decrease in this case. Music will play all the time in the background. From
the game description we may call our game as “WhereIsIt”. The next step in our game
design is to create a logical flow chart for the game.
Picture 8.1: Logical Flow Diagram for our Game
After the flow chart we need to create a pseudo code as a skeleton for our application.
The pseudo code will describe the main functions of the game and the choices of the
user. Below we can see our pseudo code:
Start
Display Splash Screen “WhereIsIt”
Kill after 3,5 Seconds
Play Theme Music
Main
While return key is not pressed do
Display Graphics
Draw three boxes
Display Text “Try to Find the Cake”
Display Choice Button
[11]
On press Button
Random Cake (1-3)
Wait for choice
If choice = Random Cake then
Score = Score +1
Play Sound
Else
Score = Score – 1
Display message “You didn’t found it”
Else
Kill application
End of program
As we can see from the pseudo code we need three main functions, a loop for keeping
the game running, an “if’ function for making the choice and a random generator.
Also we need some graphics for making our code to become alive. We need a
background screen, a splash message, and graphics for items. Bellow we can see our
flow diagram with “graphics”.
Picture 8.2: Logical Flow Diagram for our Game graphics
After we need to create a project in Eclipse, we choose Android application Project
and we make our commissioning in the project breakdown tree to make our project
run in android 2.2 that is the most common Android system. After we interpret the
pseudo code to Java Code:
[12]
package WhereIsIt.org; # HERE WE IMPORT CLASSES FROM JAVA AND ANDROID TOOLS import java.util.Random; import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TableLayout; import android.widget.TextView; import android.widget.Toast; #THIS IS OUR MAIN CLASS public class WhereIsIt extends Activity { ImageButton a,b,c; #ASSIGN IMAGES AS BUTTONS Button roll; #CREATE BUTTON “ROLL” CountDownTimer go,go2; TextView score,cake; #OUR DISPLAY TEXTS int change=0; #A VARIABLE TO CHECK THE RANDOM EFFECT int cardset,points=0; #VARIABLES FOR THE SCORE TableLayout table; #ASSIGN SPLASH SCREEN ImageView splash; RelativeLayout mainlayout;#ASSIGN BACKGROUND int i=0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); music(); mainlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); mainlayout.getBackground().setAlpha(0); cake = (TextView) findViewById(R.id.textView1); cake.setVisibility(4); table = (TableLayout) findViewById(R.id.tableLayout1); table.setVisibility(4); splash = (ImageView) findViewById(R.id.imageView1); CountDownTimer spcount = new CountDownTimer(5000,10) { @Override public void onTick(long millisUntilFinished) { } @Override public void onFinish() { // TODO Auto‐generated method stub [13]
splash.setVisibility(4); table.setVisibility(0); cake.setVisibility(0); mainlayout.getBackground().setAlpha(255); } };spcount.start(); a = (ImageButton) findViewById(R.id.imageButton1); b = (ImageButton) findViewById(R.id.imageButton2); c = (ImageButton) findViewById(R.id.imageButton3); roll = (Button) findViewById(R.id.button1); score = (TextView) findViewById(R.id.score); score.setText("Your score is: " + Integer.toString(points) ); a.setOnClickListener(new OnClickListener() { #FUNCTION FOR USING THE BUTTON INCLUDES THE IF FOR BUTTON A public void onClick(View v) { if (cardset==0){ a.setBackgroundResource(R.drawable.cake); Toast toast = Toast.makeText(WhereIsIt.this, "You found it!!",100); #CASE THAT WE FIND THE CAKE effect(); toast.show(); points=points+1; score.setText("Your score is: " + Integer.toString(points) ); } #CASE THAT WE DIDN’T FIND THE CAKE else { if (points‐1>=0){ points = points ‐1; score.setText("Your score is: " + Integer.toString(points) ); } Toast toast = Toast.makeText(WhereIsIt.this, "You didn't found it!!",100); toast.show(); } a.setEnabled(false); b.setEnabled(false); c.setEnabled(false); a.getBackground().setAlpha(100); b.getBackground().setAlpha(100); c.getBackground().setAlpha(100); roll.setEnabled(true); roll.getBackground().setAlpha(225); } }); b.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (cardset==1){ b.setBackgroundResource(R.drawable.cake); [14]
Toast toast = Toast.makeText(WhereIsIt.this, "You found it!!",100); toast.show(); effect(); points=points+1; score.setText("Your score is: " + Integer.toString(points) ); } else { if (points‐1>=0){ points = points ‐1; score.setText("Your score is: " + Integer.toString(points) ); } Toast toast = Toast.makeText(WhereIsIt.this, "You didn't found it!!",100); toast.show(); } a.setEnabled(false); b.setEnabled(false); c.setEnabled(false); a.getBackground().setAlpha(100); b.getBackground().setAlpha(100); c.getBackground().setAlpha(100); roll.setEnabled(true); roll.getBackground().setAlpha(225); } }); c.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (cardset==2){ c.setBackgroundResource(R.drawable.cake); Toast toast = Toast.makeText(WhereIsIt.this, "You found it!!",100); toast.show(); effect(); points=points+1; score.setText("Your score is: " + Integer.toString(points) ); } else { if (points‐1>=0){ points = points ‐1; score.setText("Your score is: " + Integer.toString(points) ); } Toast toast = Toast.makeText(WhereIsIt.this, "You didn't found it!!",100); toast.show(); } a.setEnabled(false); b.setEnabled(false); c.setEnabled(false); a.getBackground().setAlpha(100); b.getBackground().setAlpha(100); c.getBackground().setAlpha(100); [15]
roll.setEnabled(true); roll.getBackground().setAlpha(225); } }); a.setEnabled(false); b.setEnabled(false); c.setEnabled(false); a.getBackground().setAlpha(100); b.getBackground().setAlpha(100); c.getBackground().setAlpha(100); roll.setOnClickListener(new OnClickListener() { public void onClick(View v) { a.getBackground().setAlpha(225); b.getBackground().setAlpha(225); c.getBackground().setAlpha(225); roll.setEnabled(false); roll.getBackground().setAlpha(100); go = new CountDownTimer(1000,20) { @Override public void onTick(long millisUntilFinished) { // TODO Auto‐generated method stub Random card = new Random(); cardset = card.nextInt(3); if (change==1){ a.setBackgroundResource(R.drawable.gift); b.setBackgroundResource(R.drawable.gift); c.setBackgroundResource(R.drawable.gift); } if (cardset==0 && change ==0){ a.setBackgroundResource(R.drawable.cake); change =1; } else if (cardset==1&& change ==0){ b.setBackgroundResource(R.drawable.cake); change =1; } else if (cardset==2&& change ==0){ c.setBackgroundResource(R.drawable.cake); change =1; } Handler myHandler = new Handler(); Runnable mMyRunnable = new Runnable() [16]
{ public void run() { a.setBackgroundResource(R.drawable.gift); b.setBackgroundResource(R.drawable.gift); c.setBackgroundResource(R.drawable.gift); } }; myHandler.postDelayed(mMyRunnable, 20); change =0; } @Override public void onFinish() { a.setEnabled(true); b.setEnabled(true); c.setEnabled(true); a.getBackground().setAlpha(225); b.getBackground().setAlpha(225); c.getBackground().setAlpha(225); } };go.start(); #OUR LOOP FOR RESTARTING THE GAME // TODO Auto‐generated method stub } }); } public void music(){ MediaPlayer mPlayer = MediaPlayer.create(this, R.raw.music); #PLAYING MUSIC FILE FOR OUR THEME MUSIC mPlayer.setLooping(true); mPlayer.start(); } public void effect(){ #PLAYING MUSIC FILE FOR SOUND EFFECT MediaPlayer effect1 = MediaPlayer.create(this, R.raw.cheer); effect1.setVolume(0.3f, 0.3f); effect1.start(); } #FUNCTION FOR EXIT THE GAME public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { WhereIsIt.this.finish(); return false; } return super.onKeyDown(keyCode, event); } } [17]
From the Java Code we see that we have these main parts: package WhereIsIt.org; #Program name import java.util.Random; #importing Java and Android Tools public class WhereIsIt extends Activity { #Variables that we use in our functions ImageButton a,b,c; Button roll; CountDownTimer go,go2; TextView score,cake; int change=0; int cardset,points=0; TableLayout table; ImageView splash; RelativeLayout mainlayout; int i=0; public void onCreate(Bundle savedInstanceState) #On create function we have the main code of our program, in this function we create four key buttons, 1 for roll that creates one random number from 1‐3 and enables the choices, and three buttons that each one is a choice. Every button has a function if to check if the random generated number corresponds to their characteristic number. public void music() #In this function we create a media player to play our music file and we set the loop function true public void effect() #In this function we create a media player for our sound effect public boolean onKeyDown(int keyCode, KeyEvent event) #This is the escape key, if we press return the program closes and exits to Android. } [18]
9. Running our game After finishing our code the next step is to run the game. For doing this we need an
emulator. Eclipse after the Android SDK add-on has a built in emulator, so we can run
our game with just a click. After launching our emulator we can find our program in
the Android main menu. From there we run the WhereIsIt program and now we can
play the game.
Picture 9.1: Eclipse Running the Android Emulator
Picture 9.2: Eclipse Running the Android Emulator and our program
In picture 9.2 we can see our program in the Android main menu, after selecting the
“WhereIsIt” icon the game launches and the Splash screen is shown up.
[19]
Picture 9.3: Main Screen of our game
Picture 9.4: The two cases of the game
In picture 9.3 we see the main screen of our game the only thing we have to do is to
press the roll button and chose one of the gifts. In Picture 9.4 we can see the two cases
of the game, one is when we find the cake and we score and the other is when we
don’t find the cake and a message is shown to tell us that “You didn’t found it!”
[20]
10. Conclusion
In this Thesis we examined and acquired knowledge about the operating systems for
mobile devices, about their applications and how they are been distributed to them
through application stores. We show a large variety of operating systems and its main
characteristics. After the operating systems we analyzed the Android operating system
and we examined its inner architecture. Then we examined what is a multimedia
game and we made an overview in their evolution from the early years until our days.
The next step was how to create our own application for the Android platform and we
made a research for the Integrated Developers Environments known as IDEs and we
decided to create our game in Eclipse. We analyzed our game after we set the scope of
work using diagrams and pseudo code. After the Pseudo code we created the
programming code in Java and we developed or project in Eclipse. After we finished
the development we run our application we tested it and we do some debugging for
making it to run with no problems on our devices. From all this way in the thesis we
gained knowledge on how it should be investigated and evaluated a system before it
progressed into the production process. For future research on the development of
games could be the use of various methods of user interaction such as voice
commands and the use of micro-sensors, surpassing the traditional model of multimedia and developing models with real user interaction and mobile device.
[21]
11. References
[1]
Programming Android (Zigurd Mednieks, Laird Dornin, G. Blake
Meike and Masumi Nakamura) O’ REILLY Media 2011
[2]
Professional Android 4 Application Development (Reto Meier) John Willey
and Sons 2012
[3]
Eclipse IDE pocket guide (Ed Brunnette) O’ REILLY Media 2005
[4]
Writing for Video Game Genres: From FPS to RPG (Wendy Despain) A K
Peters 2009
[5]
www.android.com (accessed 5/4/2012)
[6]
Search in Google pictures for mobile operating systems (12/3/2012)
[7]
Picture from the Game Mystery House of On-Line Systems 1980 (Sierra Online)
[8]
Picture from the Game Black Dahlia of Take 2 Interactive 1998
[9]
Picture from the Game Gabriel Knight 3 of Sierra On-Line 1999
[10] Picture from the Game Elder Scrolls V: Skyrim of Bethesda game studios
2011
[11] Search in Google pictures for Android games (3/6/2012)
[22]