- Path Following: The NPAgent currently follows a path following algorithm. The NPAgent's update method should be modified so that it moves in one of two states: "path-following", or “treasure-goal”. In the treasure-goal state, the NPAgent moves directly towards the next closest unfound treasure until it "tags" the treasure.
- When the user presses the ‘N’ keyboard key the NPAgent state should change from path-following to treasure-goal state.
- The NPAgent should remember what its current path-following goal is, so it can resume path- following.
- The NPAgent in treasure-goal movement should always go to the closest untagged treasure.
- When the NPAgent “tags” a treasure it automatically switches back into path-following mode and moves towards its next goal. The NPAgent finds 1 treasure (if one is not tagged) for each ‘N’ press.
- Either the Agent or NPAgent can "find" or "tag” a treasure if it gets within 200 pixels of a treasure.
- Once a treasure has been found it should be "tagged" so the treasure is no longer active. The treasure’s display should indicate its “tagged” (non-active) state.
- The Agent that tagged the treasure increases its treasure count. Your program should display the number of treasures found ("tagged") by each agent in an Inspector pane info pane.
- Consider placing the treasures in the flat "testing" area where the Player is loaded. This way you can see and test your program quickly without having to wait for the NPAgent to move relatively long distances. The simulation does not end when all treasures are tagged. The program ends when the user closes the window or presses the 'esc' key.
- Documentation: You must write a detailed but concise description of EVERY feature implemented and exactly how you implemented them. The documentation must have the following items:
- A description of the theme of your scene.
- A list (or table) of the models you added to the scene and their source (author, location). Models you make would have your name and the modeler used for the location. Models downloaded would have their author and URL.
- Include a table of AGMGSK classes modified (what variables added, what methods added or modified). In each description be sure to name the methods (method signature, containing class) modified to implement your solution.
- Did you add any additional user input options? You must provide a mapping of all new key mappings for user input.
- You must provide a description of:
- your height generation algorithm
- your NPAgent's movement algorithm
- your algorithm for staying on top of the terrain
No late submissions are accepted unless a request for extension is granted. See the syllabus for further details. Partial/incomplete projects should be submitted on the due date. This class is project oriented and subsequent projects depend on material designed in prior projects.