700110 Simulation and Artificial Intelligence

700110 Simulation and Artificial Intelligence Assessed Coursework

This is the assessed coursework specification for module 700110 Simulation and Artificial Intelligence. Please read the entire document carefully to ensure that you understand the coursework. This single piece of coursework serves as two pieces of coursework in the module specification – one on simulation and one on artificial intelligence. The single submission will be marked twice according to the two rubrics at the end of the document.


The price for this project varies on the requirements of development and programing. For custom written project according to the development and programing requirement (supplied by your instructor) please contact via Whatsapp, ← Click here. Email: [email protected] or Live Chat.


Pick your own project

You are invited to propose your own project. You will submit a proposal by ------------, outlining how you intend to demonstrate that you have attained each of the marking criteria. Once this is submitted you may be asked to modify and adapt this before it is agreed as an acceptable solution for the coursework. This process will ensure that your proposal is suitable and fits with the marking criteria.

If you do not want to propose your own project a project description is provided in the following section.

Submission

Submission due date is ------------. You should submit a single zip file that includes all your code, and your report to canvas.

Scaffolding Code

As you are not being assessed on any aspect of graphics you will be provided with some scaffolding code to help you create a 3D scene. This will include the ability to render basic primitives such as cubes, cylinders and spheres in different colours – and a user interface that you can customise and use to help get feedback from, and instruction to you solution.

Report

You will write a report. The purpose of the report is to demonstrate your understanding of what you have achieved, and in doing so to help the marking process. You will be provided with a template.

Marking Rubrics

Marking rubrics for both parts of this assessment can be found at the end of this document.

Example Proposed Project

This example proposed project serves two purposes. It gives you an example template to follow if you would like to propose your own project., and it gives you a project definition if you do not want to propose your own project.

Project Title: Tower Defence Area Control Game High Concept

Two (or more) teams of AI agents compete to control cannons mounted on towers on a map for the longest amount of time within a timed round. Each team will be represented by a different colour, and should have a base around the edges of a level where they will respawn if their health drops to zero or less. Towards the centre of a level there should be several towers that can fire cannon ball like projectiles at agents at some rate. If a cannon ball hits an agent the cannon ball is destroyed and the agent suffers damage reducing their health. If a cannon ball does not hit an agent it will bounce around the level and eventually come to rest.

Initially towers are neutral, firing cannon balls at any agent within range. Ownership of each tower is represented by a numerical scale of influence within the range 0-10. Surrounding the base of each tower is a safe zone where agents are safe from attack of the tower they are closest to. When an agent occupies a defined area at the base of a tower that agent can begin to increase its team’s influence over that tower. When a team’s influence over a tower becomes 5 or greater that tower becomes aligned to the team and will only fire cannon balls at agents from other teams. Before another team can take ownership of a tower they much first reduce the current owner’s influence to 0 before they can increase their own team’s influence. Whilst an agent is influencing a tower they cannot do anything else.

Towers will generate ammo over time at a rate that is proportional to the amount of influence the current owner has over the tower. Agents can also provide the tower with more ammo by collecting spent cannon balls and returning them to the base of the tower.

Agents can attack opposing agents by performing a melee attack on agents that they are very close to, or then can pick up spent cannon balls and throw them at other agents. Agents can also use cannon balls defensively by throwing them at incoming cannon balls to deflect them away. Agents can also find power ups spawned randomly at specific places on the map that can increase their health (making them able to take more damage), speed (making them move faster) or strength (making attacking other agents stronger) or influencing power (increasing the rate that they are able to influence towers). If an enemy takes damage that reduces their health to zero they are  respawned in that team’s base losing any benefits they accumulated.

Whilst a team has ownership over a tower they begin to score points at a particular rate. The winning team is the team with the most points at the end of a set time limit.

Everything in the game will be constructed from cylinders, spheres and cubes. The terrain should include stacks of cubes that form walls that agents cannot cross. They should include areas of ground that have a colour aligned with agents such that agents of the same colour can move more quickly over those areas.

To ensure that projects are suitable for assessment, and to ensure that students understand the assessment fully for each of the marking criteria a statement of how the project will meet that criteria is required. For this example project the statements are as follows.

Criteria 1.1 Physical Simulation

“Newtonian physics” will be applied when agents move, and to cannon balls firing through the scene. The report should include a description of how this is implemented, and where in the code base this can be found.

Criteria 1.2 Numerical Integration

Numerical integration will be applied to all moving objects. In order to achieve full marks at least three methods of integration will be implemented, and it will be possible to change this at run time.

The report should include a description of how these methods work, and where in the code base this can be found.

To achieve full marks the report should include some collection of data of the three methods and comment should be made on the impact of the methods in terms of accuracy and performance – supported by the collected data.

Criteria 1.3 Collision Detection

Collision will be applied between cannon balls and the landscape. Cannon balls will be fired by cannons and can also be collected and thrown by agents. In order to collide with the terrain sphere- sphere, sphere-cylinder and sphere-triangle collisions will need to be implemented.

