代写 C++ data structure algorithm game UML software SIT255 – Assignment #3

SIT255 – Assignment #3
Learning Portfolio:

Due Date
Your assignment submission deadline is 5:00 PM AEST, Friday 4th October 2019. You must upload your submission to the appropriate drop-box on CloudDeakin no later than this deadline. Penalties apply to late submissions. See the section below on Assignment Marking for more information regarding late submissions. Extensions to this deadline will only be granted where documented evidence of hardship or serious illness is provided, in accordance with Faculty guidelines. Extension requests must be made using the appropriate form (available for download from http://www.deakin.edu.au/sebe/students) and submitted via email to the Unit Chair no later than 12:00 noon on Friday 4th October 2019. You MUST also forward all work completed for this task up to that time. Except in the most extreme cases, failure to demonstrate any progress toward the assessment goals when requesting an extension will result in your request being denied.
Grading
This assessment task contributes 40% to your final unit mark.
Introduction
This task requires students to produce and curate a set of artefacts that evidence and demonstrate their learning of prescribed topics relevant to the development of commercial computer games. The portfolio will be developed over the course of the unit, evidencing learning across a range of topics and problem contexts. The portfolio is an individual learning task.
To do this you will apply object-oriented design methodologies presented in classes and learning resources, writing C++ code, creating game artefacts, and reports to demonstrate the ability to create a software product that implements entities and entity management, in the context of an agent-based computer game, using an industry game engine.
By completing this assignment satisfactorily, you will have demonstrated competency to at least minimum standards for the following unit learning outcomes:
[ULO1] Apply knowledge of advanced programming language features, software patterns and game architectures to create complex game software systems
[ULO2] Employ standard algorithms and data structures to design software solutions to game development problems
[ULO3] Analyse, modify and extend complex computer code to meet functional and user requirements
Please read the remainder of this document thoroughly and ensure that you understand it completely. In particular, pay attention to due dates. Extensions will not be granted simply because you didn’t allocate enough time to this task, start it early enough or pay attention to the submission deadline. If you are unsure about any element of this assessment task, contact the teaching team.
Assignment Tasks
This assignment submission will comprise of multiple artefacts for each of the weekly topic that are covered. These can include: reports, UML diagrams, code, and Unreal projects. Each week, suggestions for the artefacts will be posted on the discussion forum, related to the topic covered by the week. These are suggestions only. It is up to you to demonstrate your learning of the weekly topics by creating the appropriate artefact for such topic.
UML diagrams:
UML diagrams must be digitally produced, using software such as https://www.draw.io/. Hand-drawn and scanned diagrams are not accepted. Diagrams must adhere to the appropriate industry standards for the types required (such as entity-relationship diagram, state transition diagram).
Report:
Your report should accurately document the design of your software artefacts in the portfolio and clearly identify the classes that represent entities and entity management, as well as service classes, functions and data structures that manage or enable behaviour and relationships between entities (e.g., messaging systems, visualisation, user input, physics simulation, etc.). You are expected to use industry standard techniques to communicate your design decision relevant to the artefact. Your report must include the Assignment Cover Sheet as its first page. This can be downloaded from the Assessment menu tab on the page: www.deakin.edu.au/sebe/students (the file “Assignment attachment (electronic submission)”). Your report must be presented professionally: i.e., no hand-drawn diagrams or charts. It should be neatly formatted and use sections with headings as appropriate. You should use appropriate font choices to ensure readability and professional style. Your report should not contain spelling or grammatical errors and should use professional language, rather than casual or conversational language styles. For assistance with report writing, please visit the following page: www.deakin.edu.au/students/study-support.
Code and Unreal Projects
Your code for the portfolio must be robust. That is, it must demonstrate handling of reasonable errors that might arise during program execution (e.g., missing files, files with missing data, memory request failures, container/array index errors, etc.).

Your code must be extensible. That is, the patterns you have implemented for the weekly topic should permit you to create and manage any number of new entity types, and to easily add additional features to your game. You should minimise coupling and dependencies between classes, where possible (i.e., favour composition over inheritance)

Your code must be maintainable. That is, it should be well documented, clearly laid out and apply modularisation appropriately (including the use of separate files for class definition and implementation, and the use of filters to organise related classes). Data types, functions and methods should have meaningful names and you should apply a consistent coding style throughout your program.

Rubric
The rubric outlined at the end of this assessment specification is applied on per artefact basis. You will receive 10 marks maximum per artefact with a total of 100 marks. The rubric contains multiple aspects, covering a range of artefacts, including reports, diagrams, code, and Unreal projects. Therefore, based on the types of artefacts submitted, the rubric will be flexibly applied, based on the condition that you will get maximum 10 marks per artefact.

Note
It is important that the artefacts included in the portfolio MUST NOT be the same as these submitted in Assignment 1 (group) and Assignment 2 (individual). You are recommended to apply the suggestions of the weekly topic to the same game concept as assignment 1 and 2. However, if your artefact is used by your group in assignment 1 or chosen to be included in assignment 2, these will not be accepted as part of your portfolio. In which case, you are expected to use a different game concept to illustrate the weekly topic as portfolio artefacts, or create an alternate version of the artefact for the same game concept.

The reasonings behind this are twofold: 1) You are given separate marks for each assignment (30% for group assignment 1, 30% for individual assignment 2, and 40% for portfolio); therefore, it is unreasonable to expect that you get marked twice for the same artefact. 2) You will get more learning opportunities by applying the game patterns learnt on multiple game concepts.
Submission Components
You will submit a single zip file for the portfolio. The portfolio should be organised based on the weekly topics. For each artefact, your report as a PDF document and any UE projects including all code files (.cpp and .h), as well as any additional files required to compile and execute your demo application (including data files, resources files, etc.). If you use the work of others (including code, algorithms, designs, images, ideas, etc.) you MUST cite this usage directly within your code at the point of use. You will NOT be marked on code obtained from external sources (but you can receive marks for your own implementation of algorithms or designs you find elsewhere). Failure to appropriately cite your sources and references will be considered plagiarism and will be dealt with as academic misconduct.
When submitting your Unreal Engine project, you MUST archive your UE project into a ZIP file including a packaged solution for running on Windows (note here). Note that other compression formats, such as RAR, or 7z, are NOT acceptable, as they cannot be extracted using Deakin’s desktop software image. If we cannot extract it, we cannot mark it. Archives that contain executable files (.exe) or are overly large will not upload correctly to CloudDeakin. It is YOUR responsibility to ensure your submission uploads correctly by the due date and meets all submission requirements.
Your final submission should be your ZIP archive, which should include both your Visual Studio project AND your report document. This archive should be suitably named to include your surname (family name) and student ID. It is suggested that you use the following naming format:
SIT255-Portfolio-ID-Surname.zip
You must submit this archive to the Assignment 1 DropBox on the SIT255 CloudDeakin site no later than the deadline given at the top of this document.
IMPORTANT: A 10% penalty will be applied to any submission that does not meet ALL of the above submission requirements.
Resources
Class notes, recordings and practical activities will likely be of use in completing this assignment. However, alone they will not likely be sufficient to enable you to develop sufficient understanding of the architectural patterns required to be demonstrated in this assignment, nor how to implement these in C++. As such, you should make use of the following resources, as well as carrying out independent study (including finding relevant resources) appropriate to your needs. The suggested starting points for this study are:
Game Programming Patterns by Robert Nystrom (gameprogrammingpatterns.com)
Artificial Intelligence for Games, by Millington and Funge (eBook available from Library)
Design Patterns: elements of reusable object-oriented software, by Gamma, Helm, Johnson, & Vlissides (the “Gang of Four”)
Effective C++, by Scott Myers
More Effective C++, by Scott Myers
Effective Modern C++, by Scott Myers (eBook available from Library)

