程序代写案例-FIT3094

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
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作业君
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468