Categories
Uncategorized

BTGD9201 Computer Graphics Programming: Enemy Mech Bot

$20 Bonus + 25% OFF

Securing Higher Grades Costing Your Pocket?
Book Your Assignment at The Lowest Price
Now!

Students Who Viewed This Also Studied

BTGD9201 Computer Graphics Programming

Task:

Assignment

Mech Bot Attack

In this program you will combine ideas/code from your Assignment 1 and Assignment 2 to create a 3D “Star Wars planet Hoth” style game of mech bots attacking a sliding defensive cannon. This final programming assignment will increase your knowledge of all concepts we have learned in the course. You must do this assignment individually or in a group of two. Do not attempt to find source code on the web for this assignment. It will not help you and you risk extremely serious consequences.

You may reuse code from your Assignment 1 & 2, but not someone else’s code. Begin designing and programming early! Start by reading this description carefully. If there is some part of the assignment you do not understand, please see me in class or email me as soon as possible and I will clarify the issue.

Program Functionality Requirements

1)Enemy Mech Bots Attacking

a. Use your mech bot from Assignment 1. Alternatively, you may use the posted solution to assignment 1 if you wish. Use your animation path ability from assignment 2. An enemy mech bot should move along an animation path from the back of the ground toward the front where the defensive cannon is. As it animates forward, the mech bot should fire a projectile toward the defensive cannon (either a regular firing pattern or random).

Note: if you did not get animation paths working properly in assignment 2, just move a bot along a straight-line path.

b. The mech bot should turn its cannon toward the defensive cannon (i.e. rotate it separately from its body). Give the projectiles a certain speed such that a skilled user has a chance to slide the defensive cannon left or right, out of the way.

c. Create one or more copies of you mech bot. You may want to texture map them differently to make the game more visually interesting, but you are not required to do so. The other bots move along their own paths across the ground plane. Have the mech bots attack together in a wave or at different times (your choice). If they are attacking together, the bots should fire their projectiles at different times – i.e. not all at the same time – so that the user has a chance to dodge incoming projectiles.

d. You must texture-map all parts of your mech bots to make them look interesting. If you are using glut shape primitives, you cannot texture map them. Either switch to glu shape primitives or use your own mesh parts to replace them. If you use glut shape primitives (i.e. not texture mapped) you will lose marks. Make sure you use Modulate mode when texture mapping (i.e. combine lighting + shading with texture mapping).

e. If a mech bot is hit by a projectile coming from the defensive cannon, it should disappear. For full marks, animate this disappearance. For example, the bot could shrink and disappear. Or break apart then disappear. Use your imagination. If the mech bot reaches the end of the ground plane, it should also disappear.

2)The Mobile Defensive Cannon

a. As in assignment 2 (see the assignment 2 video), you have a cannon that you can interactively slide left to right at the bottom of the screen (i.e. slide left and right on the ground plane). The cannon can fire projectiles at the incoming mech bots (use the space-bar key). You must texture-map all parts of your defensive cannon to make them look interesting. If you are using glut shape primitives, you cannot texture map them. Either switch to glu shape primitives or use your own mesh parts to replace them. If you use glut shape primitives (i.e. not texture mapped) you will lose marks.

b. Add the ability to switch the camera view to a FPV (first person view) camera from the perspective of the defensive cannon as if you are inside the defensive cannon. This “defensive cannon” camera view could be displayed in a sub-window (see glutCreateSubWindow) or a separate window if you prefer. You could also use a key to switch between normal world view and FPV view.

c. If the defensive cannon is hit by a projectile, it should stop working. For full marks, the cannon should animate to a “broken state”. For example, the barrel of the cannon could animate down to indicate it no longer functions. Bonus marks will be given for more complex animations to a broken state or alternatively, using a special effect to explode the cannon in some way. To detect whether the defensive cannon has been hit by a projectile, see the Hints below.

d. Use a key to restart the game so the user can continue playing.

3)Help Key

Implement the “help” key F1 that when pressed tells the user how to use your program.

4)Final Requirement:

To be eligible for full marks on this assignment you must use a GPU vertex shader and a GPU fragment shader to render your scene. I will post a link or example program that will help you write the shaders. If you choose not to implement this requirement then the most you can receive is 14/16.

