C9747 - LABORATORIO XR E GAMING

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 6698)

Learning outcomes

Upon completion of the course, students will understand the fundamental principles of engine-based real-time game development, with particular emphasis on the use of Unity for designing and implementing game prototypes. Students will acquire the skills necessary to develop game mechanics within a commercial engine, understanding how Unity's game loop works, managing props, input, and physical interactions, as well as integrating generative AI systems into gameplay and the development process.

Course contents

Prerequisites

Students are expected to have good programming skills, preferably in object-oriented programming, and basic knowledge of linear algebra, particularly vectors, matrices, coordinate systems and geometric transformations. Basic familiarity with version control is useful. Previous experience with XR devices or game engines is not required.

Programme

1. Introduction to XR and gaming
Virtual, augmented and mixed reality; the reality-virtuality continuum; entertainment, educational, cultural, industrial and social applications; structure of a real-time development pipeline.

2. Foundations of real-time three-dimensional environments
Scene graphs, objects and components, coordinate systems, transformations, cameras, materials, lighting, animation, spatial audio and physics simulation.

3. Game design and prototyping
Goals and rules, core loops, mechanics and dynamics, feedback, game feel, progression, difficulty, level design, serious games and iterative prototyping.

4. XR architectures and devices
Immersive and see-through displays, three- and six-degree-of-freedom tracking, controllers, hand tracking, passthrough, sensors, XR runtimes and the OpenXR standard.

5. Three-dimensional interaction
Direct and remote selection and manipulation; locomotion and teleportation; diegetic and spatial user interfaces; multimodal input; visual, audio and haptic feedback.

6. Perception, presence and human factors
Visual and auditory perception, immersion, presence, embodiment, latency, cybersickness, ergonomics, session duration, accessibility and inclusive design.

7. Gameplay programming and project engineering
State management, events, saving, physics, animation, behaviour systems, code architecture, version control, asset pipelines, builds and deployment. Introduction to avatars and multi-user experiences.

8. Performance and quality
Frame timing, latency, CPU/GPU profiling, resource management, levels of detail, testing across devices, robustness and reproducibility.

9. Evaluation and responsible development
Playtesting, usability evaluation, data and metrics, design of small user studies, privacy of tracking data, licensing of digital assets, inclusion and ethical implications.

10. Laboratory project
Conception, design, implementation, testing and demonstration of an XR prototype featuring meaningful gameplay or interaction.

Laboratory activities cover scene and XR pipeline setup, input and tracking, locomotion, selection and manipulation, gameplay, Git-based project management, profiling, playtesting and technical documentation. Group work develops transversal skills in planning, communication, collaboration, peer review and presentation.

Readings/Bibliography

Materials required for examination preparation

  • Materials published on Virtuale: slides, laboratory sheets, code examples, project specification and assessment rubrics marked “Obbligatorio / Required”. Access requires institutional credentials; the required list is consolidated at the start of the course and remains available to non-attending students.
  • Steven M. LaValle, Virtual Reality, Cambridge University Press, 2023: Chapter 2; Sections 3.2-3.5, 6.1-6.4, 7.3-7.4, 8.2-8.4 and 9.2-9.5; Chapter 10; Sections 12.2-12.4.
  • Jesse Schell, The Art of Game Design: A Book of Lenses, third edition, A K Peters/CRC Press, 2020: Chapters 2, 4-5, 8-10, 13-16, 22-23 and 28-29.
  • Khronos Group, OpenXR 1.1 Specification: Sections 1, 2.5, 2.18, 7 and 9-11.
  • Official documentation for the Unity LTS version adopted in the course: GameObjects and components, Transform, physics, animation, Profiler, XR Plug-in Management, OpenXR Plugin and XR Interaction Toolkit. Virtuale identifies the required links and pages for the version in use.

    Recommended and further readings

  • Jason Jerald, The VR Book: Human-Centered Design for Virtual Reality, ACM Books, 2015.
  • Dieter Schmalstieg and Tobias Höllerer, Augmented Reality: Principles and Practice, Addison-Wesley, 2016.
  • Research papers and technical guidelines published in a separate optional section on Virtuale, unless explicitly marked as required.

Attending and non-attending students follow the same required materials, programme and assessment methods. Classroom activities do not replace materials marked as required on Virtuale.

Teaching methods

The course is delivered in person and combines short lectures on theoretical foundations, demonstrations, live coding, guided computer-laboratory sessions, case studies, game-design activities, individual and group work, playtesting, peer review and collective prototype reviews. Virtuale is used for materials, announcements, submissions and feedback and does not replace in-person practical activities.

A substantial part of the course follows a project-based learning approach. The project may be developed individually or in groups of two or three students. Intermediate submissions and review sessions are exclusively formative and do not contribute to the final grade.

Attendance is strongly recommended, particularly for activities involving XR equipment and playtesting. Non-attending students must arrange access to the necessary tools sufficiently in advance and agree on their project according to the instructions published on Virtuale.

Safety. Given the type of activities and teaching methods adopted, attendance requires all students to have previously completed University safety training modules 1 and 2 in e-learning mode.

