{"id":22356570,"url":"https://github.com/mrham17/bricks_breaker_game","last_synced_at":"2025-03-26T13:15:41.678Z","repository":{"id":183202371,"uuid":"669201737","full_name":"MrHAM17/Bricks_Breaker_Game","owner":"MrHAM17","description":"This is my Sem 3 Java Lab Project. For complete details, kindly check the below README File.","archived":false,"fork":false,"pushed_at":"2023-07-23T14:11:45.000Z","size":43802,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T14:37:46.030Z","etag":null,"topics":["apache-netbeans","desktop-application","game","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrHAM17.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-21T15:37:37.000Z","updated_at":"2023-07-23T11:55:09.000Z","dependencies_parsed_at":"2023-07-23T14:31:28.044Z","dependency_job_id":null,"html_url":"https://github.com/MrHAM17/Bricks_Breaker_Game","commit_stats":null,"previous_names":["mrham17/bricks_breaker_game"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrHAM17%2FBricks_Breaker_Game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrHAM17%2FBricks_Breaker_Game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrHAM17%2FBricks_Breaker_Game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrHAM17%2FBricks_Breaker_Game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrHAM17","download_url":"https://codeload.github.com/MrHAM17/Bricks_Breaker_Game/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245659054,"owners_count":20651526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-netbeans","desktop-application","game","java"],"created_at":"2024-12-04T14:11:14.726Z","updated_at":"2025-03-26T13:15:41.640Z","avatar_url":"https://github.com/MrHAM17.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bricks Breaker Game\n\nThis is \"master\" branch(main) of this repo; And presenting latest version (i.e, version no. 1.0) of the app.\n\nIt is the basic Desktop Game Application.It’s a GUI-based project used with the swing library to organize all the elements that work under the Brick Breaker game. Below, point by point complete detailed information is discussed.\n\n## Chapter 1: Introduction\n\n### 1.1 Motivation : \nGames are a fundamental way that humans interact and learn. They provide so many advantages for \npeople of all interests and abilities.\n The main \nbenefits of using computer games as learning tools, is related with problem solving, 21stcentury \nskills, integration of learning and assessment, collaboratives and interactivity, addressing cognitive as well \nas affective learning issues, and motivation for\n learning. Gaming is gaining a different level of attention \nnot only from the youngsters but also from different age people.\n It is creating a virtual world where we can virtually live our life. Gaming has gained importance in \nDesktop application as well as in Android Application.\n \n### 1.2 Need Of The Problem : \n\nAs a computer science student, we’ve to learn game development because this field requires some skills that already we've and at the same time we can enhance them.\n\nFor a ‘game design’ it can mean “emotional engineering” or “largely communication” whilst for the other “everything that goes into a game is more or less game design”. On a more formal matter, many designers have gone extra miles to explicate their conceptions on game design.\n\nGame development can considerably improve our imagination skills, designings kills and the ability to produce new things. For a game to attract attention, it should also be unique. The more the game is realistic, the more appealing and charming it is.\n\n## Chapter 2: Problem Statement \n \n### 2.1 Working Flow Of System :  \nWe will implement a simple brick breaker game. We have layers of colored bricks and ball with \nwhich to break the layers. The player moves the paddle from left to right to keep the ball from falling.\n\nThe paddle doesn’t bounce the ball like a mirror, although it does so when the ball hits right in the middle. The closer the bounce take place to the left end of the paddle, a more significant left turn is added to an expected mirror bouncing.\n\nA regular brick disappears when it’s hit by the ball, or breaks a little if it’s a bulkier brick. The basicuser interface may be similar to Figure 3.5. \n\nThe output screen that will be displayed after the game is finished is the result to our developed game. The output that is displayed is the result to the developed program. The result shows that if a user completes the game completely the output pops out as VICTORY but if the user could not break all the bricks the output screen displays the Game Over pop out. The victory screen looks like Fig 3.4\n\n### 2.2  Software Implementation :  \n- 1. Paddle control :\n     \n     The paddle will be controlled by a mouse. The mouse’s moving to left or right will \n     correspond to the paddle’s movement. The moving speed will also relate to how fast we \n     move the mouse. By clicking on the left key, the paddle can launch extra balls as bonus \n     in higher level rounds.  \n\n     Software will be used to keep track of the current status of the paddle, to see if it’s \n     under special status, like elongated, shortened, multi-ball launching, or fireball \n     launching (fireball can destroy all bricks in its trajectory). \n \n- 2. Bouncing ball :\n     \n     Software will be used to assigning new locations of the ball as the ball bounce around\n     walls (edges of the screen), bricks and paddle. When the angle of incidence changes, the\n     angle of reflection changes too.\n  \n     We will also need a status tracker to see whether the ball is in regular status or fireball status. Also, we implement the game with player have multiple lives.\n\n - 3. Bricks :\n      \n       For each brick, the software will have a status tracker. The tracker will record how many breaks needed to break a specific brick (different types of brick may need 1 or 2 or 3 times of breaking before they are destroyed), what special effect they have and when to release, and to display or not (remaining or destroyed).\n \n - 4. Score counting :\n\n      Software will count for the scores and calculate the bonus points gotten by how many bricks broken in a row and other effects. The score will be displayed on the up right\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%202.1.jpg?raw=true)\n\n\n## Chapter 3: Implementation\n\nPrototype Model :\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.1.1.png?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.1.2.png?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/FIg%203.2.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.2.3.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/fig%203.2.4.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.2.5.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.2.6.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.2.7.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.3.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.3.2.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.4.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.5.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.6.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.6.2.png?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.6.3.png?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.6.4.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.7.1.jpg?raw=true)\n\n![](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/2.%20Rough%20Work%20\u0026%20Data/Used%20Images/Fig%203.7.2.png?raw=true)\n\n\n## Chapter 4: Conclusion\n\n### 4.1. Tech Stack :\n\n-  **Developer:** Java, Apache-Net-Beans, JFrame, JPanel, Java Graphics Kit, Game development.\n\n-  **Client:** Desktop with minimum 2 GB RAM.\n\n\n \n###  4.2 Conclusion : \n\nThe major aim of this project is to increase the problem-solving skills. The project aims to \ncreate a 2D game in pc is successful . Where users can access the game with ease. In this we \nlearned how java is used in game development and in other applications. We have discussed \nabout how brick breakout game is developed in java. \n \nToday many games are being produced in market. But this game is a new and a better version \nof a classic popular game which will increase the curiosity and eagerness among the users. \nMany action games are available today in market, but they are lacking in problem solving \nskills. \n \nSo, concluding our project, the Brick Breaker Game demonstrated our learning and new found \nexpertise in Verilog coding, the understanding of basic NetBeans IDE, basic Java \nProgramming Language, Teamwork \u0026 all, How to handle a real life project, And many more \nthings; Also last but not the least i.e. solution for our aim of the project.\n\n### 4.3 Future Scope : \n\nThe scope of the project is to develop a PC based 2D Game The programming language \nwhich will be used to build this game is C and opengl. The game will be influenced from \nBrick Breaker; the game will have space background and theme. Asteroids, Meteorites will be \npresent as background of the game. The ball in the game is considered as a comet. \n \nFirst the player has to move the board which will be situated at the bottom of the screen and \nthere will be a ball which will bounce after it comes in contact with the board and hit the \nbricks. Once all the bricks are destroyed, the level will be completed. \n \nThere is only one level in the game at this point. There will be three life lines which is given \nto the player when the ball does not come in contact with the board. Standard of Each \nlevel will be increased with increase of number of bricks in each level. The board will move \nhorizontally and will be controlled by the keyboard\n\n## Documents\n\nProject Report\n\n![PDF](https://github.com/MrHAM17/Bricks_Breaker_Game/blob/master/1.%20Project%20All%20IMP%20Docs/Java%20Lab%20Project%20Report.pdf)\n\nFor more details,\nKindly Check the 1st folder of this repo i.e, \"Prject All IMP Docs\"\n\n\n\n## Installation\n\nInstall my-project with:\n- Apache NetBeans\n\n\n\n## Reference:\n\n- TEC, University of Mumbai, Mumbai, India  \n  “PC Based 2D Game Design”, May-June-2021\n\n- Stanley College of Engineering and Technology for Women, Hyderabad,\n\n  “GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES, BRICK \n  BREAKOUT”, 2018\n\n\n- http://www.cs.columbia.edu/~sedwards/classes/2019/4840-spring/designs/BrickBreaker.pdf\n\n- http://web.mit.edu/6.111/www/f2013/projects/jabbott_Project_Final_Report.pdf\n\n\n- Youtube\n   - https://www.youtube.com/watch?v=KED9ZTO4mhg\n   - https://www.youtube.com/watch?v=gPiahyf70ds\n  \n- LinkedIn \n\n- Github \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrham17%2Fbricks_breaker_game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrham17%2Fbricks_breaker_game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrham17%2Fbricks_breaker_game/lists"}