FIT3094 - Artificial Life, Artificial Intelligence and Virtual Environments Updated: 13/04/2021 1 ASSIGNMENT 2 [20%] Agent Planning SUBMISSION DUE: Friday Week 7, 11:55 PM Learning Outcomes Completion of this assessment should demonstrate competency in these learning outcomes: ● Apply - through practice-based learning - design, development, execution and validation of real-time interactive software using AI techniques. ● Select, evaluate and apply AI software techniques to model simple intelligent behaviour in 3D continuous simulations and games. Task A small group of agents would like to construct a new building in their village. To complete this job the agents first need to gather raw materials, in this case wood and stone. Then they need to raise the structure. But not every agent can contribute in the same way. Each one has a special skill and they all need to work together to create a plan. Your job is to model and solve this problem using Goal Oriented Action Planning. The agent types are: Woodcutter: The woodcutter’s role is to collect wood from trees and return it to the central village hub. In addition, the agent must keep itself alive by eating food periodically. A Woodcutter has 50 units of health and should seek food if its health drops below 15. Woodcutters can carry a maximum of 50 wood units at any point in time. You are not required to implement complex pathing, only smooth (not teleporting) movement from a to b. You must consider collision avoidance of other agents. Stonemason: The stonemason’s role is to mine stone from mining resources and return them to the central village hub. In addition, the agent must keep itself alive by eating food periodically. A Stonemason has 100 units of health and should seek food if their health drops below 40. Stonemasons can carry a maximum of 20 stone units at any point in time 1 FIT3094 - Artificial Life, Artificial Intelligence and Virtual Environments Updated: 13/04/2021 2 You are not required to implement complex pathing, only smooth (not teleporting) movement from a to b. You must consider collision avoidance of other agents. Builder: The builder’s role is to collect wood and stone resources from the central village hub, take them to a building site and construct a building. In addition, the agent must keep itself alive by eating food periodically. A Builder has 400 units of health and should seek food if their health drops below 15. Builders can carry 10 wood and 5 stone units at any point in time. The following objects will be placed in the world and have the following requirements for interactions: NOTE: The code for health draining over time is NOT included in the base code and will need to be added in by you. You can use the code for health draining that was included in the Assignment 1 base code Provided Actors & Objects: The following actors and objects have been provided as part of the base code. You are expected to program the agents to interact with them in order to complete their goals. Village Centre: A central silo for resources. Starts with 0 wood and 0 stone units. Can hold infinite amounts of both. Placed in the world automatically, but interactions must be coded by students. Tree Resource: Contains 100 wood units. The process of taking 1 wood unit from the resource takes 1 second. Trees will be placed in the world automatically, but interactions must be coded by students. Stone Resource: Contains 150 stone units. The process of taking 1 stone unit from the resource takes 3 seconds. Stones will be placed in the world automatically, but interactions must be coded by students. Metal Resource: Contains 200 metal units. The process of taking 1 metal unit from the resource takes 2 seconds. Metal resources will be placed in the world automatically, but interactions must be coded by students. (This resource is only required for Extended Task) 2 FIT3094 - Artificial Life, Artificial Intelligence and Virtual Environments Updated: 13/04/2021 3 Buildings: Starts as an empty building site. As resources are poured into the building it goes through multiple stages of development. Buildings take 100 wood and 100 stone units to complete. 1 stone & 1 wood unit are consumed every second of building. Buildings are placed in the world automatically, but interactions must be coded by students. Forge: A location that can be used to forge tools. (Only required for Extended Task) Food: Consuming a food unit will fully replenish a single agent’s health. Upon consuming food, the food object should be destroyed and removed from the game world. Food will automatically spawn so there is always a set number present. Consuming a food resource takes 2 seconds. Interactions with the food, including its destruction, must be coded by students. Marks will be allocated for meeting the following criteria: ● Appropriate action set to model each agent type. ● The computation of a feasible plan that can achieve the goal. ● Successful execution of that plan (i.e., whether or not the goal is achieved) ● The agents move smoothly from A to B (no teleporting). ● The agents avoid collision with other agents. ● Documentation ○ High level report to describe your solution. ○ The use of appropriate coding standards in your implementation. Extended Task As an extended task, you will be required to consider an additional agent, the toolmaker, and an additional resource, metal. Completing this part of the assignment will require a new agent type and it will also require altering the behaviours of other agents. The specifications are as follows: Tool Crafter: The Tool Crafter’s role is to construct tools at the forge using Metal Units gathered from the village centre. Once tools are created, they must be transported to the town centre. A Tool Crafter has 100 units of health and should seek food if their health drops below 25. 3 FIT3094 - Artificial Life, Artificial Intelligence and Virtual Environments Updated: 13/04/2021 4 Tool Crafters can hold 10 metal units at any one time. Crafting a tool requires 5 metal units. Stonemason changed to Miner: The Stonemason has been upgraded to a Miner. It is now capable of holding 30 metal units and must select whether to collect stone or metal based on the number of metal units currently stored in the village centre. If the number of metal units in the village centre is less than 20 then collecting more metal units should be prioritised. Tool Resource: A tool has a durability value of 75 and is required by the Woodcutter and Stonemason agents. They must collect these from the village centre and must use one when collecting resources. The collection of 1 resource with a tool decreases that tool’s durability value by 1. Each Woodcutter and Stonemason should start the simulation with a tool resource. Note: The extended task will only be assessed provided the normal base functionality works. 4 FIT3094 - Artificial Life, Artificial Intelligence and Virtual Environments Updated: 13/04/2021 5 Marking Criteria Your design specification needs to satisfy the following criteria: 1. Performance of AI - 30% Has implementation of GOAP planning been successfully completed? Is every agent modeled and does the system produce a high-level plan? Are the agents able to correctly transition between different actions in order to execute the plan? Do they complete the overall task? 2. Efficiency, Quality and Completeness of Solution - 30% This section is marked based on solution completeness (excluding the Extended Task Section). The solutions provided should be efficient. Collisions between the agents should be avoided. The simulation is playable in real-time without lag. 3. Documentation - 20% Along with the project files you are required to document your solution. This is assessed in two ways. a. The submitted code follows appropriate coding standards. b. The submission includes a report document outlining your methodology. The report document must include an explicit model of your GOAP solution. This means: (i) a complete description of all actions, including their preconditions and effects; (ii) a plain-English (plus pseudo-code where appropriate) description of the algorithm used to compute a high-level plan, including any heuristics; (iii) a description of the different states in your state machine and an explanation of how/when agents transition between states (here you could show an example plan and describe its execution). The report must also include an analysis of your solution, including strengths and weaknesses and any known bugs in the application code. This last bit is very important to help your instructor run, understand and evaluate your submission. 4. Extended Task - 20% This section is based on the implementation of the additional agent types and the modification of the existing agent behaviours and actions. The previously mentioned criteria for performance, efficiency and coding standards apply. You should also include additional material in your report to describe your modifications. 5
欢迎咨询51作业君