CODE 98214 ACADEMIC YEAR 2023/2024 CREDITS 5 cfu anno 2 ENGINEERING TECHNOLOGY FOR STRATEGY (AND SECURITY) 10728 (LM/DS) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01 LANGUAGE English TEACHING LOCATION GENOVA SEMESTER 1° Semester 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 course covers the elements of programming for videogames. Students will learn the basics of both 2D and 3D programming along with the techniques used by the newest CAD tools for videogame design. After an introduction about the various types of simulation, a basic game engine for attaching the components of 2D games programming is presented. The basic of the 3D graphics and 3D videogame through the usage of a CAD graphics tool and an AAA game engine is also provided. One fifth of the credit is obtained through a final project. 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 some 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 Exam Board MARCO RAGGIO (President) RICCARDO BERTA FRANCESCO BELLOTTI (President Substitute) LESSONS LESSONS START https://corsi.unige.it/10728/p/studenti-orario Class schedule The timetable for this course is available here: Portale 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. 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 appello Orario Luogo Degree type Note 18/12/2023 15:00 GENOVA Orale 08/01/2024 15:00 GENOVA Orale 26/01/2024 15:00 GENOVA Orale 15/02/2024 15:00 GENOVA Orale 11/06/2024 15:00 GENOVA Orale 27/06/2024 15:00 GENOVA Orale 11/07/2024 15:00 GENOVA Orale 24/07/2024 15:00 GENOVA Orale 07/08/2024 15:00 GENOVA Orale 26/08/2024 15:00 GENOVA Orale 13/09/2024 15:00 GENOVA Orale FURTHER INFORMATION 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. Agenda 2030 - Sustainable Development Goals Good health and well being Industry, innovation and infrastructure Sustainable cities and communities