Final Completed

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 24

UNIVERSAL ENGINEERING AND SCIENCE COLLEGE

AFFILIATED TO POKHARA UNIVERSITY

A Project Report
ON
Breakout Ball in Python

Submitted by:
Anil Pokharel (19070431)
Abhishek Subedi (20070368)

Submitted to:
Department Of Computer Science & Engineering
Universal Engineering and Science College
Chakupat, Lalitpur

November, 2022
DECLARATION

We hereby declare that the report of the project entitled “Breakout Ball in Python”
which is being submitted to the Department of Computer Science and Engineering,
Universal Engineering and Science College, Chakupat, Lalitpur, in the partial
fulfillment of the requirements for the award of the Degree of Bachelor of Engineering in
Computer Engineering, is a bonafide report of the work carried out by us. The materials
contained in this report have not been submitted to any University or Institution for the
award of any degree and we are the only author of this complete work and no sources
other than the listed here have been used in this work.

Anil Pokharel (Class Roll No: 075/BCE/131)

Abhishek Subedi (Class Roll No: 076/BCE/202)

Date: November, 2022

i
CERTIFICATE OF APPROVAL

The undersigned certify that they have read and recommended to the Department of
Computer Science and Engineering, Universal Engineering and Science College, a
minor project work entitled “Breakout Ball in Python” submitted by Anil Pokharel and
Abhishek Subedi, in partial fulfillment for the award of Bachelor’s Degree in Computer
Engineering. The Project was carried out under special supervision and within the time
frame prescribed by the syllabus.

We found the students to be hardworking, skilled and ready to undertake any related
work to their field of study and hence we recommend the award of partial fulfillment of
Bachelor’s degree of Computer Engineering.

Project Supervisor
Mr. Nabin Shrestha
Senior Coordinator, Department of Computer Science & Engineering, UESC

External Examiner
Mr. ………………………….
HOD, Department of Computer Engineering, …………………….

Head of the Department,


Mr. Santosh Bhattarai
Department of Computer Science & Engineering, UESC

November, 2022

ii
COPYRIGHT

The author has agreed that the library Department of Computer Science & Engineering,
Universal Engineering & Science College, may make this report freely available for
inspection. Moreover, the author has agreed that the permission for extensive copying of
this project work for scholarly purpose may be granted by the professor/lecturer, who
supervised the project work recorded herein or, in their absence, by the head of the
department. It is understood that the recognition will be given to the author of this report
and to the Department of Computer Science & Engineering, Universal Engineering &
Science College in any use of the material of this report. Copying of publication or other
use of this report for financial gain without approval of the Department of Department of
Computer Science & Engineering, Universal Engineering & Science College and
author’s written permission is prohibited.

Request for permission to copy or to make any use of the material in this project in whole
or part should be addressed to department of Department of Computer Science &
Engineering, Universal Engineering & Science College.

iii
ACKNOWLEDGEMENT

It is a great pleasure for me to acknowledge the guidance and contribution of all the
individuals for their assistance and guidance. I would like to take this opportunity to
express my gratitude and thanks the peoples who have helped me in various ways to
complete my minor project. First, I would like to thank our college “Universal
Engineering and Science College” and computer department for providing us this great
opportunity to put our learning and knowledge in a real time project.

I am very grateful to my project supervisor who has been very polite and helpful in giving
instruction in the preparation of this project. I would like to thank him for his valuable
guidance and support throughout this project time. Similarly, I must convey our gratitude
to my project supervisors Er.Nabin Shrestha for giving me constant source of
inspiration and encouragement throughout the project time. Also, I would like to convey
thanks to entire teacher and staff of the Department of Computer Science and
Engineering, UESC for their invaluable guidance and support to complete this project.

Finally, yet more importantly I would like to express my deep appreciation and sincere
gratitude to my family, classmates and friends for their perpetual support and
encouragement throughout the period of this project.

Thanking You,

Anil Pokharel (Class Roll No.: 075/CMP/131)


Abhishek Subedi (Class Roll No.: 076/CMP/202)

iv
ABSTRACT

