Course: Game Development

« Back
Course title Game Development
Course code AUIUI/AE9VH
Organizational form of instruction Lecture + Lesson
Level of course Master
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction English
Status of course unspecified
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Course availability The course is available to visiting students
Lecturer(s)
  • Vogeltanz Tomáš, Ing. Ph.D.
Course content
Lecture: 1. Game development, development cycle, history and present, game industry in Czech Republic 2. Game design, flow, MDA, documentation 3. Genre of video games, game mechanics and game rules, platforms, publishing, and distribution 4. Design patterns in game development (Game Loop, Object Pool, Component, State etc.) 5. Mathematics and physics in computer games, representation, transformation, particle systems 6. Artificial Intelligence in computer games, specifics, roles, methods 7. Implementation of artificial intelligence in computer games, design, implementation, integration, agents, sensors, assets for AI in Unity 8. Pathfinding and Navigation, Dijkstra's algorithm, A* (A star), Waypoints, Navigation mesh, visualization, implementation 9. Flocks and crowds, Reynolds' flock algorithm, Fuzzy logic, design, and implementation of Fuzzy logic controller 10. Game testing, tester role, specifics, software and hardware tests, tools, bug tolerance, alfa, beta, and gold tests 11. Network communication in computer games, real-time loop, server's authority, synchronization, multi-server architecture, protection against cheating, libraries for Unity 12. Mobile game development, specifics, optimization, Unity Profiler, process, analysis, and realization, debugging and testing on real mobile device 13. Anti-piracy protection and its possible bypassing 14. Analytical tools, user data processing, and user data protection Tutorials (not divided into weeks, but into topics): 1. Development tools: Visual Studio, Github Desktop, Unity, environment and basic elements, Unity Hub, licenses, Unity Asset Store. 2. Assets, scenes, game objects, prefabs, and components in Unity. 3. Basic scripting, serialized data, controls and inputs, moving game objects using scripts. 4. Animation and sound control, events (Observer pattern). 5. Physics and types of collision components, triggers (RigidBody and Colliders), particle system. 6. User interface in Unity, game element control (game management). 7. Singleton, Dependency Injection, and Object Pool in Unity. 8. Artificial intelligence design in Unity. 9. Implementation of artificial intelligence in Unity. 10. Navigation and pathfinding in Unity, NavMesh, NavMeshAgent. 11. Design and implementation of Fuzzy Logic controller, application within artificial intelligence. 12. Network communication in Unity. 13. Mobile platform development in Unity, Unity Profiler. 14. Game testing, testing application, unit testing.

Learning activities and teaching methods
Monologic (Exposition, lecture, briefing), Dialogic (Discussion, conversation, brainstorming), Exercises on PC, Teamwork
prerequisite
Knowledge
C# knowledge
C# knowledge
Object-oriented programming
Object-oriented programming
Basic knowledge of Design patterns
Basic knowledge of Design patterns
Basic knowledge of GIT
Basic knowledge of GIT
Basic theoretical knowledge of 3D modelling and animation
Basic theoretical knowledge of 3D modelling and animation
Skills
Programming
Programming
learning outcomes
Knowledge
Describe the game development process
Describe the game development process
Characterise the key areas of game design
Characterise the key areas of game design
List the design patterns used in computer games
List the design patterns used in computer games
Understand the use of artificial intelligence in computer games
Understand the use of artificial intelligence in computer games
Understand mathematics and physics in computer games
Understand mathematics and physics in computer games
Skills
Use the Unity editor
Use the Unity editor
Program scripts for Unity
Program scripts for Unity
Program the game mechanics
Program the game mechanics
Navrhnout a implementovat jednoduchou umělou inteligenci ve hrách
Navrhnout a implementovat jednoduchou umělou inteligenci ve hrách
Create game scenes
Create game scenes
teaching methods
Knowledge
Monologic (Exposition, lecture, briefing)
Monologic (Exposition, lecture, briefing)
Dialogic (Discussion, conversation, brainstorming)
Dialogic (Discussion, conversation, brainstorming)
Teamwork
Teamwork
Skills
Lecturing
Lecturing
Exercises on PC
Exercises on PC
Practice exercises
Practice exercises
assessment methods
Knowledge
Grade (Using a grade system)
Written examination
Grade (Using a grade system)
Written examination
Analysis of the student's performance
Analysis of the student's performance
Recommended literature
  • Alex OKITA. Learning C# Programming with Unity 3D. 2019. ISBN 978-1-138-33681-0.
  • Davide AVERSA. Unity artificial intelligence programming. 2022. ISBN 978-1-80323-853-1.
  • Chihming CHIU. Massively multiplayer game programming with Unity 3D and Mirror. 2021. ISBN 978-0-2288-4410-5.
  • Philip WALKER. Unity certified programmer: exam guide : expert tips and techniques to pass the Unity certification exam at the first attempt. 2020. ISBN 978-1-83882-842-4.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester