Implement a standalone desktop game

Assignment Help JAVA Programming
Reference no: EM131031731

Team Name: Atomic Racers

Description - The goal of the class project is to implement a standalone desktop game. This game is a 2D game cop and robbers game, called RIC Racers, which is closely modeled after the C.A.P online flash game Robbers vs. Cops. The game is a standalone game; that is, players will be able to play from their desktop or laptop computers. The game is a racing game in which the player selects his/her Buggie and chooses a color that determines the difficulty of the car and the difficulty of the level. The player races through different maps of the RIC campus. Each map increases difficulty from easy map to a hard map. Each map has its own change based on the difficulty by added more or less obstacles and power ups. A weather effect will also be added based on the level chosen. For the first level it be a beautiful sunny day. For the second level, it will be night time. For the third level, it will be raining. And finally for the fourth level, it will be snowing. For each difficulty based on the Buggie, the cop will be slower and less aggressive or faster and more aggressive. The objective of the game is to see for how long the player can race through the map while avoiding the campus police and other obstacles. The more damage the buggie receives, the slower it gets. The buggie can be damaged by obstacles such as lamp posts, trash cans, benches, trees, gates, emergency lamps, and the cop car. The buggie's difficulty comes from its handling and speed which is based on the color of the Buggie. There will be different modes in the game; Player vs. the CPU(COP) or Player vs Player. In Player vs. CPU, the player races against the campus police. The police will chase the player until the player's Buggie is fully damaged. In the Player vs. Player mode, the player can race against another human. The first player will drive the Buggie and the second player will be the cop.There will be no time limit for either modes. The game involves concentration and diligence. The strategy of the game is to drive for as long as possible without being caught by the police.

Roles
Edwin: Programmer, Project Manager, Designer
Abhi: Programmer, Testing
Richard: Programmer, Designer, Business Analyst.

Users:
Everyone can play this game.

Nouns:
Game, RIC, User, Cops, Robbers, Racers, Model, Players, Laptops, Computers, Buggie, Color, Levels, Maps, Obstacles, Power ups, Weather, Lamp posts, Trash cans, Benches, Trees, Gates, Emergency lamps, Car, Modes, CPU, Human.

Informal Scenarios:

Scenario 1: New user starts the game for the first time

Current System State: The system state starts off at the title screen that displays the title and is asked to press any key.

Informal Scenario: Emma presses the enter key. Emma is then prompted to click on new user or existing user.

She clicks on new user and is brought to a new screen. Prompts Emma to enter a new username and password. Upon entering her new username and password, Emma is brought to the main menu.

Next Scenario: Emma is then given the choice to start a game, view her stats, go to the options, or view the tutorial.

Scenario 2: Current System State:

The system state starts off at the title screen that displays the title and Rob is asked to press any key.

Informal Scenario: Rob presses the enter key. Rob is then prompted to click on new user or existing user.
He clicks on existing user and is brought to a new screen. Prompts Rob to enter their username and password. Upon entering his username and password, Rob types the wrong password by mistake. An error message prompts Rob that he has entered the wrong password and tells him to re-enter his password. This time Rob enters the right password and upon completion, is brought to the main menu.

Next Scenario: Rob is then given the choice to start a game, view his stats, go to the options, or view the tutorial.

Scenario 3: Current System State: Macy upon a successful login is brought to the main menu.

Informal Scenario: Macy is now in the gameplay screen. A traffic light is displayed in the middle of the screen. The traffic light goes from red to green. Macy starts accelerating at a fast speed. Macy manages to speed by several trees and benches and misses two other Buggies. Halfway in the middle of the quad, a campus police car begins to approach the Buggie. Upon entering and leaving night event tents, the campus police car eventually catches up to her, severely damaging the Buggie. Out of pure nervousness Macy hits an emergency light post and disables her buggie.

Next Scenario: A game over screen is displayed, asking Macy to quit to the main menu or try again.

Training Plan for Application Domain Knowledge:

We searched for 2D cops and robbers flash games on the google search engine. There were some sites that had several games of this type. On the site www.fizizi.com there is a game called robbers vs. cops. Since this game seemed relevant to our general idea of our game, we decided to play it. We came to a conclusion that this game would be a great reference to design of our game. This game covered various aspects of what our game should look like. Road Hunter is another game that we thought would be a good model for our design. This game can be found on the www.gamesforboys.net site. The full link for both games are the following: https://www.fizizi.com/robbers-vs-cops/?utm_source=flora&utm_medium=cpc&utm_campaign=fizizi and https://www.gamesforboys.net/games/racing/armored-car-robbery.html.

Class Diagram Summary

Between Database and Game: There will be two subclasses called Local Database and a Database which will connect the program to the databases. The game will automatically save the player's stats on both the Local Database and the Database Server through these two subclasses. Between DatabaseConnection and Game, the Player can create his/her own account. The Player will be able to get his/her player stats from the Database. The Admin will be able to delete a player or if the player decides to delete his/her own profile they could also do it as well. Between DatabaseConnection and game, the game will update player's stats after a game has finished.

Between game and player:

The game will first start by initializing all the data needed to get the player started. The player will send its login information to the game so the game can retrieve the player's stats from the local or server database. The player's status will be the information that holds the player's score, high score, laps, and games played.

Between player and mode: The player class will contain the user's stats and information about the user who is logged in. This class will also have an association with the mode class because the player can use the chooses method to choose what mode they will want to play in. The mode class will contain information about each mode of the game and change the game according to the choice made.
Between Mode and CPU: Depending on the mode chosen, the mode class will use the determines method to choose whether or not to include the cpu in the game and also what player the cpu will be. The cpu class will contain all the backend algorithms to make it an opponent to the user.

