Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[W002138] - PROGRAMMAZIONE DI VIDEOGAME E DI SISTEMI DI REALTA' VIRTUALEPROGRAMMING OF VIDEOGAMES AND VIRTUAL REALITY SYSTEMS
RICCARDO ROSATI
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [IT14] INGEGNERIA DELL’INFORMAZIONE PER VIDEOGAME E REALTÀ VIRTUALE First Cycle Degree (3 years) - [IT14] INFORMATION ENGINEERING FOR VIDEOGAMES AND VIRTUAL REALITY
Dipartimento: [040040] Dipartimento Ingegneria dell'InformazioneDepartment: [040040] Dipartimento Ingegneria dell'Informazione
Anno di corsoDegree programme year : 2 - Secondo Semestre
Anno offertaAcademic year: 2023-2024
Anno regolamentoAnno regolamento: 2022-2023
Obbligatorio
Crediti: 9
Ore di lezioneTeaching hours: 72
TipologiaType: B - Caratterizzante
Settore disciplinareAcademic discipline: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

LINGUA INSEGNAMENTO LANGUAGE

Italiano

Italian


PREREQUISITI PREREQUISITES

Conoscenze informatiche acquisite nei corsi di Fondamenti di Informatica e di Programmazione ad Oggetti.

Knowledge from Fundamentals of Computer Science and Object-oriented Programming courses.


MODALITÀ DI SVOLGIMENTO DEL CORSO DEVELOPMENT OF THE COURSE

Lezioni frontali sugli argomenti in programma e relative esercitazioni.
Programmazione di videogame e di extended reality system svolte in classe.
Il corso sarà suddiviso in lezioni (48h) ed esercitazioni (24h).

Frontal lectures on the topics in the program and related exercises.
Programming of videogames and extended reality systems carried out in the classroom.
The course will be divided into lectures (48h) and exercises (24h).


RISULTATI DI APPRENDIMENTO ATTESI LEARNING OUTCOMES
Conoscenze e comprensione.

L’insegnamento permette agli studenti di acquisire le nozioni fondamentali e le conoscenze avanzate della programmazione di videogame e di sistemi di extended reality anche tramite l’utilizzo di framework allo stato dell’arte (es. Unity). Tali conoscenze, integrando le nozioni acquisite nel corso di Fondamenti di Informatica e di Programmazione ad oggetti, costituiranno degli approfondimenti che dovranno potenziare la comprensione della programmazione di videogiochi e di sistemi di realtà estesa.


Capacità di applicare conoscenze e comprensione.

Al termine del corso lo studente sarà in grado di progettare e realizzare un game single-player principalmente in 2D di ridotta complessità seppur sviluppando le principali parti quali gestione user input, esecuzione di AI, muovere oggetti / interagire con l’ambiente, risolvere le collisioni, gestire la grafica e riprodurre suoni.


Competenze trasversali.

L’esecuzione di un progetto, che verrà svolto in gruppi o in autonomia e che porterà alla stesura di una relazione, contribuirà a migliorare sia la capacità comunicativa che deriva anche dal lavoro in gruppo, sia la capacità di apprendimento e di problem solving in autonomia.


Knowledge and Understanding.

The teaching allows students to acquire the fundamental notions and advanced knowledge of video game programming and extended reality systems also through the use of state-of-the-art frameworks (eg Unity). This knowledge, integrating the notions acquired in the course of Fundamentals of Computer Science and Object-oriented Programming, will constitute in-depth studies that will have to enhance the understanding of video game programming and extended reality systems.


Capacity to apply Knowledge and Understanding.

At the end of the course the student will be able to design and build a single-player game mainly in 2D of reduced complexity, although developing the main parts such as user input management, AI execution, moving objects / interacting with the environment, solving collisions, manage graphics and play sounds.


Transversal Skills.

The execution of a project, which will be carried out in groups or independently and which will lead to the drafting of a report, will help to improve both the communication skills that also derive from teamwork, and the ability to learn and problem solving independently.



PROGRAMMA PROGRAM

I seguenti argomenti saranno trattati attraverso lezioni teoriche ed esercitazioni:
Introduzione alla programmazione di video-giochi e all’engine Unity
Design e l'architettura dei motori di gioco esistenti
Game Objects, Gerarchie, Components
C# scripting
Progettazione e implementazione dei componenti del motore di gioco
Gestione player (in/out), controllo della camera e collisioni
Sviluppo della “Meccanica” del gioco
Animazioni, sistemi particellari ed effetti sonori
UI
Introduzione allo sviluppo di applicazioni XR (AR, VR e MR) in Unity
Le esercitazioni saranno svolte per i vari argomenti attraverso esempi applicativi in linguaggio C#, svolte anche in gruppo

The following topics will be covered through theoretical lectures and exercises:
Introduction to video-game programming and the Unity engine
Design and architecture of existing game engines
Game Objects, Hierarchies, Components
C# scripting
Design and implementation of game engine components
Player management (in/out), camera control and collisions
Development of game "Mechanics"
Animations, particle systems and sound effects
UI
Introduction to the development of XR applications (AR, VR and MR) in Unity
Tutorials will be conducted for the various topics through application examples in C# language, also carried out in groups


