Computer games are organized in a set of categories or they can be categorized under different genres. A brief explanation about the types of game genre is as follows:-
Action: Action games include challenges such as completing a task in a limited period of time with handful of resources. Every basic action game has a player and an enemy. Action games generally run at a fast pace and include a lot of reflexes. Action games use a combination of buttons to provide different functionality
Adventure: Adventure games generally include completing a task such as a rescue mission or to reach at a particular end. These games are mainly single player games and have a back story attached it with. Adventure games may start in flashback or use history for some information.
Puzzle: Puzzles introduces use of logical reasoning rather than much use of reflexes as in other games. These games usually have colored shapes or components and basically involve different levels. At each increasing level the difficulty related to logical reasoning is increased many folds.
Gaming platforms provide a base on which computer games run. Each computer game has its own minimum requirements which the hardware must meet on which the game is to be played. Some of these platforms are described below:-
Personal Computers: PC's are the most common hardware on which we run our computer games. Games can be loaded on PC's either using a CD-ROM or DVD's or can be downloaded from the web. These games generally use keyboard keys and mouse as primary input. On personal computers multiplayer games can be played easily and users can communicate with each other via headsets.
Mobile Phone: Mobile phone or cell phone is one such platform on which games can be downloaded and played easily. As cell phones are mobile so gaming can be done anywhere anytime. No extra wires or external input interfaces are required. Due to so many advantages mobile phones are becoming the most popular platform for games.
Every game made interacts with the user using its interface. The user interface is the most important part of a game. Based on certain characteristics of the user interface the likeness of the game is decided. Some of those characteristics are described as follows:-
Responsive:- Responsive means the game should not only be fast but it should also provide some feedback to user. No game should make the user wait too long or br sluggish. Feedback to user can be in the form some kind of message being displayed after a certain period of time.
Clearity:- User interface of any computer game should be clear. The designing should be done in such away that it becomes easier for the player to understand the game quickly. Clearity can be increased many folds by using correct color combinations, fonts and icons.
Attractive:- Attraction is one of the key characteristics of a good game. Besides being clear and responsive and easy to understand a game should be attractive too. Attraction can be achieved by using good colors and appealing images.
Efficient:- A good game should run the same ever time it is played. Efficiency can defined in terms of spped and memory. A good game is fast and uses minimum memory. A efficient games never lags during its execution.
Computer based gaming has both positive and negative effects on society. These effects would continue to grow as the level gaming increases.
Improved thinking and strategy skills: Many of computer games involve completion of a task in a specific period of time and mostly it is achieved in a team. So in order to complete the task effectively in the given time and with the use of limited resources, the player needs to develop a efficient strategy so that the goal is achieved. This helps in developing the thinking skills.
Hand-Eye coordination: Computer games comprise simultaneous use of external devices like mouse and keyboard. Thus by playing computer games hand and eye coordination of the player increases as the player needs to take care of many things simultaneously like firing at the correct aim and simultaneously moving and jumping.
Mainstream application development: With new computer games coming in the market the makers now focus on making games which are easy to use and thus to achieve this goal new devices are developed which are mostly wireless and all the work is done mainly by the operating systems. The player does not need to enter instructions like the old days, only a click is enough to start the game. Thus computer games have helped in developing the technology.
Social Isolation: Spending too much time on playing games makes the player isolate completely from the society. Users spend lots of recreational time in playing games and they decrease their ability of integrating with others. Due to computer games people start weighing virtual environment more than the real environment which leads a bad impact.
Education: Studies have shown that gamers that are indulge into gaming to a higher extent neglect studies to such an extent that they are dropped out from schools or colleges. Many students are not able to complete their education just because of computer games attraction.
The basic idea behind the game Bouncy Ball is that the main screen displays a ball and the player has to click the ball which changes its position randomly. There are three lives given to the player. For every wrong click a life is reduced. As soon as the three lives are over the game gets over and the final score is displayed. There are three stages in the game that are Easy, Normal and Hard. On every stage the ball's appearing speed increases thus increases the difficulty level.
To develop this game we require 8 image files. One is the background image of the game that is the image of a lawn. The second one is of the ball and the remaining images are images of lives left and lives over. The number of heart shaped images indicates the number of lives left and a image having a heart with an arrow displays the dead lives. There is no requirement for storage of user data so extra file is created programmatically. The image formats used are .png and .jpeg format.
There are four components present in this game. One component is the ball itself. Second component displays the levels of the game like easy,normal or hard. Third component displays the numberof correct lives and the last component displays the number of remaining lives.
JPEG: In computing, JPEG is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality.
PNG: Portable Network Graphics, also known as PNG's Not Gif, is a raster graphics file format that supports lossless data compression. PNG supports palette-based images, grayscale images, and full-color non-palette-based RGB[A] images.
One of the alternate game or website design we can use in this game is that we can display the score of the game and the number of lives left on the top of the screen. The levels can be displayed on the menu bar and the play again option displayed as the game overs can be displayed in the middle of the screen. We could however also provide a timer to the player. Within that time limit the players clicks would be counter.
|
Used Design Approach |
Alternative Design Approach |
Time Limit |
No Time limit |
Time limit proposed |
Menu Bar |
Not used |
To be used |
Position of components |
Bottom |
Top |
As per the above design sample requirements we have implemented the Bouncy Ball game using Threads which is used to change the location of the ball randomly. For implementing the mouse click we set Mouse Listener on JPanel on which the ball is displayed.
In order to implement this game we first use a JFrame which is the screen that appears on the startup of the game.In the JFrame we will be using two JPanels one stores the background image and the second JPanel shows the score,levels and lives left. The first JPanel is stores in the center of the JFrame and the second JPanel is stored in the South region of the JFrame. The ball is displayed on the first JPanel. The ball image is the icon of the JLabel displayed on the JPanel.
In order to display the levels of the game we use JComboBox which shows a drop down list on the top left bottom corner of the screen. JTextField is used to display the score of the game such as the number of correct clicks and JLabel is used to display the number of lives left.
As the game gets over a JButton is displayed on the bottom of the screen which is used to start the game again. For displaying the ball and the background image files of .jpeg and .png format are used. When the game gets over the previous two JPanels are removed from the JFrame and a new JPanel is added to the JFrame which displays the game over image.
The user interface of Bouncy Ball provides the user with a screen at the startup which displays the ball. The user can use the mouse to click the ball. For every right click the number of clicks changes dynamically and for every wrong click the number of lives decreases dynamically.
For changing the level of the game a drop down menu is displayed on the bottom left corner of the screen. The player can select the level from the drop down menu and the game starts again whenever a level is selected. To make the game more attractive at every level the speed by which the ball disappear increases thus increasing the difficulty of the game.
As soon as the number of lives are reduced to zero the screen changes and a game over image is displayed and an option of play again is displayed at the bottom of screen clicking on which a new game starts with the same user interface.
For handling and reporting errors we use try and catch block in the program. In this game there are two areas where errors are required to be handles. One area is when the images are loaded on the screen on the starting screen and when the game gets over. Thus for handling this error we use try and catch block.
Another area where errors can be generated and must be handled is when we provide a delay to the program. A delay is provided so that the ball changes its location after some time and not instantly.The delay is introduced in the game by using delay function of Robot class. The delay is changed dynamically based on the level selected. For every level a different delay is introduced in the game.
One area of testing the game is that the users only one click is counted when the user clicks on the ball. If the user clicks many times on the ball which is being displayed at the same position then only a single click would be counted.
Another area of testing the game is that when the screen stretches the components should be arranged automatically
The same thing applies to the the screen which appears when the game gets over
Test |
Expected Results |
Actual Test Results |
Proper number ofclicks stored |
only one click stored for one ball |
Application is storing proper number of clicks |
Arrangement ofcomponents on changingscreen size
|
Proper rearrangement of components automatically |
All icons and screen elements arranging well |
Number of lives present |
No of lives decreased should beequal to number of wrong clicks |
Functionality of player live management is working fine. |
Game startup onchanging the level |
Games should start again onchanging the level |
Game is starting again on level change |
Play again |
Game should start again |
Game is starting again. |
In the beginning the player could click many times on the ball when it is being displayed but we got a feedback from our tutor that the user can click on the ball only once till next movement. After getting this feedback from our tutor we made changes in the game such that only one click will be recognized when the ball is displayed.
Minimum requirement for this game is the system must have Java(1.6 or higher) installed on it. This game can be run directly from the command prompt too. The following screenshots display the procedure of starting the game.
Run the program
Details
Other Assignments
Other Solution