Air Hockey – 2D Physics Game Project Report University Of Information Technology, IP UNIVERSITY,
Oct 24, 2015
Air Hockey – 2D Physics Game
Project Report
University Of Information Technology,
IP UNIVERSITY,
Acknowledgement
I express my gratitude to XXXXX for providing me the infrastructure to carry out
the project work and I would also like to thank all my classmates for their valuable
suggestions and helpful discussions.
World is contracting with the growth of mobile phone technology. As the number of
users is increasing day by day, facilities are also increasing. Starting with simple
regular handsets which were used just for making phone calls, mobiles have changed
our lives and have become part of it. Now they are not used just for making calls but
they have innumerable uses and can be used as a Camera , Music player, Tablet PC,
T.V. , Web browser, Games etc . Game development is an ever green and rapidly
growing market today, and therefore this is my attempt at developing a physics based
2D game.
XXXXXXX
UIT, IP University
ABSTRACT
The world is contracting with the growth of mobile phone technology. As the
number of users is increasing day by day, facilities are also increasing. Starting with
simple regular handsets which were used just for making phone calls, mobiles have
changed our lives and have become part of it. Now they are not used just for making
calls but they have innumerable uses and can be used as a Camera , Music player,
Tablet PC, T.V. , Web browser, Games etc . And with the new technologies, new
software and operating systems are required.
Operating Systems have developed a lot in last 15 years. Starting from black and
white phones to recent smart phones or mini computers, mobile OS has come far
away. Especially for smart phones, Mobile OS has greatly evolved from Palm OS in
1996 to Windows pocket PC in 2000 then to Blackberry OS and Android.
One of the most widely used mobile OS these days is ANDROID. Android is a
software bunch comprising not only of operating system but also middleware and
key applications. Android Inc was founded in Palo Alto of California, U.S. by Andy
Rubin, Rich miner, Nick sears and Chris White in 2003. Later Android Inc. was
acquired by Google in 2005. After original release there have been number of
updates in the original version of Android.
This Project is aimed at developing an Air Hockey game, and is built for the Android
OS. This game has been built in Java.
INDEX
1 – Introduction
1.1 Project Summary
1.2 Innovativeness
1.3 Project Scope
1.4 Tools & Technologies Used
1.4.1 AndEngine
1.4.2 Eclipse
1.4.3 Photoshop
1.4.4 Android SDK
2 – Software and Hardware Requirement
2.1 Software Requirements
2.2 Hardware Requirements
3 - Software Design
3.1 Usecase Diagram
3.2 Class Diagram
4 - Screenshots
5 - Future Enhancement
6 – Conclusion
7 – Bibliography
7.1 Books
7.2 Websites
1: INTRODUCTION
1.1 PROJECT SUMMARY:
Project Title:
Air Hockey – 2D Physics Game
Problem Statement:
Create a 2D game which simulates the game of air hockey on an android device. The
software should be able to take uninterrupted inputs smoothly during the gameplay,
and hence should be highly optimized. The software should also have a player
running on Artificial Intelligence to serve as an opponent to the user. Scores should
be maintained and updated on each goal and results should be declared at the end of
the game.
Project Description:
The project deals with the task of designing a game by creating various algorithms.
These algorithms are responsible for various things like making possible the physics
emulation of the player in the game, for gesture recognition on the devices which
helps user to control the player, etc. The software will be able to increase the
difficulty of the levels as the user makes progress in the game.
Java is a programming language originally developed by Sun Microsystems and released in
1995 as a core component of Sun Microsystems' Java platform. The language derives much
of its syntax from C and C++ but has a simpler object model and fewer low-level facilities.
Java applications are typically compiled to bytecode that can run on any Java Virtual
Machine (JVM) regardless of computer architecture.
One characteristic of Java is platform independence, which means that programs written
in the Java language must run similarly on any supported hardware/operating-system
platform. One should be able to write a program once, compile it once, and run it anywhere.
This is achieved by compiling the Java language code, not to machine code but to Java
bytecode – instructions analogous to machine code but intended to be interpreted by a
virtual machine (VM) written specifically for the host hardware. End-users commonly use a
JRE installed on their own machine, or in a Web browser. Standardized libraries provide a
generic way to access host specific features such as graphics, threading and networking. In
some JVM versions, bytecode can be compiled to native code, either before or during
program execution, resulting in faster execution. A major benefit of using byte code is
portability.
1.2 INNOVATIVENESS:
Gaming industry is an evergreen and fast growing area in the world. Developing a
game not only tests the programming ability of the programmer, but also tests the
efficiency, creativity, and his ability to map the real world environment into the
software product he is developing. This project not only covers the programming
aspects, but also GUI (Graphical User Interface) designing
1.3 PROJECT SCOPE:
The game can be very helpful software for people who want to find a source of
entertainment, which is mobile. For full functionality, some modules of the game
may require network access on the device. Further, the game provides the single
player functionality and local multiplayer as well, and can be extended to online
multiplayer in the future.
1.4 TOOLS & TECHNOLOGIES USED:
The technologies that were used in the development of the game are as follows:
1.4.1 ANDENGINE
What is AndEngine?
AndEngine is a free 2D OpenGL game engine for the Android platform.
Along with the core engine, the platform supports extensions, such as the
following:
PhysicsBox2DExtension : Allows use of Box2D physics.
TMXTiledMapExtension : Allows reading of files generated in the
TMX Map Format.
TexturePackerExtension : Allows use of sprite sheets or sprite atlases
generated by TexturePacker.
MultiplayerExtension : Supports multiplayer
1.4.2 ECLIPSE
What is Eclipse?
In computer programming, Eclipse is an Integrated development environment
(IDE) comprising a base workspace and an extensible plug-in system for
customizing the environment. It is written mostly in Java. It can be used to
develop applications in Java and, by means of various plug-ins, other
programming languages including Ada, C, C++, COBOL, Fortran, Haskell,
JavaScript, Lasso, Perl, PHP, Python, R, Ruby (including Ruby on Rails
framework), Scala, Clojure, Groovy, Scheme, and Erlang. It can also be used
to develop packages for the software Mathematica. Development
environments include the Eclipse Java development tools (JDT) for Java and
Scala, Eclipse CDT for C/C++ and Eclipse PDT for PHP, among others.
1.4.3 PHOTOSHOP
What is Photoshop?
Adobe Photoshop is a graphics editing program developed and published by
Adobe Systems. Adobe's 2003 "Creative Suite" rebranding led to Adobe
Photoshop 8's renaming to Adobe Photoshop CS. Thus, Adobe Photoshop
CS6 is the 13th major release of Adobe Photoshop. The CS rebranding also
resulted in Adobe offering numerous software packages containing multiple
Adobe programs for a reduced price. Adobe Photoshop is released in two
editions: Adobe Photoshop, and Adobe Photoshop Extended, with the
Extended having extra 3D image creation, motion graphics editing, and
advanced image analysis features. Adobe Photoshop Extended is included in
all of Adobe's Creative Suite offerings except Design Standard, which
includes the Adobe Photoshop edition.
1.4.4 ANDROID SDK
Android applications are usually developed in the Java programming
language using the Android Software Development Kit, but other
development tools are available. As of October 2012, more than 700,000
applications have been developed for Android, with over 25 billion
downloads.
2: SOFTWARE AND HARDWARE
REQUIREMENT
2.1 Software Requirements:
Android 2.2 or higher
OpenGL ES 2.0
2.2 Hardware Requirements:
800 MHz processor or better
256 MB RAM or more
7 MB free internal storage
4 Multitouch inputs or more
Network connection to internet
3: SOFTWARE DESIGN
3.1 USECASE Diagram
3.2 CLASS Diagram
4: SCREENSHOTS
Main Menu:
Instructions Menu:
Player Vs Player - Scene 01:
Player Vs Player - Scene 02:
Career – Scene 01:
Career - Scene 02:
Career – Scene 03:
5: FUTURE ENHANCEMENT
It can support online scoreboards.
It can be extended to online multiplayer matches.
The AI can be made more intelligent.
More power-ups can be made available in the game
6: CONCLUSION
From a proper analysis of positive points and constraints on the component, it
can be safely concluded that the product is an efficient GUI based
component.
This application is working properly and meeting to all user requirements.
After doing this project, I have learned many things and I would like to thank
all the concerned individuals who have contributed to my precious learning.
I have also understood the importance of naming conventions and coding
conventions in development process.
I am sure that I can perform better as I step up on the ladder of experience.
7: BIBLIOGRAPHY
7.1 BOOKS:
Head First Java – Kathy Sierra & Bert Bates
7.2 WEBSITES:
http://www.andengine.org
https://github.com/nicolasgramlich/AndEngine
http://www.raywenderlich.com/
http://www.box2d.org
http://www.youtube.com/
https://www.google.com/