Academic Year 2023-2024

VIDEO GAME PROGRAMMING

Teachers

Fabio Buttussi
Unit Credits
6
Teaching Period
First Period
Course Type
Characterizing
Prerequisites. Students must be familiar with the basics of computer programming and human-computer interaction.
Teaching Methods. The course includes lectures about concepts and theories, discussions of case studies, and practical activities. More precisely, concept and theories will be applied on practical examples, using one of the most popular game engines. Case studies will be focused on analyzing, designing and/or implementing video games for entertainment and serious games.
Verification of Learning. 1) Design and development of a minigame or a few game levels applying the concepts and theories examined in the course.

2) Oral exam with the presentation of the project and questions about theoretical aspects of the course.

Objectives
The aim of the course is to introduce the principles, methodologies and application tools for the development of video games, including serious games, video games for mobile devices and those for virtual and augmented reality. The course introduces the theoretical concepts and the methodologies that can be used to program the different aspects of a video game (for example, the user interface and the artificial intelligence of non-playing characters) and shows the practical application of these concepts and methodologies by using one of the most popular game engines. The course also introduces some basic concepts concerning the optimization and evaluation of video games (for example, game analytics), useful for improving programming.

Knowledge and understanding: students acquire specific knowledge about the different aspects related to video game programming. They also learn to choose from the different methodologies proposed for each of the considered aspects, depending on the platform and the target users of the video game to program.

Applying knowledge and understanding: students acquire specific skills to apply knowledge to the practical programming of a video game, using one of the most popular game engines.

Making judgements: students acquire the ability to evaluate the performance of a video game based on objective data and to understand how development choices can affect the gaming experience.

Communication skills: students learn the appropriate terminology to describe the various aspects related to video game programming. Moreover, they learn how to communicate serious content, such as information about health and safety of people, by means of a video game.

Learning skills: The course provides the basic knowledge and application tools that allow the student to deepen and autonomously address more complex issues related to video game programming.

See also https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/LM-informatica/all-B2 or https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/lm-artificial-intelligence-cybersecurity/all-B2.

Contents
The course is organized into a series of lectures introducing the concepts and theories relevant to video game programming:

– fundamentals of game design to guide programming,

– fundamentals of scripting in a game engine,

– camera, lighting, and sound control,

– asset management,

– design and implementation of the user interface,

– game logic and artificial intelligence,

– principles of physics and animation,

– management of build and deployment process,

– programming and optimization for mobile devices, web, and extended reality (virtual and augmented),

– game evaluation and analytics,

– training and vehiculation of serious messages using video games.

Concepts and theories will be complemented by numerous practical examples, using one of the most popular game engines, and several case studies, which will include both video games for entertainment and serious games.

Texts
1) Materials provided in the e-learning web site and in the course team.

2) Materials available on the web site of the game engine that will be used for practical activities.

3) Textbooks:

Egenfeldt-Nielsen Simon, Smith Jonas Heide, Pajares Tosca Susana. Understanding Video Games, 4th edition, Routledge, 2020

Millington Ian, AI for Games, 3rd edition, CRC Press, 2019

Borromeo Nicolas Alejandro, Hands-On Unity 2021 Game Development, 2nd edition, Packt Publishing, 2021

Additional textbooks on specific topics will be suggested at lesson.