FIT3094 - Artificial Life, Artificial Intelligence, and Virtual Environments
ASSIGNMENT 2 [25%] - Individual Assessment
Goal Oriented Action Planning
SUBMISSION DUE: Friday Week 8, 11:55 PM (Submission A), Friday Week 10, 11:55 PM (Submission B)
Covers Topics from Weeks 5 - 7
Learning Outcomes
Completion of this assessment item should demonstrate competency in the following learning outcomes:
● Apply - through practice-based learning - design, development, execution and validation of real-time interactive software using AI techniques
● Evaluate and apply AI and/or ALife software techniques to model simple intelligent behaviour in discrete and continuous simulations and games
● Explain the concepts and theories underlying AI and Artificial Life;
Brief
For this assignment, you will coordinate a team of agents using Goal Oriented Action Planning. Your objective is to compute plans that achieve the highest possible score. You will be provided with base code for this project, and your job will be to design a suitable planning model and algorithms.
Submission Requirements
This assignment will be split into two separate submissions, each focusing on a different aspect of the learning outcomes. There are 100 marks available across both submissions.
The first submission (Submission A) will be focussed on creating High Level Actions (HLActions) and create a plan using a Finite State Machine, worth 20% of the overall assignment marks and due on Friday Week 8 at 11:55pm.
The second submission (Submission B) will be focussed on the utilising Goal Oriented Action Planning (GOAP) for these plans instead, as well as a written report, worth 80% of the overall assignment marks and due on Friday Week 10 at 11:55pm.
Submissions are made via Moodle. For each submission you will submit your Unreal project with all of your implementation source code. For Submission B you will also submit a written report.
Each submission comprises a single ZIP file and must meet the following requirements:
● The filename is of the form.: FIRSTNAME_LASTNAME_STUDENTID.zip
● A folder called “code” which contains only the following Unreal files/directories:
○ Config folder
○ Content folder
○ Source folder
○ .uproject file
● A folder called “report” containing a single PDF file (Only for Submission B)
Task Overview
You will have to coordinate a number of different types of agents to perform different actions to achieve a common goal.
Your task is to implement algorithms that apply FSM Planning and Goal Oriented Action Planning to assist the ships to achieve the largest score possible.
Marks will be allocated for:
1. FSM Planning (Part A)
2. GOAP Effectiveness (Part B)
3. System Test (Part B)
4. Written Report (Part B)
Detail on each of the requirements for points 1-4 above and the marks allocated to each component, appear in sections below.
You have been provided with base code that contains starter files to assist you in developing your application of Multi-Agent Planning. The base code does the following:
1. Loads a map file and converts it into an Unreal level
2. Loads a scenario file and spawns ships based on the scenario
3. Handles ship movement based on a path given to it
4. Includes Goal Oriented Action Planner high-level base
5. Include base action for use with Goal Oriented Action Planner
6. Outputs point data to help you with fine-tuning your algorithms
The base code does not handle behaviour for avoiding collisions and replanning. This must be performed as part of your implementation of the collision algorithms.
In our virtual world, the crews of different ships have different specialities. They must work together to build a settlement. In this process, points are awarded for gathering resources and constructing buildings.
You will have a total of 180 seconds to try to achieve the most points possible.
Types of Agents
There are 4 different types of agents. Each with a distinct speciality which you can find in sections below. Different amounts of each exist in the world (x). These are:
● Woodcutter (5)
● Stonemason (5)
● Farmer (5)
● Builder (3)
Resource Locations
Resource Locations are scattered throughout the world. Each Resource Location contains 5 units of that resource before it is depleted and deleted from the world and should be replaced by Shallow Water. Each Resource takes a certain amount of time to gather. Once gathered, Resources are added directly to the Agent’s inventory, and Agents cannot perform other actions than depositing while having Resources in their inventory. Each Resource gives a specified number of points when deposited at a Home node and adds that many resources to the total. Depositing a Resource takes 1 second. There are 3 different types of Resources:
● Wood: Takes 2 seconds to gather, and gives 1 point per unit deposited.
● Stone: Takes 3 seconds to gather, and gives 2 points per unit deposited.
● Grain: Takes 5 seconds to gather, and gives 3 points per unit deposited.
Gathering Resources
All Agents can gather resources from resource tiles on the map. The efficiency of each Agent depends on their specialisation (see below) which affects how quickly they can gather resources and how much they can carry.
● Woodcutter: Gathers Wood 50% quicker, and gathers 2x units at once
● Stonemason: Gathers Stone 50% quicker, and gathers 2x units at once
● Farmer: Gathers Grain 50% quicker, and gathers 2x units at once
Buildings
To develop a thriving community, we need buildings to provide services. There are three different types of buildings, each with a different number and type of Resources to construct. Constructing different types of buildings gives different numbers of points. These buildings are:
● Market: Requires 5 Wood to build and gives 50 points
● Theatre: Requires 10 Wood and 5 Stone to build and gives 250 points
● University: Requires 15 Wood, 10 Stone, and 5 Grain to build and gives 1000 points
Constructing Buildings
Buildings can only be constructed on specific tiles; Building Slots. Only Builder Agents can construct Buildings and can only do so when they are not carrying resources. You will need to carefully decide how to best utilise your limited number of Builder Agents to maximise points. Different Buildings require different amounts of time to construct:
● Market: 5 seconds
● Theatre: 10 seconds
● University: 15 seconds
FSM Planning (Part A)
Suggested Completion Date: End of Week 8
You will be required to utilise and create a Finite State Machine in order to make a plan for each ship to be able to maximise points.
See specific point metrics in Detailed Rubric on Moodle.
GOAP Effectiveness (Part B)
Suggested Completion Date: End of Week 9
You will be required to utilise the existing Goal Oriented Action Planner in order to make a plan for each ship to work collaboratively in order to maximise points.
See specific point metrics in Detailed Rubric on Moodle.
System Testing (Part B)
Suggested Completion Date: End of Week 10
You must implement a method of replanning agent’s paths and plans to minimise collisions.
Replanning is especially important in this Assignment due to the limited evaluation time, agents using optimised paths are able to carry out more actions and collect more points.
See specific system testing metrics in Detailed Rubric on Moodle.
Written Report
Suggested Completion Date: End of Week 10
You must ensure that you include a written justification to explain your GOAP model, planning algorithms and execution approach. Below are some aspects of your planner you may like to discuss. Refer to the marking rubric for guidelines about the amount of detail expected for different levels of achievement. Remember the report is worth 40% of your total marks!
Planning model:
● World variables. How you used the provided world variables and justifications/descriptions of any additional variables that you may have added.
● Actions. Describe your chosen actions in terms of their preconditions and effects. Include justifications
● Goals. Describe and justify your chosen goals for the different agent types. Indicate and justify their priorities.
Planning approach:
● Expander. Discuss how your expander function generates successors (forwards or backwards). Justify your approach.
● Search. Discuss how your planner searches for solutions. If you modified the planner in some way (e.g., to improve performance), justify your approach.
Execution considerations:
● Discuss how you handle plan failure (i.e., when a high-level action does not proceed as expected). What are the main considerations and how does your planner react?
● Discuss how you handle navigation failure (i.e., when a low-level pathfinding action does not proceed as expected).
Assessment Criteria
● Written Report - 40 marks
○ Description of your approach taken to the problem at hand
○ Communication skills displayed in report
● FSM Planning - 20 marks
○ Total Points Earned at End of 3 Minutes
● GOAP Effectiveness - 25 marks
○ Total Points Earned at End of 3 Minutes
● System Test - 15 marks
○ We compute the System Test Metric calculated as: STM = [GOAP Effectiveness Score (see above)] * [Proportion of Successful Replans]
A detailed marking rubric for Submission A is provided on Moodle.
A detailed marking rubric for Submission B is provided on Moodle.
Feedback Information
You will receive a mix of formal and informal feedback for this assessment. Demonstrators will provide informal feedback in your scheduled lab sessions. Formal feedback will be provided within 10 business days of submission
Where to get help
If you are struggling with anything or need additional support please do not hesitate to reach out using any of the following support services:
English language skills
if you don’t feel confident with your English.
● Talk to English Connect: https://www.monash.edu/english-connect
Study skills
If you feel like you just don’t have enough time to do everything you need to, maybe you just need a new approach
● Talk to an academic skills advisor: https://www.monash.edu/learnhq/consultations
Things are just really scary right now
Everyone needs to talk to someone at some point in their life, no judgement here.
● Talk to a counsellor: https://www.monash.edu/health/counselling/appointments (friendly, approachable, confidential, free)
Things in the unit don’t make sense
Even if you’ re not quite sure what to ask about, if you’ re not sure you won’t be alone, it’s always better to ask.
Askin the forums, book / attend a consultation or email your demonstrator
● Forums Link: https://lms.monash.edu/course/view.php?id=140783§ion=3
● Consultation Schedule: https://lms.monash.edu/course/view.php?id=140783§ion=2
● Tutor Contact Information: https://lms.monash.edu/course/view.php?id=140783§ion=0
I don’t know what I need
Everyone at Monash University is here to help you. If things are tough now they won’t magically get better by themselves. Even if you don’t exactly know, come and talk with us and we’ ll figure it out. We can either help you ourselves or at least point you in the right direction.