Gameplay software, JAVA Programming

Assignment Help:

Individual Assignment

Rework Asteroids to have a different gameplay

In the previous assignments, we have developed an Asteroids game. In this assignment, we are going to use the same codebase to develop a different gameplay. The inspiration for this is Osmos, in which you control a circular "ship" that moves slowly through space and bumps into enemy circles. The collision response is that the bigger circle "eats" the smaller circle. To move on one direction, the player's ship expels a tiny fragment of itself in the opposite direction. We will be exploring variants of this different gameplay in this assignment.

Please develop the code in Java Mode. Java Mode means that each class must be in a separate file. Here is some new starting code: that builds Asteroids in Java Mode.

This project is bigger than assignments 3 and 4 and will require to you think through things in advance. You can re-use the structure we have built throghout the term.

Visual Design Matters! Grades will partially depend on how the games looks.

Common Features

  Player Ship Appearance:

  • Your ship must be either a nice-looking sphere (left image above), or a nice-looking sphere with a "mouth" (middle image above), depending on variant.
  • For mouth ships, the mouth gap must be no more than 3/4 of the diameter of the ship. The middle image above shows a ship with such a mouth.
  • The mouth can be any shape. I have used a cirle in the images because it was easy to draw.
  • Mouth collision: Test if the point on the circumference is within the enemy ship's circle. The right image shows a small yellow star where the circumference point would be.

Player Ship Motion:

  • Your ship moves by expelling tiny spheres opposite to the direction of motion. As Isaac Newton said: Every action has an equal and opposite reaction.
  • The mass of the player's ship is equal to its area. Expelling small masses decreases the mass of player's ship, and thus its area.
  • Clicking the mouse left button sets the direction in which the mass is expelled. When the mouse is pressed, construct a vector from the player's ship to the mouse location.
  • The mass expelled is 1% of the mass of player's ship.
  • The expelled masses join the collection of masses floating around in the play area. That is, they become enemy ships!

There are many instances of an enemy ship in the play area. Each enemy ship interacts with all of the rest of enemy ships and the player ship.

Enemy Ship Appearance:

  • Each enemy ship is a circle.
  • Each enemy ship starts with a random area.
  • Enemy ships are red if bigger than the player's ship, and blue if smaller.

Enemy Ship Motion:

  • Each enemy ship starts with a random velocity.
  • Enemy ships drift passively.

The primary variations of this game are how the enemy ships in the scene move and respond.

Each enemy ship must be tested for collision with all other ships, including the player ship.

Required Features

  • 0 or 7 or 8 Big Mouth

?  The player ship has a "mouth". This means that the player must be able to rotate the ship.

?  The player ship eats smaller enemy ships that fall into the player ship's mouth. At least test if the circumference point falls within the enemy circle.

?  When the player ship collides with a larger enemy ship, the enemy ship slowly "eats" the player ship incrementally according to the amount of overlap between the two ships. The player ship can get eaten!

?   Enemy ships eat each other according to overlap.

All ships "loop around", as in asteroids.


Related Discussions:- Gameplay software

State the significance of public and private modifiers, State the significa...

State the significance of public, private, protected, default modifiers both singly and in combination and state the effect of package relationships on declared items qualified by

Work is about 25% done but I am stuck, Modify the client server application...

Modify the client server application developed for phase 1 IP2 to be a Multithreaded Server (i.e. the server can handle concurrent requests from more than one client). Submit your

Program to read a keyboard value and exit from the code, Using the above t...

Using the above thread program, now create 20 threads in your program and run them. No need to wait for the keyboard in each thread, just print "Hello" and its thread id in each t

How polylines draws in java language, How Polylines draws in java language?...

How Polylines draws in java language? Java automatically closes the polygons it draws. That is it draws polygons which look like the one on the right rather than the one on the

Explain JMS, JMS ((java messaging service))is an acronym used for Java Mess...

JMS ((java messaging service))is an acronym used for Java Messaging Service. It is Java's answer to formed software using asynchronous messaging. It is one of the official specific

Develop wechat program to integrate with sugarcrm, Wechat and SugarCRM P...

Wechat and SugarCRM Project Description: Seeking the partner able to develop wechat program to integrate with SugarCRM. Wechat Official Account able to perform some functi

What is includeaction, The IncludeAction class is useful when you require t...

The IncludeAction class is useful when you require to integrate Struts into an application that uses Servlets. Use the IncludeAction class to contain another resource in the respon

The characteristics of rup? , 1. RUP is relying on a few important principl...

1. RUP is relying on a few important principles and philosophies like planning ahead, knowing where the process is capturing and heading the project in extensible and storable mann

Need graphic designer and developer, My name is Myers, the project director...

My name is Myers, the project director of an online business that is scheduled to commence this summer in Nigeria. We are in the process of recruiting members to the project team a

Explain arithmetic promotion and binary operations, Explain Arithmetic Prom...

Explain Arithmetic Promotion and Binary Operations? An int divided through an int is an int, and a double divided by a double is a double, but what about an int divided by a do

Write Your Message!

Captcha
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