[major=SE | course_id=AGU301 | syllabus_id=13778 | semester=7 | combo=SE_COM12 | title=Advanced Game Development]
Course ID: AGU301
Title EN: Advanced Game Development
Title VI: Phát triển game nâng cao
Credits: 3.0
Prerequisites: FGU301
Description: This advanced Unity course builds on foundational skills to empower you with expert-level knowledge in creating professional, high-performance games. You'll dive deep into SOLID principles and design patterns for writing clean, scalable code, while mastering Unity's networking tools and cloud services to build engaging multiplayer experiences. Hands-on projects will help you optimize performance, integrate AI, and deliver polished games ready for consoles, PC, and beyond.

Key Learning Outcomes:
- Master SOLID Principles: Build a solid grasp of the five SOLID principles (Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion) and apply them to make your Unity code more modular and easier to maintain.
- Implement Design Patterns: Get hands-on with essential Unity patterns like Singleton, Observer, Command, Strategy, Factory, Decorator, and State to organize code, boost flexibility, and simplify complex game logic.
- Build with Unity Networking: Explore Unity Relay and Netcode to design smooth, reliable multiplayer systems that handle real-time interactions effortlessly.
- Integrate Unity Gaming Services: Use cloud tools like Player Authentication, Lobbies, In-Game Economy, and Leaderboards to add secure, scalable features that enhance player engagement.
- Optimize Performance: Discover profiling techniques and best practices to fine-tune your games for buttery-smooth gameplay, reduced lag, and efficient resource use on various devices.
- Create Multiplayer Games: Develop small real-time multiplayer prototypes using Unity's networking and collaboration tools, following industry-standard workflows.
- Leverage Unity AI: Incorporate AI models via Unity Sentis or similar tools to add intelligent behaviors, like smart NPCs or procedural content, to your game projects.

By the end of this course, you'll have the confidence and skills to solve tough game development problems, from code architecture to live multiplayer features, and produce professional-quality games with cutting-edge design and tech.
Student tasks: - Students must attend more than 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises, assignments and labs given by instructor in class or at home and submit on time
- Use laptop in class only for learning purpose
- Promptly access to the FU CMS at https://lms-hcmuni.fpt.edu.vn/ for up-to-date course information
Tools: 
Course type: traditional
Decision: 1318/QĐ-ĐHFPT dated 11/27/2025
Approved date: 2025-11-27
CLO1: Understand SOLID principles and design patterns in game development.
[1] category=Assessment (PBL milestones check); type=on-going; weight=30.0; duration=20'/group; question_type=Assessment 1 (Week3): CLO1, CLO2
Assessment 2 (Week 6): CLO3, CLO4, CLO7
Assessment 3 (Week 8): CLO5, CLO6, CLO7; grading_guide=Assessment 1: CLO1, CLO2
Assessment 2: CLO3, CLO4, CLO7
Assessment 3: CLO5, CLO6, CLO7; completion_criteria=; clos=>0
[2] category=Final Project Presentation; type=on-going; weight=30.0; duration=30'/group; question_type=CLO7, CLO8; grading_guide=; completion_criteria=; clos=5
[3] category=Progress test (Quiz); type=on-going; weight=15.0; duration=30'; question_type=Quiz 1: Chapter 1; CLO1, CLO2
Quiz 2: Chapter 2; CLO3, CLO4
Quiz 3: Chapter 4, 5, 6; CLO5, CLO6; grading_guide=Quiz 1 cover content: Chapter 1, 2
Quiz 2 cover content: Chapter 3, 4
Quiz 3 cover content: Chapter 5, 6, 7; completion_criteria=; clos=>0
[4] category=Final Exam; type=Final exam; weight=25.0; duration=60'; question_type=CL1 - CLO6; grading_guide=concepts, algorithms;
all studied chapters; completion_criteria=; clos=4
[1] desc=Unity 6.2 User Manual.; author=Unity Technologies; publisher=Unity Technologies; edition=; isbn=; main=True; online=True; note=https://docs.unity3d.com/Manual/index.html
[2] desc=A tour of the C# language; author=Microsoft; publisher=Microsoft; edition=; isbn=; main=True; online=True; note=https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/overview
[3] desc=Unity’s official e-book: Level up your code with design patterns and SOLID; author=Unity Technologies; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://unity.com/resources/design-patterns-solid-ebook
[4] desc=Unity’s official e-book: Optimize your console and PC game performance; author=Unity Resources; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://unity.com/resources/optimize-your-console-and-pc-game-performance
[5] desc=Unity’s official e-book: Ultimate Guide to Profiling Unity Games; author=Unity Resources; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://unity.com/resources/ultimate-guide-to-profiling-unity-games
[6] desc=Unity’s official e-book: The ultimate guide to multiplayer networking for advanced Unity developers; author=Unity Resources; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://unity.com/resources/ultimate-guide-advanced-multiplayer-networking
[7] desc=Unity Gaming Services; author=Unity Technologies; publisher=Unity Technologies; edition=; isbn=; main=; online=True; note=https://docs.unity.com/ugs/en-us/manual/overview/manual/unity-gaming-services-home
Session 1: Course Introduction & Topic Allocation.
Topic: Offline; Teaching type: ; LO: IT
ITU: 
Materials: AGU301

