Course: Game Development

« Back
Course title Game Development
Course code AUIUI/AK9VH
Organizational form of instruction Lecture
Level of course Master
Year of study not specified
Semester Winter
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
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
  • Home preparation for classes - 36 hours per semester
  • Term paper - 48 hours per semester
  • Preparation for course credit - 8 hours per semester
  • Participation in classes - 16 hours per semester
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)
Grade (Using a grade system)
Written examination
Written examination
Analysis of the student's performance
Analysis of the student's performance
Recommended literature
  • 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.
  • Jan JIRKOVSKÝ a kolektiv. Game industry: vývoj počítačových her a kapitoly z herního průmyslu. Praha, 2011. ISBN 978-80-904387-1-2.
  • Jan JIRKOVSKÝ a kolektiv. Game industry 2. Praha, 2012. ISBN 978-80-904387-3-6.
  • Jan JIRKOVSKÝ a kolektiv. Game industry 3. Praha, 2013. ISBN 978-80-904387-4-3.
  • 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