The report should include a description of how these methods work, and where in the code base this can be found.

Criteria 1.4 Collision Response

Collison response will occur when a cannon ball hits terrain and bounces off, or when a cannon ball hits another cannon ball that an agent has used defensively.

The report should include a description of how these methods work, and where in the code base this can be found.

Criteria 1.5 Spatial Segmentation

A spatial segmentation method should be implemented to reduce the number of redundant calculations when performing collision detection. This solution could also be reused by agents to reduce their processing time.

The report should include a description of how these data structures and methods work, and where in the code base this can be found.

Criteria 1.6 Demonstration of comprehension as evidence in written report

The report should include a different subsection for each of the criteria. In each subsection there should be a statement of what has been achieved under that criteria. There should be a brief written description of how it was achieved and clear direction as the where in the code this has been achieved including file names, class names and method names where appropriate.

In some cases, it may be appropriate to include diagrams (such as UML class diagrams or state diagrams). In some case it may be appropriate to present data (for example on efficiency) in the form of a graph or graphs. If this is the case the graphs should be clearly labelled, together with a description of what data is being presented, how it was collected and what it shows.

Criteria 2.1 Action Selection

Action selection could be governed by a state machine and informed by fuzzy logic, that could consider the level of risk moving from one place to another according to proximity to enemy towers, the time it would take to move, the potential benefit in terms of power up boosts and the current state of the agent.

The report should include a summary for how decisions are made, and where appropriate diagrams of state machines and fuzzy matrices for decision making, and where this has been implemented including file names, class names, method names and UML diagrams where appropriate.

Criteria 2.2 Steering Behaviours

Report should include a variety of steering behaviours. For full marks the steering behaviours will be combined according to some compound behaviour and could also include some group behaviours such as flocking or moving in formation.

The report should include a summary of each of the behaviours and what they do, how they are used in the simulation, and where in the code this has been implemented including file names, class names, method names and UML diagrams where appropriate.

Criteria 2.3 Pathfinding

The terrain will be made up of cubes making a grid structure reasonably easy to create and perform path finding on. The paths could be weighted using length, or by adding a terrain type to enable faster or slower movement. The grid could also be replaced by a nav mesh to achieve maximum marks.

The report should include a summary of how the path finding is achieved, a description of the data structure and algorithms implemented, and where in the code this has been implemented including file names, class names, method names and UML diagrams where appropriate.

Criteria 2.4 Locomotion Systems

The locomotion system will enable agents to actually move. Ideally this could be shared with physical objects. The report should include a description of how this is implemented, and where in the code base this can be found.

Criteria 2.5 Spatial Segmentation

A spatial segmentation method should be implemented to reduce the number of redundant calculations when making decisions and simulating. In particular, the time needs to calculate neighbourhoods for group behaviours could be improved. This solution could also be reused by simulation to reduce the processing time for collisions.

The report should include a description of how these data structures and methods work, and where in the code base this can be found.

Criteria 2.6 Demonstration of comprehension as evidence in written report

The report should include a different subsection for each of the criteria. In each subsection there should be a statement of what has been achieved under that criteria. There should be a brief written description of how it was achieved and clear direction as the where in the code this has been achieved including file names, class names and method names where appropriate.

In some cases it may be appropriate to include diagrams (such as UML class diagrams or state diagrams). In some case it may be appropriate to present data (for example on efficiency) in the form of a graph or graphs. If this is the case the graphs should be clearly labelled, together with a description of what data is being presented, how it was collected and what it shows.

Report Template

This template is intended to ensure that students understand the code they submit, how it works and aid the marking process. The assessment includes two sections (Simulation and AI). For each subsection there are six numbered criteria. Five relate to the functionality of the solution whilst the sixth is concerned with the report. For each of the five functional criteria you should include a subsection in the report as described below.

Criteria 1.1

Copied from project proposal – this details what it was students were asked to do.

How was it achieved?

Extent of the achievement and how it was achieved.

Where is it?

Where it this achievement evidenced in the code?

How well does it work?

Evaluation of the implementation of the criteria.

A final section should be included for students to reflect on their performance.

Overall Evaluation and Reflection

Overall reflection of the project. What worked well, what did not work well, and how it could be improved in the future.

Simulation Marking Criteria (50%)

Marking Criteria

Distinction (70%+)

Merit (60%-69%)

Pass (50%-59%)

Marginal Fail (40%-

49%)

Fail (0%-39%)

Barely attempted or missing (0%)

1.1 Physical Simulation (10%)

Newtonian physics applied accurately with pragmatic measures to prevent instability (i.e. capping velocities and forces) written in a reusable way.

Newtonian physics applied accurately with pragmatic measures to prevent instability (i.e. capping velocities and forces)

Newtonian physics applied accurately.

Attempt at applying Newtonian physics with minor errors.

Attempt at applying Newtonian physics with significant errors that make simulation unusable.

 

1.2 Numerical Integration (15%)

