Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

ECS7016P Interactive Agents and Procedural Generation

Coursework 3 of 3: Tech Demo


This is an individual programming assignment which requires you to create, in Unity, an       interactive technical demonstration of some game AI techniques.  It should consist of a level generator which outputs levels containing at least one autonomous interactive agent.       Optionally, the user may be able to control a simple player character to navigate the level     and interact with the agent.

As a tech demo it should demonstrate the use of appropriate game AI techniques for         procedural generation and interactive agents. You may choose the specific design and         implementation of the tech demo, as long as it meets the above requirements —  keeping in mind the assessment criteria below.

Third-party libraries can be used if appropriate. You must clearly declare their use in your submission (in the README file) or you risk committing plagiarism. You will be assessed only on your own design and code work that you contribute on top of any existing libraries. For example, your agent could use behaviour trees with the NPBehave library, and you     would be assessed on the tree design and your own code.

Scope

You should think carefully about the scope of your tech demo: What is it demonstrating?        How much work will this take to implement? Can you use any third-party libraries in               development? If you’ re not sure about scope, please seek advice from the module organiser.

The level generator component should demonstrate the use of one or more PCG              techniques.  For example: constructive methods (e.g. space partitioning, cellular automata, noise, Voronoi triangulation), generative grammars, evolutionary algorithms.

The interactive agent(s) component should demonstrate the use of one or more techniques for both agent behaviour AND navigation.

    For example, for behaviour: FSMs, BTs, utility, or planning.

    For example, for navigation: steering, velocity obstacles, waypoints, or nav meshes.

The generator and agent(s) may combine more than one technique and/or adapt a technique to the specific design of your tech demo.

It is not recommended that you include any form of machine learning in your tech demo, as this could significantly increase the development effort required.  However, speak to the     module organiser if you wish to apply ML methods.


Project Structure

The submitted Unity project must be compatible with Unity 2020.3. The Assets directory should contain:

   A single scene TechDemo.unity which runs without errors (warnings are acceptable).

   A directory Generator containing any C# scripts for your generator.

    A directory Agent containing any C# scripts for your agent.

    A directory ThirdParty containing ALL third-party libraries or assets.

   Any other non-script assets you create should be organised sensibly.

   A README file containing the project documentation.

   This MUST contain all details of third party libraries or assets you have used.

    Document how generator/agents work, with reference to relevant C# scripts.

    Include the URL for your video documentation.

Video documentation: this is a video hosted online (e.g. hosted privately or on YouTube) showing a screen recording of your project running.  It should be at least one minute in     length and show at least 3 example levels.

Submission

The Unity project should be submitted on QMPlus as a ZIP file, which contains:

1)   EITHER the Unity project itself, for projects which compress to 50MB or less.

Remove unnecessary assets (or avoid importing them at all) to keep your project size small.

2)  OR a text file containing a URL where the zipped Unity project may be downloaded. This allows projects that are larger than 50MB.  This MUST be accessible to the      module organiser for the remainder of the academic year projects which can not be downloaded will receive a non-submission grade (0).

Examples of method (2) are a file sharing service e.g. Dropbox or Google Drive, or a hosted repository on e.g. GitHub.

Assessment Criteria

The project should be run independently when downloaded – you are not giving a live demo.

Generator (45%)

●    Generator implementation ( 15%). Correct implementation of PCG methods, technical sophistication of the generator.

●    Generator design ( 15%). Appropriate selection and application of PCG methods, sophistication and originality in generator design.

●    Generator output (15%). Level quality and diversity.  What range of levels can be generated? How interesting is the design of these levels?

Interactive agent(s) (45%)

●   Agent implementation ( 15%). Correct implementation of behaviour and navigation methods, technical sophistication of the agent(s).

●   Agent design ( 15%). Appropriate selection and application of behaviour and navigation methods, sophistication and originality in agent design.

●   Agent output (15%).  What is the observable quality and diversity of agent behaviour and movement.  What variation is there?  Do agents interact in interesting ways with each other, their environment and/or the player?

Documentation (10%): appropriate documentation in a readme file and code comments.

The tech demo will be assessed purely on the design, implementation and documentation of the level generator and interactive agent(s). Aspects that will not be assessed include:

    Graphics and audio.

●    User interface.

    Design of the player controlled character beyond the minimum expectations (above).

●    Design elements not related to the generator and agent(s), e.g. narrative design.

●   Technical elements not related to the generator and agent(s), e.g. online multiplayer. However, you will not be penalised for work on unassessed elements, and they may            contribute to making this a good portfolio piece.

Assessment Expectations

Although we may take into account many factors in order to assess individual submissions   with respect to the above criteria, the following is a rough guide to what we expect to see at various levels of achievement.

Example of a satisfactory tech demo (50-60%)

●    Constructive level generator based on a single technique, e.g. BSP, that generates very simple dungeons with a few plain rooms.

    2 state FSM agent that moves around the dungeon with a simple steering behaviour.

    Simple design of components, no interaction between level, agent and player.

●    May be some deficiencies in implementation of generator and agent, although it is still a working demo.

A good tech demo (60-70%) should improve on the satisfactory criteria in two or more ways:

●   The generator is more sophisticated, e.g. a more complex space partitioning generator that outputs more varied and interesting dungeon layouts AND/OR combines two generative techniques.

●   The agent behaviour is more sophisticated, e.g. a more complex BT agent with       multiple behaviours AND/OR several distinct agent designs AND/OR that combines two behaviour techniques.

   The agent navigation is more sophisticated, e.g. a waypoint system.

●    Good overall design, with some interaction between level, agent and/or the player.

●    No deficiencies in the implementation of generator and agent.

An excellent tech demo (70-80%) should meet the good criteria and go beyond them in one or more ways:

●    Generator combines multiple PCG techniques AND/OR realises a challenging technical approach.

●   Agent(s) combine multiple behaviour and navigation techniques AND/OR realises a challenging technical approach.

    Excellent overall design, creating an engaging interactive experience.

Tech demos which meet most/all of the excellent criteria may be assessed as outstanding (80+%).