Recent Question/Assignment

SIT283: Development for Virtual Reality
Assessment 2
VR Development Challenge
Note that you do not need to complete previous assessment tasks before starting work on this challenge. You should start planning your solution from the first week of the unit, firming up your ideas and integrating components as we cover key concepts in each week of the unit. This will maximize your opportunities to get suggestions and feedback from the teaching staff prior to submission.
This challenge is an opportunity to integrate the various skills learned throughout the unit. You will develop a virtual reality experience based around one of the concept areas that will be provided to use. Your solution must incorporate the elements listed below in this document in order to meet all of the criteria for assessment. Your report should provide a clear description of the contributions you have made in your development. Well written and commented code must also be easily accessible within your project file using professional naming conventions.
This is a significant element that should be incorporated into your professional portfolio. The material may also be demonstrated and shared with your peers and industry representatives at showcase sessions at the end of trimester.
Submission Details
Due Date
End of week 10.
Format of submission
Each submission should contain:
• A document formatted according to the template provided below.
• The project file (a zip archive containing all of the resources, scripts and other assets required to build, deploy and test your solution).
• Any further material specified explicitly in the task description.
Submission method
Submit materials to the appropriate unit site assignment dropbox.
Working arrangements
Individual submissions. Discussions with peers and teaching are encouraged but solutions must be individually developed. Solutions should acknowledge all sources of assistance, and formally cite and reference any external materials used.
Task description
Select one of the concepts provided in the concept document and build a virtual reality application corresponding to one of the contexts listed. Alternative contexts for one of the concepts listed can be undertaken with written approval of the unit chair.
Your application must make use of a head mounted display and associated controllers. This equipment is available in the VR laboratory. You will need to schedule access to this equipment with the teaching staff, allowing adequate time to deal with scheduling and equipment issues.
Your solution needs to incorporate a minimum set of functionality as per the list below in order to demonstrate achievement of the learning outcomes for this unit. Skills developed in the other VR and AR units can be incorporated to further improve the quality of the resulting product and increase the likelihood that your skills will be valued by our external partners and stakeholders. We would like the resulting application to be one that you would proudly include on your portfolio.
Discuss your plans with the teaching staff, particularly if you need any clarification on whether a feature you have planned meets the required level of functionality. You should post a description of your plans to the unit discussion board by week 5 so that formative feedback can be provided.
This task is intended to allow you to practice your development skills in creating VR applications. You would need to enhance existing third party components or built-in facilities to provide additional functionality if you wish to claim those elements towards satisfying requirements. You may freely use (subject to valid licensing and acknowledging sources) such components, or third party art assets, to support your applications in ways that you do not designate for assessment purposes. All material that you do not create yourself (including third party scripts, built-in scripts, material developed from tutorials, answers from support sites, help received from any source including teachers) must be clearly identified and referenced.
Required functionality:
Your virtual reality application must include each of the following elements.
1. Scripts that provide various form of control:
a. Some form of movement involving change of position of one or more objects (which can include the viewer). Simple forms of this include movement along one of the principle axes. More sophisticated movement would follow a curve, or respond dynamically to other factors (e.g. cross winds and wind resistance)
b. Some form of direction (attitude) control allowing objects to be rotated. Simple forms of this include rotations around a single axis. More sophisticated use involves rotation to track a particular object or person.
2. The application should support a task that involves a sequence of steps that have to be undertaken by the users. The goal of this requirement is to demonstrate management of state,
and transitions between different states; specifically the application of the state machine pattern.
3. The application should support a tool that allows the user to interact with the environment in some way. An appropriate representation is needed for the tool, and to shows its effects. Control of the tool will involve managing input from an appropriate controller. An example would be a magic wand for teleporting to a particular location, but would ideally be a mechanism unique to the context for which the application is developed.
4. Visual, auditory and other sensory cues need to be provided to increase the value of using a virtual reality solution towards solving these task. This requirement evaluates the mechanisms required to use such media resources.
5. Key parameters of the application must be assessable via a user interface provided to the user while in the virtual environment. There needs to be at least one parameter (such as difficulty level, or speed of interaction) that the user can manipulate and which will have an effect on some clearly identifiable property of the virtual world.
6. Some part of the virtual environment needs to include an autonomous simulation. This may be moving blood cells through a circulatory system in a medical simulation, or having a bath filling with water while showing off real estate. This simulation need not be affected by user behavior, but interaction can be included to achieve a high quality solution.
7. The application needs to include a start screen, with title and author details, a brief overview of the purpose and the controls or controller configuration to be used. The application must have an option to exit back to this start screen and reset the experience.
Report template:
Prepare a report describing your solution to the task, particularly with respect to the VR/AR development aspects of the process. Your report should contain the following sections, corresponding to the assessment criteria in the rubric:
1. Introduction
• Name of the concept that you have chosen.
• Describe the context of that concept that you have chosen.
• List the key requirements of the concept and briefly describe how you have achieved these requirements in the virtual reality experience you have created.
• Justify why your application should be considered to be a virtual reality experience.
2. Required functionality:
• Include a numbered and labelled subsections for each of the key challenges required. In each subsection:
o Explain what you intend or have done to satisfy that particular requirement (1 paragraph).
o Describe research conducted into ways of solving the challenge. References are important. Finding specific code fragments represents very limited research ability.
Finding and reporting programming patterns or adapting and applying abstract concepts to produce professional quality results represents valuable research.
o Present your design and solution. Describe your choice of patterns to solve the problem. Show the relevant portion of well written and commented code. Support each excerpt with brief discussion of the significance of this script fragment as to why it represents a valuable demonstration of your programming abilities.
o Show how well this functionality works. Provide screenshots clearly showing the effect.
Mention any testing conducted to make sure the functionality is robust.
3. Operational instructions.
• Describe how to install and run your code. You may assume that the software and equipment available in the laboratory will be used for testing, but be specific on any software version requirements, or particular configuration of any hardware that needs to be connected. Make sure your solution runs correctly when loaded (defaults to the correct scene, for example).
• Give instructions on how to test each of the facilities required. This includes any sequence of keys, gestures or controller operations required to invoke them.
Marking Rubric
Criteria ULO GLO Inadequate
0 points Minimal
1 point Adequate
3 points Good
4 points Excellent
5 points
Challenges identified and solutions proposed. 2 4,5 No submission, no
requirements/challenges identified, or no algorithm/data structures presented as a design pattern. Information related to this
criteria scattered throughout document, or has to be inferred from material presented. Not clear how solution qualifies as a virtual reality application. Concept described and the required elements are identified and discussed in a
clearly identified section. Solutions are achieved by adapting the challenge to reuse existing VR solutions directly with limited modification or innovation. The context is interpreted through an explicit design identifying key features and challenges. Insights based on unit content and external research are correctly interpreted and adapted to these challenges. Evidence of
ability to design solutions incorporating an
understanding of
development for a VR environment. Most of the significant challenges in developing the solution are explicitly identified. Plausible strategies for addressing these using techniques covered in the unit are described.

