We have finished with the basic requirements for the lab.
Everyone should now have a working game.
At this point, we will each choose our path for the completion of the lab.
We have 3 paths to choose from. You may choose whatever you want, but for full credit, you must complete just 1 of the 3 tasks listed below:

  • Programming
  • Design
  • Art

Programming

Programmers will be creating more interesting paths for the missiles.
A Cubic Bezier curve follows the following formula:
x = A * (1-t)^3 + 3 * B * (1-t)^2 * t + 3 * C * (1-t) * t^2 + D * t^3
As t goes from 0 to 1, x goes from A to D.
B and C control the direction of a curving path to get from A to D.
If you set up A, B, C, and D to be Vector3s, you’ll get a 3D path through space.

  • Create class BezierCubic
    • Give it the 4 control points A, B, C, and D
  • The motion of the missiles is currently in Missile.cs
  • Use your BezierCubic to change the motion of Missile from a straight line into a Bezier Curve
    • Use the starting point and ending point of the missile to set control points A and D
    • Get a little creative with control points B and C
    • Try to make sure the missiles stay on screen

The vector (B-A) sets the initial velocity vector for the path as it leaves control point A.
The vector (D-C) sets the final velocity vector as the path arrives at D.
Use this understanding with some randomization to make intersting curves that make sense for your missiles.

Design

Let’s make the level sequence a little more interesting.
The bomb dropping sequence is handled in the coroutine FireControl.DropBomb()

  • Change the bomb pattern from a random one to a pre-determined sequence
    • Use an XML file format to describe the pre-determined sequence
  • Have the difficulty ramp up over a period of 30 seconds
  • After the completed sequence (30 seconds), you can just loop back to the start

Art

We’ve got to do something about that programmer art.

  • Replace the Sprite for the “Alive” city
  • Replace the “Dead” city with a sequence of at least 3 images showing the destruction of the city
  • Set the “Dead” animation to be non-looping so that it remains in the final frame of animation

Be sure to commit and push everything.

Fill in the conclusion report Conclusion Report