Games are a fundamental way that humans interact and learn. They provide so many
advantages for people of all interests and abilities. The main benefits of using computer
games as learning tools, is related with problem solving, 21stcentury skills, integration of
learning and assessment, collaborative and interactivity, addressing cognitive as well as
affective learning issues, and motivation for learning. Gaming is gaining a different level
of attention not only from the youngsters but also from different age people. It is creating
a virtual world where we can virtually live our life. Gaming has gained importance in
Desktop application as well as in Android Application. The objective of the project is to
give information about the game “Breakout Ball”. It is a classic arcade game. The game
is mainly based and motivated from the game "Arkanoid". The game play is based on
elementary physics i.e., reflection principle. Breakout Ball is a game in which the player
must smash a wall of bricks by deflecting a bouncing ball with a paddle. The paddle
moves horizontally and is controlled with keyboard. When all the bricks have been
destroyed, the player advances to a new level. There are 3 levels with color-coded tiles
and entertaining sound.
Keywords: Ball. Paddle, Brick,

v
Table of Content

DECLARATION...................................................................................................................................i

CERTIFICATE OF APPROVAL.......................................................................................................ii

COPYRIGHT.......................................................................................................................................iii

ACKNOWLEDGEMENT...................................................................................................................iv

ABSTRACT...........................................................................................................................................v

Table of Content..................................................................................................................................vi

List of figures.....................................................................................................................................viii

List of Tables........................................................................................................................................ix

1. INTRODUCTION.........................................................................................................................1

1.1 Background..................................................................................................................................1

1.2 Motivation....................................................................................................................................2

1.3 Problem Definition......................................................................................................................2

1.4 Project Objective.........................................................................................................................2

1.5 Project Scope and Application...................................................................................................2

2. LITERATURE REVIEW.............................................................................................................4

3. REQUIREMENT ANALYSIS.....................................................................................................5

3.1 Project Requirement..............................................................................................................5

3.2 Feasibility Study..........................................................................................................................6

3.2.1 Economic Feasibility.........................................................................................6

3.2.2 Operational Feasibility......................................................................................6

3.2.3 Technical Feasibility..........................................................................................6

3.2.4 Schedule Feasibility...........................................................................................7

4. SYSTEM ARCHIETECTURE AND METHODOLOGY.........................................................8

4.1 Block Diagram........................................................................................................................8

vi
4.2 Flowcharts.............................................................................................................................10

5. IMPLEMENTATION DETAIL.................................................................................................12

6. RESULT AND ANALYSIS........................................................................................................13

6.1 Outcome.....................................................................................................................................13

6.2 Time Schedule............................................................................................................................13

7. Conclusion....................................................................................................................................14

References............................................................................................................................................15

vii
List of figures

Figure No. Title Of Figure Page No.


Figure 4.1 Block Diagram 6
Figure 4.2 Flowchart 7

viii
List of Tables

Table No. Name of Table Page No.


6.2 Gantt Chart 10

ix
1. INTRODUCTION

Breakout Ball is a simple brick breaker game which will have layers of colored bricks and
ball with which to break the layers. The player will move the paddle from left to right to
keep the ball from falling. A life will be used when the player fails to hit the ball. A
regular brick will disappear when it’s hit by the ball, or breaks a little if it’s a bulkier
brick. At the same time, there will be music outputs to match different game effects. If
time permits, we plan to add more features to the game, such as bricks that drop items to
make the paddle longer, make the ball faster, or turn the ball on fire so that it burns every
brick on the path. We will build a scoring system that reflects how efficient the user is to
clear the bricks. Number of total paddle hits and maximum brick hits per trip are two of
the possible factors. [1]

1.1 Background

Breakout Ball is an arcade video game developed and published by Atari, Inc. and
released on May 13, 1976. It was designed by Steve Wozniak, based on conceptualization
from Nolan Bushnell and Steve Bristow who were influenced by the seminal 1972 Atari
arcade game Pong. In Breakout Ball, a layer of bricks lines the top third of the screen and
the goal is to destroy them all by repeatedly bouncing a ball off a paddle into them. The
arcade game was released in Japan by Namco. Breakout ball was a worldwide commercial
success, among the top five highest-grossing arcade video games of 1976 in both the
United States and Japan and then among the top three highest-grossing arcade video
games of 1977 in the US and Japan. The 1978 Atari VCS port uses color graphics instead
of a monochrome screen with colored overlay. [2]
While the concept was predated by Ramtek's Clean Sweep (1974), Breakout spawned an
entire genre of clones. It was the inspiration for aspects of the Apple II computer
and Taito's Space Invaders (1978). An official sequel was released in 1978, Super
Breakout, which eventually became the pack-in game for the Atari 5200 console in
1982. Super Breakout introduced multiple balls in play at once, which became a common
feature in the genre. In 1986 the Breakout concept found new legs with Taito's Arkanoid,

1
which itself spawned dozens of imitators. In Japan, the genre is known as block
kuzushi ("block breaker") games. [3]
1.2 Motivation