For those looking for a good reference text on C++, I recommend C++ Primer Plus, by Prata. You will also certainly find useful resources listed in this StackOverflow thread: http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
Assignment Marking
This assignment is marked out of 100 points and contributes 40% toward your unit grade. 60 points are assigned to the artefacts and 40 points to the assessment of the report as well as number of artefacts. Each component of the submission will be marked with regards to the requirements stated previously and in accordance with the assessment rubric given below. The level of achievement against the criteria given in this rubric will be used to assign a proportionate number of points available for each component.
Getting Help
Students are expected to complete their submission individually and all submitted work must be the work of the respective student. However, students are encouraged to work together to discuss the assignment tasks and to help each other to develop understanding of the provided code and possible solutions to the given problems.
Additionally, students should seek guidance and advice from their respective practical demonstrator (for on-campus students) or through the CloudDeakin discussion forums (for all students). Weekly Bb Collaborate sessions are also available for discussing the assignment with your peers and the Unit Chair. DO NOT expect the teaching team to tell you how to solve a given problem. It is up to you to do the relevant learning that underpins this assignment and to formulate your solutions given your knowledge.
Deakin University provides support services for students that may assist you to undertake and succeed in this assessment task. If you require support beyond that provided by classes and seminars, please review http://www.deakin.edu.au/students/study-support for further information about these services.