Hints

•To check collisions between a projectile and a bot, or a projectile and the defensive cannon, there are several techniques you could use. A simple technique is to compute the distance between the projectile and the center of the bot (or cannon) – if this distance falls below a threshold (i.e. is “close”), then a collision has occurred. Alternatively, for a bot and/or the cannon, you could construct a rectangular bounding box (i.e. compute the minimum and maximum x, y, z values of a bot when centered in its own coordinate system – similarly for the defensive cannon). Check to see if the current (x, y, z) position of a projectile is inside this bounding box (i.e. simply check the projectile x component against the minimum x and maximum x range of the bounding box. Repeat for y and z.). You will need to calculate the current minimum x and maximum x (and y, z) based on the current center of the bot.

Note: you will need to continually check for collisions each time you render.

Optional Bonus (1 mark each part, maximum of 2 marks)

1. Have the defensive cannon fire a laser instead of a projectile [1 mark]

2. Add a special effect when a bot is hit and/or when the cannon is hit. For example, you could show pieces flying away, bot breaks into pieces, sparks, explosion, simulated flames/smoke, or other effects. [1 mark]

3. Add levels to your game (and a score which is displayed). Each level could have different parameters (e.g. increasingly curvy animation paths of the attacking bots – making them harder to hit, more attacking bots, faster bots, different weapons etc. etc.) Add comments to a README file to detail what you have done. [2 marks]

The TA will judge the difficulty of your added functionality when deciding on bonus marks. The maximum bonus marks are 2. I recommend not to work on bonus code until you have completed 100% of the base program functionality.

BTGD9201 Computer Graphics Programming

Answer in Detail


Solved by qualified expert

Get Access to This Answer

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

33 More Pages to Come in This Document. Get access to the complete answer.

MyAssignmenthelp.com greets students with outstanding quality of assignments that was a dream before. We are composed of world-class writers with extraordinary writing skills. If you find yourself stuck in between a lengthy and complex project, connect with us immediately through our flexible communication modes. We are just a click away and ready to respond instantaneously. Our 3000+ authors work with genuine efforts to get your assignments done on time. Every minute is valuable; we do not waste your time making unexpected delay. We provide custom essay help, dissertation writing services and online assignment help all under one roof. MyAssignmenthelp.com offers wide-ranging academic assignment help services at a very nominal rate.

More BTGD9201 BTGD9201 Computer Graphics Programming: Questions & Answers

Information Technology

Write a code for the following application. A project has initial investment, yearly revenue and yearly expenses. Your program should be able to take these data and calculate the break-even year, i.e. when the cumulative profits become 0. Also, it should have a listbox that would list the cumulative …

View Answer

CBOP 3203 object oriented programming


Write a class program based on the information given below.
 
Class Name:
· Coordinate
Attribute:
· x, y
-Coordinates of a point
 
ONE Constructor:
· to set the initial value for the attributes
 
Member methods:
· void s …

View Answer

SODV2202 object oriented programming

Write a set of generic functions to automate certain tasks when working with generic arrays.
1. Write functions to return the first element, the last element, and the midpoint element.
2. Write a function to check if the array contains a particular value.
3. Write functions to return the smallest …

View Answer

CBCP2202 Computer Programming II

Task:
1. Answer in ENGLISH or MALAY.
Jawab dalam BAHASA INGGERIS atau BAHASA MELAYU.
2. Submit your assignment ONCEonly in MULTIPLE files.
Hantar tugasan SEKALI sahaja dalam PELBAGAI fail.
3. The program must be written in C LANGUAGE.
Aturcara mesti ditulis dalam BAHASA C …

View Answer

Content Removal Request

If you are the original writer of this content and no longer wish to have your work published on Myassignmenthelp.com then please raise the
content removal request.

Choose Our Best Expert to Help You

Moss Gallagher

I have received my Ph.D. in Geography from Singapore Institute of Social Sciences.

800 – Completed Orders

Hire Me

Mamie Dunn

Observant Operations & Supply Chain Expert

1411 – Completed Orders

Hire Me

Winston Larsen

I have got my Master’s in Economics from the National University of Singapore.

