Course detail
Introduction to Game Development
FaVU-1ZHERVAcad. year: 2024/2025
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
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
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.
Rules for evaluation and completion of the course
ASSESSMENT POINTS
58 project, 42 practical exercises
PROGRESS ASSESSMENT
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.
CONTROLLED INSTRUCTION
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.
Aims
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)
Study aids
Prerequisites and corequisites
Basic literature
Jesse Schnell; The Art of Game Design: A Book of Lenses; A K Peters/CRC Press; 2019 (3. vyd.). (EN)
[Manuál Unity](https://docs.unity3d.com/Manual/index.html) (EN)
Podklady z přednášek a demonstračních cvičení (CS)
Robert Nystrom; Game Programming Patterns; Gennever Benning; 2014 (1. vyd.) + online. (EN)
[The Book of Shaders](https://thebookofshaders.com/) (EN)
Recommended reading
Classification of course in study plans
- Programme BIT Bachelor's 2 year of study, winter semester, elective
- Programme DES_B Bachelor's 2 year of study, winter semester, compulsory-optional
2 year of study, winter semester, compulsory-optional
2 year of study, winter semester, compulsory-optional
2 year of study, winter semester, compulsory-optional - Programme BIT Bachelor's 2 year of study, winter semester, elective
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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
Practical exercises:
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