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.
|