In the start of this wonderful idea, we actually planned to develop an E-commerce site.
The idea was dropped later because we thought it was too mainstream, then we finalized
the resume developing site, that idea was to dropped because of small audience and less
exposure.
Finally, we choose, The Breakout Ball Game In Python.
1.3 Problem Definition

Although technologies have been developed rapidly in many parts of the world, Nepal is
still behind in utilization and production of them. In the context of rapidly evolving
gaming technologies, Nepal is still behind due to lack of infrastructure on networks,
payment methods and many more problems. Based on the research papers review we
found out that few of the problems need to be addressed in our project. Some of those
problems are listed below.
 High level software and hardware requirements from games issue.
 Low level collaboration of physics and assets
 Movements not aligned with graphical representation.

1.4 Project Objective

The main aim of this project is to develop an arcade video game.


The objectives are:
 To make player score points by breaking bricks with the ball.
 To send player to next level, once player finished a certain level, making players
competitive to have the highest score

1.5 Project Scope and Application

 Games involve certain rules. This means that the player has to think quickly while
making any move to ensure that the ball stays within the play zone of that

2
particular level. The player needs to make split- second decisions that will
determine whether or not he or she will advance to the next level.
 According to research, individuals who play games frequently can process these
stimulators faster than others. These stimulators ensure that the brain is
continuously working to interpret them.

3
2. LITERATURE REVIEW

Breakout Ball is an arcade video game developed and published by Atari, Inc. and
released on May 13, 1976. It was designed by Steve Wozniak, based on conceptualization
from Nolan Bushnell and Steve Bristow who were influenced by the seminal 1972 Atari
arcade game Pong. In Breakout Ball, a layer of bricks lines the top third of the screen and
the goal is to destroy them all by repeatedly bouncing a ball off a paddle into them. The
arcade game was released in Japan by Namco. Breakout ball was a worldwide commercial
success, among the top five highest-grossing arcade video games of 1976 in both the
United States and Japan and then among the top three highest-grossing arcade video
games of 1977 in the US and Japan. The 1978 Atari VCS port uses color graphics instead
of a monochrome screen with colored overlay.