MODALITÀ DI SVOLGIMENTO DELL'ESAME DEVELOPMENT OF THE EXAMINATION
Modalità di valutazione dell'apprendimento.

La valutazione del livello di apprendimento avviene sulla base della corrispondenza alle specifiche assegnate e la qualità del progetto sviluppato e delle risposte a due/tre domande su temi trattati nel corso effettuate nella prova orale.
Il livello di apprendimento viene valutato attraverso due prove, da sostenere nello stesso appello:
- una prova pratica, consistente nella progettazione ed implementazione di un videogame utilizzando il linguaggio C# ed Unity sulla base di una specifica assegnata dal docente; la prova è effettuata possibilmente in gruppi da due;
- una prova orale, consistente nella esposizione di argomenti trattati durante il corso oltre ai commenti relativi alle scelte implementative della prova pratica.
Per gli studenti con disabilità/invalidità o DSA, che abbiano fatto debita richiesta di supporto, le modalità di esame saranno adattate alla
luce di quanto previsto dalle linee guida di Ateneo (https://www.univpm.it/Entra/Accoglienza_diversamente_abili).


Criteri di valutazione dell'apprendimento.

Per superare con esito positivo la prova orale lo/la studente/ssa dovrà dimostrare di possedere una complessiva conoscenza dei contenuti dell’insegnamento, esposti in maniera sufficientemente corretta con utilizzo di adeguata terminologia tecnica.
La valutazione massima è attribuita a coloro che dimostrano ottima capacità di analisi e di implementazione nella prova di programmazione e che in quella orale dimostrano una conoscenza approfondita dei contenuti dell’insegnamento, rigore metodologico ed appropriatezza di vocabolario tecnico.


Criteri di misurazione dell'apprendimento.

Viene attribuito un voto in trentesimi, con eventuale lode, mediato tra prova pratica e prova orale.
Il voto minimo per il superamento dell’esame è 18/30.


Criteri di attribuzione del voto finale.

Affinché l'esito complessivo della valutazione sia positivo, deve essere conseguito un voto di almeno 18/30 sia nel progetto sia nella prova orale. Il voto complessivo è dato dalla media dei voti ottenuti nelle due prove.


Learning Evaluation Methods.

The assessment of the students' level of learning takes place on the basis of correspondence to the assigned specifications and the quality of the project developed and of the answers to two / three questions on topics covered in the course carried out in the oral exam.
The level of learning of students is assessed through two tests, to be taken in the same session:
- a practical test, consisting in the design and implementation of a videogame using the C # and Unity language on the basis of a specification assigned by the teacher; the test is carried out in groups of two;
- an oral test, consisting in the presentation of topics covered during the course as well as comments relating to the implementation choices of the practical test.
For students with disabilities/invalidities or DSA, who have made request for support, the examination will be adapted following the University guidelines (https://www.univpm.it/Entra/Accoglienza_diversamente_abili).


Learning Evaluation Criteria.

To pass the oral examination the student must show a comprehensive knowledge of the course contents, expounded in a sufficiently correct way by using an adequate technical terminology.
The highest rating is attributed to students who demonstrate excellent analytical and implementation skills in the programming test and who demonstrate in-depth knowledge of the teaching contents, methodological rigor and appropriateness of technical vocabulary in the oral one.


Learning Measurement Criteria.

A vote out of thirty is attributed, with possible honors, averaged between practical test and oral test.
The minimum grade for passing the exam is 18/30.


Final Mark Allocation Criteria.

To pass the exam, the student must obtain at least 18/30 both in the group project and in the oral examination. The final grade will be the average of the grades obtained in the project and in the oral examination.



TESTI CONSIGLIATI RECOMMENDED READING

Borromeo, N. A. (2022). Hands-On Unity 2022 Game Development: Learn to Use the Latest Unity 2022 Features to Create Your First Video Game in the Simplest Way Possible. Regno Unito: Packt Publishing. ISBN-10: 1803236914
Ferrone, H. (2022). Learning C# by Developing Games with Unity: Get to Grips with Coding in C# and Build Simple 3D Games in Unity 2022 from the Ground Up, 7th Edition. Regno Unito: Packt Publishing. ISBN-10: 1837636877
Materiale didattico disponibile sul sito https://learn.univpm.it

Borromeo, N. A. (2022). Hands-On Unity 2022 Game Development: Learn to Use the Latest Unity 2022 Features to Create Your First Video Game in the Simplest Way Possible. Regno Unito: Packt Publishing. ISBN-10: 1803236914
Ferrone, H. (2022). Learning C# by Developing Games with Unity: Get to Grips with Coding in C# and Build Simple 3D Games in Unity 2022 from the Ground Up, 7th Edition. Regno Unito: Packt Publishing. ISBN-10: 1837636877
Slide and other supporting material at https://learn.univpm.it/"


Scheda insegnamento erogato nell’A.A. 2023-2024
Le informazioni contenute nella presente scheda assumono carattere definitivo solo a partire dall'A.A. di effettiva erogazione dell'insegnamento.
Academic year 2023-2024

 


Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427