At least three methods of integration with respect to simulation time including Runge Kutta. The ability to switch between the two at run-time via a GUI. Written in a reusable way. Some indication of the impact of the various methods included in the report.

At least two methods of integration with respect to simulation time (e.g. Euler and Symplectic Euler) – and the ability to switch between the two at run-time via a GUI.

One method of integration with respect to simulation time.

One method of integration with respect to time, but no attempt to account for different processor speeds.

 

 

1.3 Collision Detection (30%)

Can detect collisions between two spheres, spheres and general line segments, spheres and general

Can detect collisions between two spheres, spheres and general line segments, and spheres and general

Can detect collisions between two spheres, spheres and axis aligned line segments, and spheres and axis

Can detect collisions between two spheres, spheres and axis aligned infinite planes. Spheres

Can detect collisions between two spheres. Spheres should be of varying radii.

 

 

cylinders, and spheres and compound objects such as cuboids. Spheres and cylinders should be of varying radii. Written in a reusable way.

cylinders. Spheres and cylinders should be of varying radii.

aligned cylinders. Spheres and cylinders should be of varying radii.

should be of varying radii.

 

 

1.4 Collision Response (20%)

Inelastic material dependent correct response taking into account mass of colliding objects.

Written in a reusable way.

Inelastic collision  with correct response taking into account mass of colliding objects. No obvious visible bugs.

Elastic collision with correct response taking into account mass of colliding objects. Minor obvious visible bugs.

Elastic collision with correct response that do not take into account mass of colliding objects.

Significant obvious visible bugs.

Collision response attempted, but significant errors are evident making it unusable.

 

1.5 Spatial Segmentation (15%)

At least two spatial segmentation techniques based on own research.

Demonstration of efficiency increase graphed in report. Written in a reusable way.

Spatial segmentation technique based on own research.

Demonstration of efficiency increase graphed in report. Written in a reusable way.

Spatial segmentation technique based on own research.

Demonstration of efficiency increase graphed in report.

Spatial segmentation technique based on own research.

 

 

1.6 Demonstration of comprehension as evidence in written report (10%)

Demonstration of clear understanding of 5 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 4 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 3 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 2 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 1 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

 

 

Artificial Intelligence Marking Criteria (50%)

Marking Criteria

Distinction (70%+)

Merit (60%-69%)

Pass (50%-59%)

Marginal Fail (40%-

49%)

Fail (0%-39%)

Barely attempted or missing (0%)

2.1 Action Selection (20%)

Agent states and transitions controlled by state machines, with decisions driven using fuzzy logic rather than crisp logic written in a reusable way demonstrating diverse and distinctive behaviour from agents using the same code base.

Agent states and transitions controlled by state machines, with decisions driven using fuzzy logic rather than crisp logic.

Agent states and transitions controlled by state machines.

Simple rule-based decision making without an explicit state machine.

Fixed agent behaviours.

 

2.2 Steering Behaviours (20%)

Agents able to move through the world using compound and group behaviours (e.g flocking, moving in formation) written in a reusable way.

Agents able to move through the world using a variety of Compound steering behaviours to combine simple steering behaviours.

Agents able to move through the world using one Compound steering behaviour that combines simple steering behaviours.

Agents able to move through the world using simple individual steering behaviours

Agents move using a single fixed behaviour.

 

2.3 Path Finding (30%)

Agents able to find a path finding on weighted graph-based representation of geometry.

Written in a reusable way.

Agents able to find a path finding on weighted grid- based representation of geometry.

Agents able to find a path finding on grid-based representation of geometry.

Path finding on grid attempted but sometimes buggy

Path finding on grid attempted but unusable

 

2.4 Locomotion Systems (10%)

Integrated with physics and written in a reusable way and shared with simulation.

Integrated with physics shared with simulation.

Locomotion systems not shared with simulation.

Attempted locomotion systems occasionally buggy.

Attempted locomotion systems unusable.

 

2.5 Spatial Segmentation (10%)

At least two spatial segmentation techniques based on own research. Demonstration of efficiency increase graphed in report.

Written in a reusable way and shared with simulation.

Spatial segmentation technique based on own research.

Demonstration of efficiency increase graphed in report. Written in a reusable way.

Spatial segmentation technique based on own research.

Demonstration of efficiency increase graphed in report.

Spatial segmentation technique based on own research.

 

 

2.6

Demonstration of comprehension as evidence in written report (10%)

Demonstration of clear understanding of 5 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 4 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 3 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 2 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

Demonstration of clear understanding of 1 out of the 5 previous criteria listed. Specific implementation is described clearly and concisely with analysis of efficiency and diagrams where appropriate.

 

100% Plagiarism Free & Custom Written, Tailored to your instructions

Our Giveaways

Plagiarism Report

for د.إ50 Free

Formatting

for د.إ32 Free

Title page

for د.إ20 Free

Bibliography

for د.إ36 Free

Outline

for د.إ19 Free

Limitless Amendments

for د.إ38 Free

Get all these features for
د.إ195.00 FREE

ORDER NOW
assignment bank giveaways

Our Ratings