IMGD 4000

Project - Firing

Due date: Thursday, April 21th, 11:59pm

The goal of this project is to coding of a simple kinematics-based behavior using vectors in UE4.


Top | Hints | Submission | Grading

Details

Implement a simple demonstration in UE4 of the firing solution algorithm specified by the pseudo-code in the physics lecture notes, in either 2d or 3d:

Upon successful completion of the implementation, a player will be able to move a target on the screen and fire a projectile at the target. If the target is in range, the projectile should travel at it's fixed initial speed, launched at an angle appropriate to travel a parabolic arc to hit the target. If the target is out of range, a visual indication should be provided.

Extension

Successful completion and demonstration of the basic firing solution is sufficient for a "B" grade. To achieve an "A" grade, one of the following must be accomplished:

  1. Game. Make a "game" out of the project. As a game, it should have a goal with a win/loss condition. It can be quite basic.

  2. Dodge. Provide a second cannon that the player can control. Have an AI agent compute where projectile will land and, if determines it can be hit if fired upon, move to avoid being hit by the target.

You should be prepared to demo your solution, including your extension for an "A" grade (if any), as well as answer questions about your code and implementation.

You will work alone for this project. You may discuss this homework with others, but you must write all the code yourself.


Hints

You can implement the project in 2d or 3d. Thus, either the Paper 2D Tutorial or the First Person Shooter Tutorial may be appropriate starting points.

Note, although tempting, you cannot use the "Suggest Projectile Velocity" blueprint. This changes the velocity and not the angle of the cannon. Remember, the initial speed (velocity magnitude) of the projectile is fixed.

The Physics slide deck (pptx, pdf) has good reference material. More details are in Millington, section 3.5.


Submission

Your assignment is to be submitted electronically no later than 11:59pm on the last day of class. You must hand in the following:

To submit:

  1. Upload your .exe (see above).
  2. Place the README and Source code in a folder with your last name (e.g., "claypool").
  3. Zip up the folder.
  4. Log into the Instruct Assist website:
    https://ia.wpi.edu/imgd4000/

    Use your WPI username and password for access. Visit:

    Tools → File Submission

    Select "Project-Firing" from the dropdown and then "Browse" and select your assignment (claypool.zip).

    Make sure to hit "Upload File" after selecting it!

    If successful, you should see a line similar to:

     Creator    Upload Time           File Name      Size     Status    Removal
     Claypool 2016-04-15 11:12:43    claypool.zip    3188 KB  On Time   Delete
    

IMPORTANT!

After submitting your project, you must arrange a time to provide a demonstration with the TA. On the Instruct Assist website, visit:

Tools → Demonstrations - List → Project-Firing
and select an available slot. Demonstrations will be:

Show up to your slot with game ready and loaded! Don't spent any of your 15 minutes logging in, connecting to the network, loading your game ...


Grading

A grading guide is available.

Grading Guidelines
Movable target 15%
Visible cannon 5%
Physics projectile 10%
Out of range indication 10%
Visible parabolic path 10%
Hitting target 40%
Extension 10%

Below is a general grading rubric:

100-90. The submission clearly meets requirements. The cannon and target are all clearly visible. The target is easily controllable via mouse our keyboard. The cannon adjusts its firing vector to hit the target. The player can fire a projectile and the arc is readily visible as it moves to the target. Out of range targets are clearly indicated on the screen. The functionality is wrapped into a game or "dodge" is implemented that is demonstrable and robust.

89-80. The submission meets requirements. The cannon and target are all visible. The target is controllable via mouse our keyboard. The cannon adjusts its firing vector to hit the target. The player can fire a projectile and the arc is visible as move to the target. Out of range targets are undated on the screen. The functionality may be wrapped into a game-like environment or some aspect of "dodge" is implemented that is demonstrable and robust.

79-70. The submission barely meets requirements. The cannon and target are there but may not always be clearly visible. The target is controllable, but not easily. The cannon adjusts its firing vector to hit the target, but maybe not visibly. The player can fire a projectile but the projectile path is not clear. Out of range targets may not be indited on the screen. There are no other game elements or dodge behavior implemented.

69-60. The project fails to meet some requirements. The cannon and target may not always be clearly visible. The target is not easily controllable. The cannon may not adjust its firing vector to hit the target. The player can fire a projectile but the projectile path is not clear. Out of range targets are not clearly indicated on the screen. The program may occasionally crash. There are no other game elements or dodge behavior implemented.

59-0. The project does not meet requirements. The cannon and target is not clearly visible. The target is not controllable. The cannon does not adjust its firing vector to hit the target. The player may fire a projectile but the projectile path is not clear. Out of range targets are not indicated on the screen. The program often crashes. There are no other game elements or dodge behavior implemented.


Top | Hints | Submission | Grading

Return to the IMGD 4000 Home Page

Send all questions to the TA mailing list (imgd4000-staff at cs.wpi.edu).