Session 2: Course Introduction & Topic Allocation.
Topic: Offline; Teaching type: ; LO: IT
ITU: 
Materials: AGU301

Session 3: Chapter 1: SOLID and Common Design Pattern in Game Development
1.1 The SOLID principles
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 1: SOLID and Common Design Pattern in Game Development
1.1 The SOLID principles
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO2: Ability to use common Unity design patterns, such as Singleton, Observer, Command, Strategy, Factory, Decorator, and State Pattern.
Session 1: Chapter 1: SOLID and Common Design Pattern in Game Development
1.1 The SOLID principles
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 1: SOLID and Common Design Pattern in Game Development
1.1 The SOLID principles
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO3: Understanding profiling in Unity
Session 1: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 1: SOLID and Common Design Pattern in Game Development
1.2 Design patterns for game development
Topic: Offline; Teaching type: CLL01, CLO2; LO: T
ITU: https://unity.com/resources/design-patterns-solid-ebook
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO4: Understand how to optimize game performance.
Session 1: Assessment 1 (Week3): Milestone 1 Review & Evaluation
Topic: Offline; Teaching type: CLO1, CLO2; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 2: Assessment 1 (Week3): Milestone 1 Review & Evaluation
Topic: Offline; Teaching type: CLO1, CLO2; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 3: Quiz 1
Topic: Offline; Teaching type: CLO1, CLO2; LO: U
ITU: Quiz 1
Download: Do quiz

Session 4: Chapter 2: Optimize your game performance
2.1 Profiling
Topic: Offline; Teaching type: CLO3; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO5: Understand the Unity Netcode solution and Unity Services.
Session 1: Chapter 2: Optimize your game performance
2.1 Profiling
Topic: Offline; Teaching type: CLO3; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 2: Optimize your game performance
2.1 Profiling
Topic: Offline; Teaching type: CLO3; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 2: Optimize your game performance
2.2 Use the Memory Profiler
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 2: Optimize your game performance
2.2 Use the Memory Profiler
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO6: The ability to utilize Unity AI and apply AI models to game projects is essential.
Session 1: Chapter 2: Optimize your game performance
2.2 Use the Memory Profiler
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 2: Optimize your game performance
2.3 Programming and code architecture
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 2: Optimize your game performance
2.3 Programming and code architecture
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 2: Optimize your game performance
2.3 Programming and code architecture
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO7: Develop multiplayer game applications using Unity.
Session 1: Chapter 2: Optimize your game performance
2.4 Unity profiling and debug tools
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 2: Optimize your game performance
2.4 Unity profiling and debug tools
Topic: Offline; Teaching type: CLO4; LO: T
ITU: https://unity.com/resources/optimize-your-console-and-pc-game-performance
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Quiz 2
Topic: Offline; Teaching type: CLO3, CLO4; LO: U
ITU: Quiz 2
Download: Do quiz