The level and type of risk associated with the activities will be checked with the Local or Central Safety Officer; any additional requirements will be published on Virtuale before laboratory work begins. Headset-based activities include regular breaks, equipment hygiene, checks of the movement area and immediate interruption whenever fatigue or discomfort occurs.

Where compatible with the learning outcomes, desktop modes, demonstration videos, paired observation or alternative procedures will be provided for activities that cannot be completed using a headset. Individual adaptations are defined in cooperation with the relevant University service.

Assessment methods

The examination is graded on a thirty-point scale and consists of the development, demonstration and discussion of a laboratory project. The project may be completed individually or in groups of two or three students, subject to group registration and project approval on Virtuale.

The project must integrate at least one XR interaction technique and a gameplay, simulation or interaction structure consistent with the stated objectives. Required deliverables are:

  • an executable prototype;
  • the source-code repository, including contribution history;
  • a README containing requirements and build, installation and execution instructions;
  • a short technical report describing objectives, architecture, design choices and limitations;
  • evidence of testing, profiling, playtesting and usability, comfort and accessibility evaluation;
  • a list of third-party assets and their licences;
  • a declaration of any generative AI tools used, including purpose and affected parts.

The examination sequence is: preliminary check of the completeness of submitted materials; prototype demonstration; individual discussion of course topics, design decisions, code, test results and personal contribution. The individual discussion is mandatory for every group member.

Registration and submission. Individual registration is mandatory writing an email to the instructor. All materials must be submitted at least seven days before the examination date, using the structure and formats defined in the project specification.

Components, weights and alignment with learning outcomes

Component

Weight

Assessed outcomes and main criteria

Prototype

60%

XR and gameplay design and implementation; interaction techniques; correctness, robustness, architecture, performance, comfort, accessibility and overall experience quality.

Documentation and evaluation

15%

Testing and playtesting; critical analysis; reproducibility; clarity; management of assets, licences and the AI-use declaration.

Individual discussion

25%

Understanding of theoretical principles; ability to explain the code, justify decisions, connect theory and practice, identify limitations and propose improvements; personal contribution.

The three component scores are weighted as shown and converted to a mark out of thirty. To pass, students must obtain at least 18/30 and a passing standard both in the project, including prototype and documentation, and in the individual discussion. An insufficient individual discussion cannot be offset by group work. Group members may receive different grades based on documented contribution and individual performance.

Grade descriptors

Grade

Descriptor

18-21

Essential or partially complete prototype; basic knowledge; mainly guided analysis; sufficient documentation.

22-25

Correct and reasonably robust solution; good understanding; generally appropriate design choices; adequate testing and documentation.

26-28

Complete and well-structured project; good interaction and gameplay quality; independent evaluation; clear and informed argumentation.

29-30

Technically solid, polished and original solution; in-depth critical analysis; excellent documentation; full command of the subject.

30 with honours

Outstanding technical and design results, significant originality, rigorous evaluation and excellent ability to connect methods, literature and experimental evidence.

Tools permitted during the examination. The prototype, repository, report and brief slides may be used during the demonstration. During the individual discussion, project materials may be consulted only at the instructor’s request. Web searches, communication with third parties, external assistance and generative AI tools are not permitted. Calculators and dictionaries are not required.

Formative intermediate checks may be associated with the milestones published on Virtuale. They provide feedback and do not contribute to the final grade. Attending and non-attending students follow the same programme, required materials and assessment methods.

Use of generative artificial intelligence

For assessment purposes, limited, declared and non-substantial use of AI is permitted for support activities such as summaries and reformulation. Substantial use to complete parts of the assessment is not permitted. For the project, brainstorming, clarification, identification of test cases, debugging suggestions and small supporting snippets are also allowed, provided they are critically checked and documented. AI may not be used to generate substantial portions of the application, report or main project assets.

All use must be documented, identifying the tool, purpose and affected parts. Students remain responsible for the correctness, security, originality and licensing compliance of all submitted materials and must be able to explain independently all code and content presented.

Students with disabilities or specific learning disorders

Students with temporary or permanent disabilities or specific learning disorders are advised to contact the relevant University office [https://site.unibo.it/studenti-con-disabilita-e-dsa/en] well in advance. The office will propose any appropriate adaptations; these must be submitted to the instructor for approval at least 15 days before the examination. The instructor will assess their suitability in relation to the learning outcomes of the course.

Teaching tools

  • Virtuale for materials, announcements, submissions, feedback and access to the consolidated required-reading list;
  • Unity LTS as the reference real-time engine, with XR Plug-in Management, OpenXR Plugin and XR Interaction Toolkit; equivalent alternative engines may be authorised when the project proposal is approved;
  • Git repositories and version-control tools;
  • tools for creating, importing and managing three-dimensional assets, audio and interfaces;
  • profilers, debuggers and performance-analysis tools;
  • workstations, OpenXR-compatible headsets and controllers, subject to availability and the booking procedures published on Virtuale.

Software versions, required configurations, installation procedures and equipment-access instructions will be published on Virtuale before laboratory activities begin. Text materials and slides will, where possible, be provided in accessible digital formats; recordings or demonstrations will be accompanied by transcripts, captions or equivalent materials when available. For headset-based activities, desktop alternatives, demonstration videos or assisted observation will be provided where compatible with the learning outcomes.

Office hours

See the website of Gustavo Marfia