Research into solutions to support VR/AR component development 2 3 No submission, mechanical reporting of externally sourced material, material provided out of context. Reporting issues encountered with no attempt to resolve. Issues are explicitly identified but no strategies are reported to deal with them. Material taken from external resources, or unit content, is applied in an inappropriate or ineffective manner. Problems encountered are discussed in relation to similar problems encountered
by others. It is clear that appropriate information has been found, even if this has not been applied to the solution. External material, such as web sources, discussions, or books, is evaluated, and referenced appropriately. Insights from these sources
show evidence
of
interpretation and adaptation to the problem context. The research has contributed to achieving project outcomes. Evidence of identifying reputable sources of information and correctly extracting relevant points. Processes adapted to the problem context. Sources can include online support sites. Solutions should be rephrased in terms of the student's own solution, and should avoid using outdated or incorrect information.
Explicit evaluation of alternative strategies 2, 3 1,4,5
No submission. Invalid or inconsistent arguments presented. No evidence that the student understands the approach used, its limitations or how this impacts on the resulting experience. Some implicit consideration could be inferred from the description provided. Limited evidence of
critical thinking. Pros and cons of alternative approaches are mentioned when
presenting the description of the process. Decisions are made and applied. Pros and cons are explicitly mentioned, and choice of strategy is justified. Solution provided shows use of these ideas, by adapting them to the needs of the development project (i.e. integrated or modified). Critical thinking and problem
solving demonstrated through reasoned consideration of alternatives.
Quality of implementation: Control of
movement 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student. Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic
enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and
able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and commenting
practice is followed. third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation, and component integration. adapting these techniques to the problem context.
Quality of implementation:
sequence of states 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and commenting practice is followed. Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation,
and component integration. Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and adapting these techniques to the problem context.
Quality of implementation:
tool use 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic
enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and
commenting
practice is followed. Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation,
and component integration. Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and adapting these techniques to the problem context.
Quality of implementation: media resources 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with third party material constituting only small portions of the complete
system, and this contribution Effective
solution implemented, using clean
and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and adapting these techniques to the problem context.
identified, and is adapted to the problem context. Good naming and commenting
practice is followed. clearly marked and justified.
Good software development practices, including code presentation,
and component integration.
Quality of implementation: user interface setting parameter with effect on VR experience 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and commenting
practice is followed. Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation, and component integration. Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and adapting these techniques to the problem context.
Quality of implementation:
autonomous simulation 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts
showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and
commenting
practice is followed. the student's own work with third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation,
and component integration. covered in the unit, and adapting these techniques to the problem context.
Quality of implementation:
start screen with instructions 1,2,3 1 No submission, non-functional solution or implementation does not correspond with reported design. Material taken directly from external source with no original contribution by the student Reuse of existing materials (external with referencing, or internal unit materials) with minor cosmetic enhancements that are clearly labelled. Relevant code fragments, authored by the student, are presented that are described in an accurate fashion, and that demonstrate coding practices showing that the student is able to reuse and adapt solutions achieved from elsewhere. Any material presented from other sources is clearly identified, and is adapted to the problem context. Good naming and commenting practice is followed. Software adapts existing solutions to the problem context, or develops new solutions through relevant algorithmic reasoning. Software presented is the student's own work with third party material constituting only small portions of the complete
system, and this contribution clearly marked and justified.
Good software development practices, including code presentation, and component integration. Effective
solution implemented, using clean and well documented code, which efficiently uses the available facilities.
Evidence of application of concepts covered in the unit, and adapting these techniques to the problem context.
Quality of evaluation 1,2 1,4,5
No submission, no attempt to validate solution reported. Only screenshots of final VR experience. Does not justify product as a virtual reality system. Several test cases are shown, corresponding
to the individual features of the project. Results achieved are interpreted to ensure that they are showing correct functioning of the application. Individual
components are tested and these tests are presented. Tests also consider integration of components. Evidence of user testing. Requirements of problem task are systematically validated. The
application is shown to work, meet its goals, and to provide a usable experience.

Looking for answers ?