Assessment Rubric

Criteria
Level 1
0-25%
Level 2
25-50%
Level 3
50-75%
Level 4
75-100%
Points Awarded per artefact
Functional Requirements
Application Features
No required features are supported, or those supported are extremely limited in functionality, or do not contribute to a demonstration of framework capabilities
Supported features are limited in functionality and relevance to agent-based games
Supported features meet most functional requirements and demonstrate the capabilities provided by the underlying software framework
Supported features meet all requirements and their implementation is cohesive, supporting an agent-based gameplay experience
/1

Software Application
The software application contains significant runtime errors, or does not execute to produce an appropriate game application
The software application executes with minimal runtime errors, but does not adequately demonstrate functional requirements of the user experience
The software application runs with no apparent runtime errors and demonstrates minimum functional requirements of the user experience
The software application contains no discernible errors and demonstrates all function requirements of the user experience in an efficient manner
/1
Software Framework
Data Structure Design and Implementation
Data structure design and usage does not meet the requirements for agent-based games.
Data structure design is appropriate to the application however it is either overly complex or too simplistic to facilitate agent-based games.
Data structure design and usage is appropriate to the application and facilitates implementation of agent-based games.
The data structure design and usage represents best practice and facilitates implementation of robust, complex agent-based games.
/1

Software Architecture
The demonstrated framework contains significant gaps or omissions, or is overly simplistic and does not adequately support agent-based games.
The demonstrated framework is inefficient or overly convoluted, however it does support some features of agent-based games.
The demonstrated framework contains elements that combine to support an agent-based game
The demonstrated framework conveys a thorough understanding of the interplay of specific design patterns to create agent-based games
/1

Code Design
Code is not robust, extensible or maintainable
Some attempt has been made to create robust, extensible and maintainable code, however there are significant gaps or omissions.
Code is robust to common errors, is documented and permits extension, although some
Code design applies best practice to handling errors, extensibility and maintainability.
/1

Coding Style
Code layout is poor and documentation is omitted or limited. Readability and understanding is severely hindered.
Code layout and style affects readability and maintainability. Documentation and comments do not adequately support an understanding of the code by the reader.
Code layout and style is neat and appropriate for the given program complexity. Documentation and comments are adequate.
Code layout and style, including documentation, reflects best practice and meets professional standards.
/1
Design Report
Framework Design
Design diagrams are missing or omitted for the supported features
Design diagrams are provided for supported features, but designs are limited in scope and depth and do not demonstrate a clear understanding of the feature requirements
Appropriate design diagrams are presented and they convey an understanding of architectural patterns and requirements.
All appropriate design diagrams are presented and they convey a thorough and clear understanding of the architectural patterns and feature requirements of the framework.
/2

Feature Discussion
Report omits discussion of most content elements required, or contains very limited or relevant information and analysis
Report represents all required elements, but is limited in its scope and depth of discussion of the relevant features
Report contains all required elements and demonstrates understanding of the software features presented. Limited or no understanding of implications of design choices is shown
Report demonstrates a clear understanding of the software features presented, as well as implications of design choices
/1

Format and Presentation (Including diagrams)
Report is well below professional standards for formatting and presentation
Report is below accepted professional standards
Report meets accepted professional standards
Report exceeds accepted professional standards
/1

Overall Assignment Score

Level 1
0-25 marks

Level 2
25-49 marks

Level 3
50-74 or more

Level 4
74 – 100 marks

 
Well below minimum standards
Below minimum standards
Meets minimum standards
Exceed minimum standards
/10 per artefact