800 – Completed Orders

Hire Me

Isaiah Beyton

Pursuing Masters in Geography with Specialization in Geophysics

1238 – Completed Orders

Hire Me

Still in Two Minds? The Proof is in Numbers!

33845 Genuine Reviews With a Rating of 4.9/5.

Assignment

Assignment: 4 Pages, Deadline:
5 days

My assignment helper is so amazing, she did my work before my requirement dead line.

User ID: 8***98 United States

Programing

Programming: 11.2 Pages, Deadline:
3 days

Python coding assignment work completed well. This assignment was done thoroughly and was in correct format. However there were some few small errors

User ID: 8***31 United States

Accounting

Programming: 8 Pages, Deadline:
14 days

Great writing and referencing snsjsnsnsndndndbbxdbndkajznzmzmkeidndbfjdbr jddhhd s j

User ID: 8***81 United Arab Emirates

Finance

Home Work: 1 Page, Deadline:
4 days

Lectuerer had replied that the 3 questions are good, please procced with the assisgnment. Thank you.

User ID: 8***50 Singapore

Psychology

Home Work: 1 Page, Deadline:
21 hours

Recieved help with my assignment and received it a few hours earlier than deadline which was awesome!

User ID: 8***08 United States

Finance

Home Work: 4 Pages, Deadline:
2 days

It was a very nice written piece of paper. Good referencing. Well written, i got almost 60. I think writers should improve more

User ID: 6***62 Greece

Management

Assignment: 4 Pages, Deadline:
5 days

Great work and formatting. The rubric was followed and your help certainly bumped up my grades. Thank you for your help!!

User ID: 1***16 Mississauga, Canada

Supply Chain

Assignment: 2 Pages, Deadline:
5 days

I am delighted with expert work this time because the assignment is written with excellent words and less similarity.

User ID: 7***43 Australia

Statistics

Thesis: 19 Pages, Deadline:
9 days

Assignment was good. and i scored the amount i was looking for. passed all assignments

User ID: 3***26 Male, Maldives

Statistics

Programming: 2.4 Pages, Deadline:
4 days

Perfect score, the assignment was excellently done, great service, the professor, said excellent grade. I will continue using this service for all my …

User ID: 1***17 New York, United States

Assignment

Assignment: 4 Pages, Deadline:
5 days

My assignment helper is so amazing, she did my work before my requirement dead line.

User ID: 8***98 United States

Programing

Programming: 11.2 Pages, Deadline:
3 days

Python coding assignment work completed well. This assignment was done thoroughly and was in correct format. However there were some few small errors

User ID: 8***31 United States

Accounting

Programming: 8 Pages, Deadline:
14 days

Great writing and referencing snsjsnsnsndndndbbxdbndkajznzmzmkeidndbfjdbr jddhhd s j

User ID: 8***81 United Arab Emirates

Finance

Home Work: 1 Page, Deadline:
4 days

Lectuerer had replied that the 3 questions are good, please procced with the assisgnment. Thank you.

User ID: 8***50 Singapore

Psychology

Home Work: 1 Page, Deadline:
21 hours

Recieved help with my assignment and received it a few hours earlier than deadline which was awesome!

User ID: 8***08 United States

Finance

Home Work: 4 Pages, Deadline:
2 days

It was a very nice written piece of paper. Good referencing. Well written, i got almost 60. I think writers should improve more

User ID: 6***62 Greece

Management

Assignment: 4 Pages, Deadline:
5 days

Great work and formatting. The rubric was followed and your help certainly bumped up my grades. Thank you for your help!!

User ID: 1***16 Mississauga, Canada

Supply Chain

Assignment: 2 Pages, Deadline:
5 days

I am delighted with expert work this time because the assignment is written with excellent words and less similarity.

User ID: 7***43 Australia

Statistics

Thesis: 19 Pages, Deadline:
9 days

Assignment was good. and i scored the amount i was looking for. passed all assignments

User ID: 3***26 Male, Maldives

Statistics

Programming: 2.4 Pages, Deadline:
4 days

Perfect score, the assignment was excellently done, great service, the professor, said excellent grade. I will continue using this service for all my …

User ID: 1***17 New York, United States

Have any Query?