Introduction to Game Development
1ZHERV FaVU 1ZHERV Acad. year 2023/2024 Winter semester 4 credits
The ever-increasing impact of computer games, simulators, and "serious games" applications undeniably shows their future potential. However, their development requires a comprehensive overview of a wide range of topics and creative approaches used in solving various and unconventional problems. In the course Game Design Principles (IZH), we introduce participants to the issue of game development both in terms of theoretical algorithms and procedures, as well as practical experience using the Unity platform.
WHY IS THE COURSE TAUGHT
The course offers participants an introduction to the development of computer games. However, this knowledge can be applied in a broader context. Thanks to the massive demand for visualizations and prototypes, the so-called "serious games" are frequently utilized in many applications. Their uses range from games for entertainment, architectural designs, product prototypes, visualizations, and presentations to film prototypes. The theoretical part of the course takes the form of lectures, introducing the general concepts, algorithms, and procedures of game design. Further, the practical exercises allow the students to deepen their abilities through regular demonstrations, practical exercises, and a project focused on the Unity development platform.
Language of instruction
- 26 hrs lectures
- 12 hrs exercises
- 14 hrs projects
- 100 pts projects
The objective is to provide the students with an overview of game application development. We present the practical implementation using the Unity platform, focusing on both game and serious applications. Students will get acquainted with individual game systems, their relevance in the whole, and finally, how to implement them. Specifically, we focus on game development issues concerning communication with the user, rendering, physical simulation, sound, and modeling. Further, we introduce the participants to frequently used game development tools. Ultimately, the acquired knowledge enables the students to transform their ideas into real interactive and passive applications, providing the necessary groundwork for further development.
ACQUIRED SKILLS, KNOWLEDGE AND COMPETENCES FROM THE SUBJECT
Students will learn the basic terminology of game design set in the contemporary game development process.
Students will gain an overview of algorithms and techniques used in the implementation of interactive and passive multimedia applications.
Students will learn to solve common problems in game development using the Unity development platform.
Students will be able to transform concepts and ideas into real-world applications using prototypes and hands-on development processes.
SKILLS, KNOWLEDGE AND COMPETENCES GENERAL
Students will learn to solve simple programming problems through regular assignments.
Students will become proficient in the practical use of programming, debugging and modelling tools.
Students will practice scripting and programming in C# and HLSL.
Translated with www.DeepL.com/Translator (free version)
Prerequisite knowledge and skills
Necessary prerequisite knowledge includes:
Basics of Algebra and Geometry: matrices, vectors, transformations, projections.
Basics of Programming: troubleshooting, any programming or scripting language.
Basics of Computer Graphics and Multimedia: 3D rendering, forms of multimedia data.
- Raph Koster; Theory of Fun for Game Design; O'Reilly Media; 2013 (2. vyd.).
- Jason Gregory; Game Engine Architecture; A K Peters/CRC Press; 2018 (3. vyd.).
- Jesse Schnell; The Art of Game Design: A Book of Lenses; A K Peters/CRC Press; 2019 (3. vyd.).
- Robert Nystrom; Game Programming Patterns; Gennever Benning; 2014 (1. vyd.) + online.
- [Manuál Unity](https://docs.unity3d.com/Manual/index.html)
- [The Book of Shaders](https://thebookofshaders.com/)
Syllabus of lectures
SYLLABUS OF LECTURES
1. What is Game: Introduction, History Overview, Terminology, Serious Games
2. Game Design: Systems Design, Game Genres, Mechanics, Designing a Game
3. Game Engine: Architecture and Systems, Game loop, The Unity Engine
4. Unity as a Platform: Data Orientation, Entities and Components, Execution Logic
5. User Input: Control Styles, Hardware Specifics, Input in Unity
6. Space and Bodies: Scene in 3D, Transformation, Physics in Unity
7. Visualization and Rendering: Camera, Effects and Shaders, Materials in Unity
8. Assets and Models: Formats and Tools, Rigging, Skinning, Assets in Unity
9. Scene Dynamics: Animation, Interpolation, Skeletal Animation, Timeline
10. Visual Interface: Elements, Events, Feedback, UX, UI Toolkit in Unity
11. Sound System: Sound design, Sources and Listeners, Scene Influence
12. Idea and Realization: Game Mechanics, Experimentation, Blockout, Assignments
13. Game Development: Development Process, Publication, Monetization Systems, Marketing
SYLLABUS OF COMPUTER EXERCISES
1. (3.) Tools and the Unity Platform: Unity C#, Game Loop, Exercises and Projects
2. (5.) Prototypes and Input: Prototypes and Debugging, User Input, Control Styles
3. (7.) Forms of Visualization: Materials, Shading, Shader Graph, Shader Effects
5. (9.) Physical Interaction: Keyframe animation, Bounding Volumes, Physical Simulation
4. (11.) Game Interface: Events, UI Builder, Mockup, Sound Feedback
6. (12.) Development Assignment: Prototyping of Game Mechanics, Game Logic
SYLLABUS - OTHERS, PROJECTS AND INDIVIDUAL WORK OF STUDENTS
1. (2.) Analysis of Mechanics: Selected (even serious) game, Design, Style, One page A4
2. (3.) Unity Project: Environment Preparation, GIT repository, C# script, Web export
3. (5.) Entity Control: Combination of Entities and Components, User Control
4. (7.) Materials and Effects: Material Editor, Material Shaders
5. (9.) Animation in 2D: Asset Creation, Keyframe Animation, Time
6. (10.) Inventory Interface: Drag & Drop, Sound Feedback
7. (12.) Mechanics Tuning: Assignment, Prototype Enhancement
Each student is required to obtain at least 2 points from each practical exercise. Submission and presentation of the Game Jam project are mandatory, with no less than 24 points required to pass the course successfully.
58 project, 42 practical exercises
Practical exercises up to 7 x 6 = 42 points.
Game Jam project up to 58 points.
Minimum to pass the course according to the ECTS assessment is 50 points.
The practical exercises are assigned and evaluated during the semester.
The Game Jam project takes place during the final weeks of the semester, ending with the time limit expiration.
|Mon||lecture||lectures||D0207||13:00||14:50||90||2BIA 2BIB 3BIT||xx||Čadík|
Course inclusion in study plans