Between Player and Car:

Between player and car, player will be able to setColor for player's car. Between player and car, player will be able to select difficulties.

Between Mode and Cars:

The mode will determine a car after the player has chosen a mode. Based on whether the player chooses a certain mode such as single player or multiplayer, the mode will determine what vehicle the player will play as. If single player mode is chosen, the player's only option will be to be a buggie, otherwise, if multiplayer is chosen, then the player who sends an invite to another player will get to chose what he/she wants to be (buggie or cop). The other player will have no other choice but to be the leftover choice.

Between Player and Level:

Player will choose level of the game. The level will contain a map which will act as a graphical canvas that the player will interact with.
Between Level and Obstacles: Between these two classes there will be a generateObstacles method which will randomly populate the map with various obstacles. The obstacles class will be a super class and it will have 4 subclass which will be specific obstacles. These subclasses are tree, benches, emergency lamp, trash cans. Each of these will contain specific information about how it will interact with the player through the collidesWithObstacle method.

Between Level and PowerUps:

PowerUps will be generated randomly. PowerUps will have subclass such as Computers, Turbos, stealth, immunity and health. The computer's PowerUp will give the player the ability to throw computers from back of car. If a player does manage to hit a cop car, then that cop will take a significant amount of damage. Turbos will provide more acceleration and make the player drive faster. Stealth will invoke invisibility, the opposite player will not be able to see car. For immunity, the car will not be damaged even if it collides with obstacles or the other player. Car will get more health from health features.

Reference no: EM131031731

Questions Cloud

Partial credit for incomplete assignment : Them tell me what future Supreme Court cases cited the Bethel case and tell me why or why not you agree or disagree. I expect at least three pages in order to get credit. I will not give partial credit for an incomplete assignment. The assignment ..
Find the minimum aperture diameter of a camera : Find the minimum aperture diameter of a camera that can resolve detail on the ground the size of a person (1.5m ) from an SR-71 Blackbird airplane flying at an altitude of 26km .
Prepare an individual tax return including all required form : Based on the information presented below, prepare an individual tax return (married filing jointly) including all required forms and schedules for Harry and HenriettaHurricane for 2015.
What is the direction of the acceleration : three forces acting on an object are given by f1=[-2.00i+2.00j]N,f2[5.00i-3.00j]N,f3[-45.0i]N.The object experiences an acceleration of magnitude 3,75 m/s to the power 2
Implement a standalone desktop game : Description - The goal of the class project is to implement a standalone desktop game. This game is a 2D game cop and robbers game, called RIC Racers, which is closely modeled after the C.A.P online flash game Robbers vs. Cops
Discuss why may be and, address whether preventing officer : Response shoul be 400 - 500 words, discuss why this may be and, address whether preventing an officer from developing PTSD should be the measure of success for a critical incident stress debriefing or if there should be other reasons to use it.
Calculate the final temperature of the surface : The specific heat of the solid surfaceThe specific heat of C2H5Cl(l)The enthalpy of vaporization of C2H5Cl(l)The specific heat of C2H5Cl(g)
The effects of work life balance on job satisfaction : Topic: The effects of work life balance on job satisfaction. Choose a topic related to your placement interests. Systematically search and identify a representative sample of literature addressing that topic
Write paper on whistleblowing not so simple for accountants : Write a term paper on Whistleblowing: Not So Simple for Accountants. WHAT ACCOUNTING FRAUD LOOKS LIKE AT ITS INCEPTION: COULD YOU SEE IT IN YOUR OWN COMPANY?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Problem regarding the protocol conformance

We can compare Smalltalk interfaces to classes that use protocols, which are lists of operation names (selectors). When a selector allows parameters, as in at: put: , the selector name includes the colons but not the spaces.

  Sample run of the program to illustrates the expected outpu

Write a program WordCount.java that takes contents of a file and list the five most frequently used words in it.Your program should prompt user for a filename and - assuming that afile with specified filename exists - attempt to read the file and pro..

  Common to perform loops that vary the loop control

When an application contains an array and you want to use every element of the array in some task, it is common to perform loops that vary the loop control variable from 0 to one less than the size of the array.

  Micks wicks makes candles in various sizes create a class

micks wicks makes candles in various sizes. create a class for the business named candle that contains data fields for

  Way to organize the flowers

Prepare a java program using given conditions- He wanted a way to organize the flowers that he picks for her each day and perform a few basic tasks with them, along with a few restrictions. It is our goal to help him out

  Calculator that calculates and displays when executed in net

Please help in building a non GUI mortgage calculator that calculates and displays when executed in NETBEAN compiler: Principal = $200,000 Interest Rate = 0.0575 Periods = 360 Monthly Payment = Then scrolls and displays Payment # Principle

  Program that allows a user to input coordinates

In Java make a program that allows a user to input coordinates as to make a Hexagon via an array, and my professor has set the standards of: Write a class Polygon which draws a hexagon for a set of numbers given by the user.

  Write a program that creates two string arrays

Write a program that creates two String arrays, one to store names of 5 boys and another to store names of 5 girls

  Prepare a simple windows calculator in java it must have a

create a simple windows calculator in java. it should have a labeled text field for the user to provide input as well

  What the code does logically in the program

Compile and run the program. There are ten lines of code marked (1)..(10) that you must explain after analyzing the code, running the program, and examining the output.

  Reverse the array, and find the largest element

find the max block of an array by splitting it into three parts: left, middle, right. And then reverse the array, and find the largest element.

  Create an employee class

Create an Employee class. Items to include as data members are employee number, name, data of hire, job description, department, and monthly salary. The class is often used to display an alphabetical listing of all employs.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd