The Problem We will be simulating life in Yebble Country, in the South-West of Western Australia. The area includes native and introduced animals, a selection of which you will be researching and...

The Problem We will be simulating life in Yebble Country, in the South-West of Western Australia. The area includes native and introduced animals, a selection of which you will be researching and modelling - each with their own behaviour and interaction rules. You must choose at least three native animals and at least one introduced predator, along with food items, in your model. You will be given some sample code, simulating the population using arrays. For the assignment, you will convert the code to model the fauna using objects, and to add features to the simulation (e.g. more functionality, statistics, graphics, parameter sweeps). Your task is to extend the code and then conduct an experiment, varying the input parameters, to see how they impact the overall simulation. The required extensions are: 1. Object Behaviour: Extend to have the fauna represented as objects. Each type of object will have its own behaviour(s). This should be implemented via the object’s methods and attributes. Prompts: Are they always moving? Do they sleep? When do they sleep? 2. Movement: Movement should vary by animal and needs to be constrained to the space. The Base code movement is highly unrealistic. Prompts: Consider how they might move, e.g. Do the different animals move in different ways? Are they always active, or does time of day have an impact? 3. Collisions: The animals are moving in a two dimensional space. Your code should recognise when collisions occur and respond accordingly. Prompts: How do you recognise a collision? Add rules as to what happens when different combinations of animals collide. Your simulation should also include mechanisms for reproduction and death within the populations – probably related to certain collisions.2 4. Boundaries and Territories: Enhance the rectangular grid with boundaries and individual animal territories to restrict movement (not just randomly moving over grid). Prompts: How "far" can they move from their "home"? Do they need to return home? 5. Food/Water: You should model food/water source(s) and their affect on the animals. Prompts: Are they continuous, or do they need time to regrow? 6. Visualisation: Enhance the display for the simulation to vary the representation of animals and the area they move in. You should display statistics for the simulation and also be able to save the simulation state as a plot image or a csv file. Prompts: How will you differentiate the animals? Are they the same throughout the simulation? You may choose an “image” representation, to improve on using coloured dots. Note: Your program should allow command line arguments to control the parameters of the experiment/simulation. Your code should include comments to explain what each section does and how. It is useful to keep track of your changes in the comments at the top of the program. Feel free to re-use the code and approaches from the lectures and practicals. However, remember to cite and self-cite your sources. If you submit work that you have already submitted for a previous assessment (in this unit or any other) you have to specifically state this. Beyond the working program, you will submit two documents: the Simulation Project Documentation and a Simulation Project Report on your experiment. There will be bonus marks for additional functionality and the use of more advanced programming techniques (e.g. interactivity, high quality visualisation, 3D space, parameter sweep etc.) but only if they're sensible and done well. Make sure to discuss the additional work in your Documentation and Report, this will be easy if you make notes and keep old (incremental) versions of your code
May 12, 2021

Submit New Assignment

Copy and Paste Your Assignment Here