Session 4: Chapter 3: Unity networking solutions
3.1 Netcode for GameObjects and Netcode for Entities
3.2 Setting up your first Netcode project.
Network synchronization
Topic: Offline; Teaching type: CLO5, CLO7; LO: T
ITU: https://docs.unity3d.com/Packages/com.unity.netcode@1.8/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
CLO8: Collaborate effectively in a team environment for game development projects.
Session 1: Chapter 3: Unity networking solutions
3.1 Netcode for GameObjects and Netcode for Entities
3.2 Setting up your first Netcode project.
Network synchronization
Topic: Offline; Teaching type: CLO5, CLO7; LO: T
ITU: https://docs.unity3d.com/Packages/com.unity.netcode@1.8/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 3: Unity networking solutions
3.1 Netcode for GameObjects and Netcode for Entities
3.2 Setting up your first Netcode project.
Network synchronization
Topic: Offline; Teaching type: CLO5, CLO7; LO: T
ITU: https://docs.unity3d.com/Packages/com.unity.netcode@1.8/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 4: Third-party networking
Topic: Offline; Teaching type: CLO7; LO: TU
ITU: Critical thinking, AI literacy
Download: - Self practice

Session 4: Chapter 4: Third-party networking
Topic: Offline; Teaching type: CLO7; LO: TU
ITU: Critical thinking, AI literacy
Download: - Self practice
Session 1: Chapter 4: Third-party networking
Topic: Offline; Teaching type: CLO7; LO: TU
ITU: Critical thinking, AI literacy
Download: - Self practice

Session 2: Assessment 2 (Week 6):Milestone 2 Review & Evaluation
Topic: Offline; Teaching type: CLO3, CLO4, CLO7; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 3: Assessment 2 (Week 6):Milestone 2 Review & Evaluation
Topic: Offline; Teaching type: CLO3, CLO4, CLO7; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 4: Assessment 2 (Week 6):Milestone 2 Review & Evaluation
Topic: Offline; Teaching type: CLO3, CLO4, CLO7; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback
Session 1: Chapter 5: Inference Engine (Unity Sentis)
5.1 Understand the Inference Engine workflow
5.2 Models in Inference Engine
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 5: Inference Engine (Unity Sentis)
5.1 Understand the Inference Engine workflow
5.2 Models in Inference Engine
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 5: Inference Engine (Unity Sentis)
5.1 Understand the Inference Engine workflow
5.2 Models in Inference Engine
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 5: Inference Engine (Unity Sentis)
5.3 Use tensors
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
Session 1: Chapter 5: Inference Engine (Unity Sentis)
5.3 Use tensors
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 5: Inference Engine (Unity Sentis)
5.3 Use tensors
Topic: Offline; Teaching type: CLO6; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 6: AI Assistant
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.assistant@1.0/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 6: AI Assistant
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.assistant@1.0/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
Session 1: Chapter 6: AI Assistant
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.assistant@1.0/manual/index.html
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Assessment 3 (Week 8):Milestone 3 Review & Evaluation
Topic: Offline; Teaching type: CLO5, CLO6, CLO7; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 3: Assessment 3 (Week 8):Milestone 3 Review & Evaluation
Topic: Offline; Teaching type: CLO5, CLO6, CLO7; LO: TU
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 4: Quiz 3
Topic: Offline; Teaching type: CLO5, CLO6; LO: U
ITU: Quiz 3
Download: Do quiz
Session 1: Chapter 7: AI generator
7.1 Sprite Generator and Texture2D Generator
7.2 Sound Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 7: AI generator
7.1 Sprite Generator and Texture2D Generator
7.2 Sound Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Chapter 7: AI generator
7.1 Sprite Generator and Texture2D Generator
7.2 Sound Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 4: Chapter 7: AI generator
7.3 Animation Generator & Material Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice
Session 1: Chapter 7: AI generator
7.3 Animation Generator & Material Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 2: Chapter 7: AI generator
7.3 Animation Generator & Material Generator
Topic: Offline; Teaching type: CLO6, CLO7; LO: TU
ITU: https://docs.unity3d.com/Packages/com.unity.ai.generators@latest
Download: - Read the slide, related reference documents
- Do exercises
- Self practice

Session 3: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 4: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback
Session 1: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 2: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 3: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback

Session 4: Final Project Presentation
Topic: Offline; Teaching type: CLO7, CLO8; LO: U
ITU: Presentation slides, report
Download: Present milestone, receive feedback