While the concept was predated by Ramtek's Clean Sweep (1974), Breakout spawned an
entire genre of clones. It was the inspiration for aspects of the Apple II computer and
Taito's Space Invaders (1978). An official sequel was released in 1978, Super Breakout,
which eventually became the pack-in game for the Atari 5200 console in 1982. Super
Breakout introduced multiple balls in play at once, which became a common feature in the
genre. In 1986 the Breakout concept found new legs with Taito's Arkanoid, which itself
spawned dozens of imitators. In Japan, the genre is known as block kuzushi ("block
breaker") games. [4]

4
3. REQUIREMENT ANALYSIS

3.1 Project Requirement

Hardware: Proper working computer

Software: Python, PyCharm, Pygame

3.2 Feasibility Study

The main aim of the feasibility study activity is to determine whether it would be
financially and technically feasible to develop the project. The feasibility study activity
involves the analysis of the problem and collection of all relevant information related to
the project such as different data items which would be the input to the system, the output

5
data required to be produced by the project as well as the various constraints on the
behavior of the project.
3.2.1 Economic Feasibility

This feasibility checks whether the system can be developed with the available funds. The
Breakout Ball does not require an enormous amount of money to be developed. This can
be. done economically if planned properly, so it is economically feasible The Breakout
Ball operates on a general PC. There is no need for any sophisticated devices and
equipment. The only investment is time and effort. So the project support economically
feasible since it does not require a great deal of financial
3.2.2 Operational Feasibility

It is mainly related to the game play of the game. The game is operationally feasible as it
is very easy for the users to play. It only needs basic information about the game.
3.2.3 Technical Feasibility

This feasibility checks the technical requirements of the system. This is concerned with
tools, technology, equipment, and software that will successfully satisfy the user
requirement. We are using Python, which is modern technology; the game provides
entertainment to the user. The interactive Graphical User Interface is compatible with
most modern computers. Another important aspect that we must consider is that the game
must be compatible with the most operating system. Our game works well with most of
the Windows

3.2.4 Schedule Feasibility

Time evaluation is the most important consideration in the development of a project. The
schedule required for the development of this project is very important since more
development time affects machine time, and cost and causes a delay in the development of
other projects. A reliable Breakout Ball game can be developed in a considerable amount
of time

6
4. SYSTEM ARCHIETECTURE AND METHODOLOGY

4.1 Block Diagram

Main menu

Quit
7 Pause
Play
Resume

Ball Moving

Collide with
paddle

Hits Brick
Avoid Paddle

Update
Score Life Reduce

End Game
Speed up

Figure 4.1: Block Diagram

A block diagram is a type of interaction diagram because it describes how and in what


order a group of objects works together. These diagrams are used by software developers
and business professionals to understand requirements for a new system or to document an
existing process. [5]

8
4.2 Flowcharts

Start

NO
Play
Game

YES

Click to Start

Game Start

End Game

All Bricks
You Lost Destroyed

NO
YES

You Won

Stop

Figure 4.2: Flow Chart of initial game system

9
An activity diagram visually presents a series of actions or flow of control in a system
similar to a flowchart or a data flow diagram. Activity diagrams are often used in business
process modelling. They can also describe the steps in a use case diagram. Activity
modelled can be sequential and concurrent.

10
5. IMPLEMENTATION DETAIL

The project provides a layout of the game Breakout ball. For the implementation of the
game we assigned a certain screen resolution (Height and Width). The game is titled as
"Breakout Ball'' which has a background that consists of different colored bricks like red,
green and blue. We declared different variables and functions for the game. We created
classes for different objects in the game like Brick wall class, Ball class, Paddle class etc.
game. We created a user instructions to start the game like "CLICK ANYWHERE TO
START", "YOU WON" and "YOU LOST”
 Paddle control

The paddle will be controlled by keyboard. The keyboard’s left and right arrow will
correspond to the paddle’s movement.
 Bouncing ball

As the ball bounce around walls (edges of the screen), bricks and paddle the reflection of
the ball depends on the angle of incidence. We implement the game with player have
multiple lives.
 Bricks

For each type of brick, the game different color. Different types of brick may need 1 or 2
or 3 times of breaking before they are destroyed.
 Score counting

The game will count for the scores by how many bricks broken in total. The score will be
displayed on the down left corner of the screen.

11
6. RESULT AND ANALYSIS

6.1 Outcome

We have created a Breakout Ball Game for windows using Python, which has 3 levels,
score counting and 3 lives per level. Every level’s brick is of three layers. First layer brick
takes a single strike from the ball to get destroyed, second layer brick takes two strikes and
third layer brick takes three strikes to get destroyed. When all bricks of a certain level are
destroyed the level gets upgraded.
6.2 Time Schedule

S.N Task Start Finish Duration Jun July Aug


1 Review 06/06/202 10/06/2022 4 days
2
2 System 11/06/202 16/06/2022 6 days
Analysis 2
3 System Design 17/06/202 29/06/2022 12 days
2
4 Coding 30/06/202 04/08/2022 36 days
2
5 Testing and 05/08/202 09/08/2022 4 days
debugging 2
6 Documentation 06/06/202 10/08/2022 63 days
2

Table 6.2: Gantt Chart(Time Scheduling)

12
7. CONCLUSION

A software project means a lot of experience. In this section we summarize the experience
gained by the project team during development of "Breakout Ball". Working with python
was a completely new experience for us. Normally we are working with different
programming languages like C, C++,Java languages etc. We adapted to the programming
language by video tutorials, text tutorials, internet and learning materials given by the tool
itself. It's a matter of time, patience and hard work. Now we know much more about
Python. How does it work? The properties, objects and others. We learned a lot about
different documentation.
 
 Future Plan
1. Level Extension
2. Improve Graphical Representation
3. Introduce new game features
4. Introduce new game environment and scenes

13
REFERENCES

[1] J. Z. M. L. (. W. L. Fengyi Song(fs2523), "Breakout," 2015. [Online]. Available:


http://www.cs.columbia.edu/~sedwards/classes/2015/4840/designs/breakout.
pdf.
[2] S. BASU, "Make use of," 08 march 2013. [Online]. Available:
https://www.makeuseof.com/tag/simple-brick-breaker-the-old-classic-game-
remains-as-addictive-as-it-was-before-iphone/.
[3] J. L. a. J. Abbott, "Brick Breaker Final Report," MIT, 2013.

[4] N. Kheradmand, "Breakout," 19 april 2017. [Online]. Available:


http://program.fpgaworld.com/2017/More_information/extra_material/
Navid_Kheradmand_Design_Report.pdf.

[5] S. K. B, "GAME DEVELOPMENT," March 2021. [Online]. Available:


http://dspace.christcollegeijk.edu.in:8080/jspui/bitstream/123456789/1098/29
/CCASSCS028.pdf.

14

You might also like