CODE 72317 ACADEMIC YEAR 2023/2024 CREDITS 10 cfu anno 1 INGEGNERIA ELETTRONICA 8732 (LM-29) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01 LANGUAGE Italian (English on demand) TEACHING LOCATION GENOVA SEMESTER Annual TEACHING MATERIALS AULAWEB OVERVIEW Modeling and simulation are fundamental tools for design, training and learning in general. Video games are a particular type of simulation, where additional rules and strategies can be introduced to improve performance in the above-mentioned application areas. In addition, video games require great computing performance, normally achieved through the joint use of optimized hardware / processor architectures and high-level software development tools. The teaching therefore addresses the development of simulations through state-of-the-art 2D and 3D game development platforms AIMS AND CONTENT LEARNING OUTCOMES The aim of the course is to provide the basis for the design and development of software simulation. The student is introduced to different concepts of computer graphics (rendering, collision detection, illumination models, etc.) and event-based programming (game loop, co-routines, etc.) and he is supported through extensive exercises during lectures. The course aims to train a professional figure capable of designing and implementing complex software simulation using video game technologies. AIMS AND LEARNING OUTCOMES The aim of the course is to provide the basis for the design and development of software simulation. The student is introduced to different concepts of computer graphics (rendering, collision detection, illumination models, etc.) and event-based programming (game loop, co-routines, etc.) and he is supported through extensive exercises during lectures. The course aims to train a professional figure capable of designing and implementing complex software simulation using video game technologies. PREREQUISITES The student should have good programming knowledge. TEACHING METHODS The course is composed of a set of frontal lessons and a set of practice sessions. During the frontal lesson, the teacher presents the topics providing also examples of live code that are tested on a real game engine (e.g. Unity 3D). Students can use their own laptops during the lecture in order to reproduce what is proposed by the teacher. During the practice sessions, the students have to face up with real problems that they should solve by applying the techniques learnied during the lectures. SYLLABUS/CONTENT The course is divided into two parts: the first deals mainly with 2D graphics using graphics engines of reduced computational load (for example, they can also be used on microcontrollers). The second part of the course deals with the design of simulations and 3D games mainly using the Unity3D platform, along with advanced I/O devices such as Azure Kinect, Hololens 2, sensors and actuators in general The various examples developed in class address among others: • Installation and configuration of tools and development environments (visual studio, monogame and components) • Classes, constructors, initializations, updates from asynchronous events, arrays of elements • Lists of objects, sound effects, collision management, examples • Sprite, graphic screens • Level / switch case management • Game logic • Management of movements and controls • Tracking algorithms • The Xamarin platform and Visual studio • Management of sensor data • Unity environment, main functions, views, packages • Creation, use and removal of objects • Spawn manager • Sound and effects • Game play mechanics • User interface • Project optimization and improvement • Export / import project • Data persistence • Visual scripting • Visual scripting application RECOMMENDED READING/BIBLIOGRAPHY Lecture notes (from AulaWeb) Books (as references): B. Tristem, M. Geig. Unity Game Development in 24 Hours. Sams Teach Yourself J. Hocking. Unity in Action: Multiplatform Game Development in C# with Unity 5. Manning J. Gregory. Game Engine Architecture CRC Press, 3rd ed. TEACHERS AND EXAM BOARD MARCO RAGGIO Ricevimento: Reception: appointment, agreed by email or telephone ALI DABBOUS Exam Board ALI DABBOUS (President) MARCO RAGGIO (President) LESSONS LESSONS START https://corsi.unige.it/8732/p/studenti-orario Class schedule L'orario di tutti gli insegnamenti è consultabile all'indirizzo EasyAcademy. EXAMS EXAM DESCRIPTION Exam consists in developing of an application project addressing interactive simulation, to be agreed with the teacher and oral discussion. In the commitment required for the project, specific needs for working students will be taken into account. Students with learning disorders ("disturbi specifici di apprendimento", DSA) will be allowed to use specific modalities and supports that will be determined on a case-by-case basis in agreement with the delegate of the Engineering courses in the Committee for the Inclusion of Students with Disabilities. ASSESSMENT METHODS During the oral exam the student, on the basis of the developed project, will have to show understanding of the topics covered in the course, discuss the design choices, with the aid of the computer analyze the results obtained. Exam schedule Data Ora Luogo Degree type Note 20/12/2023 15:00 GENOVA Orale 03/01/2024 15:00 GENOVA Orale 14/02/2024 15:00 GENOVA Orale 03/06/2024 15:00 GENOVA Orale 20/06/2024 15:00 GENOVA Orale 03/07/2024 15:00 GENOVA Orale 22/07/2024 15:00 GENOVA Orale 05/08/2024 15:00 GENOVA Orale 30/08/2024 15:00 GENOVA Orale 12/09/2024 15:00 GENOVA Orale FURTHER INFORMATION Students with disabilities or with DSA can request compensatory/dispensatory measures for the exam. The methods will be defined on a case-by-case basis together with the Engineering Contact of the University Committee for the support of disabled students and those with DSA. Students who wish to request it are invited to contact the course teacher well in advance by copying the Engineering Contact (https://unige.it/commissioni/comitatoperlassociazionedeglistudenticondisabilita.html), without sending documents regarding their disability Agenda 2030 - Sustainable Development Goals Good health and well being Affordable and clean energy Reduce inequality Sustainable cities and communities Life below water Peace, justice and strong institutions