Mobile Game Development - Individual Assignment1 IntroductionThis document specifies the requirements for the first assignment of the MobileGame Development course. This assignment will develop your skills by allowingyou to put into practice what has been taught to you in class during the first 5weeks of the course.This assignment requires you to design, implement, test, and debug a simpleBreakout-style brick-busting game using the LibGDX framework. The workfor this assignment is to be performed individually and will be submitted bylearnOnline at the end of the first week of the mid-semester break: that beingdue by 18 April 2019 11:00 PM. Refer to the section Submission Details forspecific instructions.If any parts of this specification appear unclear, please ensure you seek clarification.2 Task DescriptionThe style of game being made for this assignment is a straight-forward brickbustinggame, of which the classic example is name Breakout, originally releasedas an arcade machine by Atari in 1976. The game consists of a paddle controlledby the player at the bottom of the screen, a number of rows of squares acrossthe top of the screen called the “bricks”, and a ball that bounces off of everyobject it hits, destroying the object for points2.1 Main FeaturesMain Menu When the game is launched there must be a starting screen showingtwo buttons: One marked “PLAY” to play the game, another marked “EXIT”to return to the OS. The main menu’s background can be colored in or left black.This screen may have a name for the game displayed as well.Game Screen For the purposes of this assignment a game screen of 640 by480 pixels is assumed. When starting the game there needs to be four rows of20 bricks going across the top of half of the screen, with a 16 pixel gap betweenthe top of the topmost row of bricks and the top of the screen. Each row ofbricks must cover the entire width of the screen, with no gap between them andthe sides of the screen.1In the bottom half of the screen there needs to be a single paddle whosebottom is 32 pixels above the bottom of the screen. The screen background maybe colored in or left black.Gameplay Once the player has pressed the new game button in the main menu,the game shows the bricks and paddle but does not start until they have pressedthe screen again. Once the player first presses the screen, the paddle snaps to thehorizontal position of the player’s finger on the screen and continues to matchthe player’s horizontal movement as long as their finger remains depressed.At the same time, the ball appears just above the paddle and moves diagonallyupwards (can be a fixed or randomly determined angle, but the ball cannot movestraight up or across). Whenever the ball hits a brick, the ball bounces directlyoff of the brick and causes the brick to disappear. If the ball hits the paddle, orthe sides or top of the screen, it bounces off with no further effect. If the balltouches the bottom edge of the screen, the fail state is triggered. All collisionsneed to be visibly accurate to the assets used, inconsistencies will result in lostmarks.Once in motion, the ball should move at a velocity whereby it would takeabout two seconds (You don’t have to be entirely precise) to reach the top ofthe screen from the bottom if moving straight up with no bricks in the way.Fail State Should the ball touch the bottom of the screen, the player has lost.All interaction with the game is turned off but the game screen remains visiblein its final fail state, with the words “GAME OVER” printed in a large font inthe top half of the screen and buttons to “RETRY” and “QUIT” in the bottomhalf of the screen.The Retry button resets the game to the state it was in when the “PLAY”button was pressed from the main menu, while the “QUIT” button closes thegame.Success State Should every brick be destroyed by the ball, the player has won.All interaction with the game is turned off but the game screen remains visiblein its final fail state, with the words “YOU WIN” printed in a large font in thetop half of the screen and buttons to “RETRY” and “QUIT” in the bottom halfof the screen.The Retry button resets the game to the state it was in when the “PLAY”button was pressed from the main menu, while the “QUIT” button closes thegame.22.2 Additional FeaturesFor the last few features you have a choice of which additions you would like tomake to complete the game: A pause feature Sounds Looping background music A scoring system with a high-score display A unique graphical styleEach addition is worth a number of marks (see the Marking Criteria section fordetails) and their combined total is more than the maximum number of marksavailable for this part. The listed marks indicate a high-standard of completion,where there is no visual clash with other elements on-screen and manipulatingany new controls does not come at the cost of inconvenient movements on theplayer’s part.These new features may require some additional research by you to implementas the course will not have covered all of these possibilities yet. Basically this isa chance for you to show off and go above and beyond what is expected of you.New features added are still subject to the requirement for your game to runquickly and smoothly and so make sure you do not use an excessive amount ofmemory or write poorly optimized code, either of which could cause your gameto hang or stutter.Descriptions of each additional system are available below:A Pause feature Some ability to pause and resume the game when it is inplay. This should only be possible in the game screen, not when there is anysort of fail state. While paused the game should have text in the top half of thescreen in large font reading “PAUSED” and a buttons in the bottom half marked“CONTINUE” to resume the game and “QUIT” to close the game.You may do this with a button on the screen though that will take up spaceneeded to play, so you would want to make it somehow translucent. Do notmake the pause button move around the screen if you choose to use a button.Another option is to activate the pause feature by pressing back key on anAndroid phone (simulate this with the backspace key on the keyboard for thedesktop module). This would allow you to keep the play area free of distractions.3Sounds Adding sound will give the game much more atmosphere. Ensureyou have a complete suite of effects including button presses, the ball touchingdifferent surfaces and win/lose conditions. Remember to only use sounds youhave the rights to use, freesound.org is a good start, as is BFXR.Looping Background Music Adding a nice soundtrack can also improve theplay experience. If you do this make sure the song loops continuously. Findingappropriate royalty free music can take some digging around, many people swearby incompetech for their music needs.Scoring System with High-Score Display The exact method of scoring isup to you, remember that simply counting the number of blocks is not reliableas every successful playthrough will result in the same score, so it is better toinclude some sort of time-constraint in the scoring system.When going in this direction, the user’s score needs to be displayed on screenduring the game as well as in the win/lose condition states. To get the secondhalf of the points for this feature you will also need to add a third button on themain menu screen populated with the high scores for the current session. Youdo not need to store the score data on the phone.Unique Graphical Style Instead of using the provided assets, you may chooseto replace or modify some or all of the assets to make them more striking andunique. If you want to get the full marks for this feature, you must ensureall of the assets added look like they’re part of a consistent art style and theymust all appear consistently scaled (no mixing resolutions). You must also addbackground images to each screen that do not distract from the gameplay orobscure the interactive elements displayed.2.3 AssetsYou will be provided public domain assets for all of the assets required to make themain features of the game. You must also ensure any new assets used are eithermade by yourself or licensed under a permissive license for use in an academicproject. Use of public domain resources is recommended.This really should go without saying, but make sure that any assets you addto the game are safe for work.42.4 DocumentationUse Javadoc-style documentation on methods and constructors. Documentationcan be omitted for simple methods if their functionality is obvious and they haveno side-effects.Code comments should be used sparingly, aim to comment blocks of coderather than individual statements unless the outcomes of the statements are notobvious.2.5 Code StyleYou must write your code in a consistent style. Keep your style close to Javaguidelines and if you choose to deviate from it, please do so consistently. Notethat you are not specifically required to follow Object-Oriented design, you nearlyneed to make sure your code is legible.2.6 Version ControlYou must use a git repository to track your implementation progress and to keepa record of your work to show you have not committed plagiarism. You maychoose to exclude the majority of the project from being tracked to keep yourfile version history compact and make it easier to switch between computers, butyou must at least include the source directory of the core module. If you makeany changes to the source in the android or desktop modules then be surethey are included in version control as well.3 Submission DetailsYou must submit your complete Android Studio project folder in a single ziparchive file. The zip archive must include all source files and asset files required tocompile and run your project in both android and desktop modes. The submittedarchive must also include your version control directory (there should be a .gitfolder inside the project).Once you have created the zip file according to the specifications, you arerequired to upload it to the Individual Assignment Submission link via thecourse website on LearnOnline. The deadline for the submission is 18 April2019 11:00 PM, after which time any further submissions will be consideredlate and attract a penalty of 10% of their final mark for every day past the duedate.54 Marking CriteriaCriteria MarkMain Features (45)Main Menu with Play and Exit buttons 5Control of paddle with touch/cursor controls 5Collision response of ball with paddle 10Collision response of ball with bricks 10Collision response of ball with screen edges 5Fail and Success States, including Retry button 10Stability* (25)Desktop module compiles and runs without errors or crashes 10Android module compiles and runs without errors or crashes 5Desktop module runs smoothly without hangs or stuttering 10Code Quality (15)Documentation and Commenting 5Consistent and Readable Code Style 5Correct use of Version Control 5Additional Features? (15)Ability to pause the game 5Sounds 5Looping Background Music 5Scoring and separate High-Score screen 10Unique Graphical Style 5Total Possible Marks 100* The specific hardware target used to measure performance and stability is the computersused for the practicals in the university mac labs Additional Features are worth a maximum of 15 points in total5 Academic MisconductThis is an individual assignment: your submitted files will be checked againstother student’s code, and other sources, for instances of plagiarism.Students are reminded that they should be aware of the academic misconductguidelines available from the University of South Australia website.Deliberate academic misconduct such as plagiarism is subject to penalties.Information about Academic integrity can be found in Section 9 of the Assessmentpolicies and procedures manual at: http://www.unisa.edu.au/policies/manual/本团队核心人员组成主要包括硅谷工程师、BAT一线工程师,精通德英语!我们主要业务范围是代做编程大作业、课程设计等等。我们的方向领域:window编程 数值算法 AI人工智能 金融统计 计量分析 大数据 网络编程 WEB编程 通讯编程 游戏编程多媒体linux 外挂编程 程序API图像处理 嵌入式/单片机 数据库编程 控制台 进程与线程 网络安全 汇编语言 硬件编程 软件设计 工程标准规等。其中代写编程、代写程序、代写留学生程序作业语言或工具包括但不限于以下范围:C/C++/C#代写Java代写IT代写Python代写辅导编程作业Matlab代写Haskell代写Processing代写Linux环境搭建Rust代写Data Structure Assginment 数据结构代写MIPS代写Machine Learning 作业 代写Oracle/SQL/PostgreSQL/Pig 数据库代写/代做/辅导Web开发、网站开发、网站作业ASP.NET网站开发Finance Insurace Statistics统计、回归、迭代Prolog代写Computer Computational method代做因为专业,所以值得信赖。如有需要,请加QQ:99515681 或邮箱:[email protected] 微信:codehelp