Бакалавриат
2024/2025



Разработка интеллектуальных агентов компьютерных игр
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Веселко Никита Игоревич
Язык:
русский
Кредиты:
5
Программа дисциплины
Аннотация
Дисциплина фокусируется на искусственном интеллекте (ИИ) в компьютерных играх. Однако полученные знания могут быть использованы и в других сферах, например, при создании приложений виртуальной и дополненной реальности, геймифицированных пространств и симуляций.
В рамках дисциплины студенты познакомятся с основами ИИ в играх, познакомятся с понятием интеллектуального агента, подробней ознакомятся со сферой их применения и на практики попробуют основные подходы к их разработке.
Мы на примерах подробно рассмотрим особенности реализаций ИИ в компьютерных играх начиная с низкого уровня, т.е. примитивных движений и заканчивая высоким, т.е. вариантами интеллектуального поведения NPC, построения и отображения отображения виртуальных миров.
Мы поговорим о математических моделях, их описаниях, приложениях для разных жанров игр, миров и проч. Для реализации используется движок Unreal Engine 5, Blueprints и С++.
Цель освоения дисциплины
- Изучить основные подходы и пайплайны для разработки интеллектуальных агентов и использования моделей и сред обучения для их создания
Планируемые результаты обучения
- 1) Основные подходы к backend-разработке для многопользовательских игр 2) Написание простых приложений для обслуживания многопользовательских игр 3) Написание асинхронных приложений для обслуживания многопользовательских игр. 4) Развертывание виртуального окружения с помощью технологии Docker, docker-compose. 5) Знание методов компенсации лагов.
Содержание учебной дисциплины
- сети. Модель OSI, TCP/IP, IP-адреса, порты. RFC 1122. WireShark. синхронный Unix сервер. IPC-сокет. RFC 681
- синхронный UDP сервер на python. Библиотека socket. RFC 768.
- синхронный TCP сервер и TLS сервер. Библиотека socket, tls. RFC 793
- синхронный ftp сервер и http сервер. Ftps сервер и https сервер. Библиотека ftplib, pyftpdlib, requests, http, ssl, flask. Postman, Curl.
- асинхронный python. GIL, event loop. Библиотека asyncio. Асинхронный http на asyncio. Https сервер, ssl-context
- асинхронный WebSockets. Библиотека websockets.
- Multiplayer Networking. Tickrate, Компенсация лага. Prediction и линейная интерполяция движения. Серверная коррекция движения. Ping
- Docker, docker-compose. Образ, контейнер, виртуализация.
Список литературы
Рекомендуемая основная литература
- Design games for architecture : creating digital design tools with Unity, Westre, A., 2014
Рекомендуемая дополнительная литература
- Программирование в Unreal Engine 5 для начинающего игродела : основы визуального языка Blueprint, Максименкова, О. В., 2023