In this programming assignment you will be adapting a simple flocking code and add in new features. [300 points]
Example code has been provided to you that shows agents flocking. From the base code, you have the ability to run a basic flocking simulation, add members to the simulation, show a 2d environment, etc. There are a number of features that you can work on to get full credit for the assignment. - [100pts]
Animate the individual flock member to move as either fish or birds. - [50pts] Steering a flock member using keyboard or mouse. Allow a user to control a single agent using either keyboard or mouse interaction. This will require having an agent specified that is considered the agent being controlled. - [100pts]
Adversarial agents. Allow a subset of agents to be considered adversarial agents. They will be more interested in attacking other agents rather than the flocking rules. - [100pts]
Life or agent status. Allow the agent's life to vary depending on how far it's traveled, if it's surrounded by too many other flock members, it's being attacked, or collides. The status of the agent can reduce or grow depending on rules you set up. Display the status (visually) for each agent. - [50pts] Camera tracking and zoomed in view. Allow an option to have the camera zoomed in to a specific agent (for example the controlled agent). The view should be updated as the agent moves. - [30pts]
Collision detection and resolution with the environment blocked areas. - [20pts] Code analysis. Analyze the running time of the code. This should be a detailed description of all aspects of the simulation. What proportion of the time is spent in each of the main components? Does the proportion of the time change as the number of agents increases? It should be done for varying number of agents. What is the maximum number of agents that the simulation can have and still be considered real-time. - [100pts]
Integrate this 2D Flocking code with your 3D World program. This should allow you to see a very interesting scene. Objects in the 3D world should correspond to blocked cells in the 2D scene. - You can add an option that is not specified above but to receive points for it, you should talk to me about it first. This is a multi-week programming assignment allowing you to decide which aspects you want to work on. This should give you some flexibility in working on parts that seem more interesting to you. For each component you implement you should describe the addition you implemented in your report and any issues you encountered or overcame during the implementation.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of