Разработка компьютерных игр

Данный учебный курс опирается на язык программирования Python и библиотеку Pygame. Pygame — это простая, но, тем не менее, очень популярная библиотека Python, позволяющая создавать несложные компьютерные игры и мультимедийные приложения.

Хотя библиотека Pygame не содержит ни одного игрового движка, зато позволяет в кратчайшие сроки усвоить базовые принципы работы большинства компьютерных игр, а именно:

  • Рисование основных геометрических фигур;
  • Отслеживание событий клавиатуры, мыши, таймера;
  • Создание простейшей анимации;
  • Контроль столкновений графических объектов;
  • Создание звуковых эффектов.

Целевая аудитория

Данный курс предназначен для начинающих незрячих программистов, которые, освоив базовую часть языка Python, планируют попробовать свои силы в разработке графических компьютерных игр.

Требования к слушателю

Для понимания и освоения тем курса слушатель должен:

Для проверки знаний  потенциальному слушателю необходимо пройти дополнительное собеседование с преподавателем учебного курса.

Основные темы курса

Курс представлен следующими темами:

  1. Подготовка к работе:
    1. Возможности библиотеки Pygame;
    2. Планирование игры;
    3. Установка Pygame;
    4. Каркас приложения;
    5. Домашнее задание 1. Запоминание каркаса приложения наизусть.
  2. Рисование геометрических фигур:
    1. Декартова система координат;
    2. Рисование геометрических фигур;
    3. Создание дополнительных поверхностей;
    4. Домашнее задание 2. Рисование шахматной доски.
  3. Класс Rect и его свойства:
    1. Введение в класс Rect;
    2. Создание прямоугольника и получение его размеров;
    3. Свойства класса Rect;
    4. Использование свойств для позиционирования прямоугольника;
    5. Домашнее задание 3. Рисование квадрата в центре экрана.
  4. Обработка событий от клавиатуры:
    1. Цикл отслеживания событий;
    2. Перемещение прямоугольника по горизонтали;
    3. Обработка удержания клавиш;
    4. Домашнее задание 4. Перемещение прямоугольника по вертикали.
  5. Работа с файлами изображений:
    1. Форматы файлов изображений;
    2. Загрузка изображения из файла;
    3. Добавление фонового изображения;
    4. Прозрачный фон изображения;
    5. Преобразование пикселей к формату основной поверхности;
    6. Поворот изображения вокруг своей оси;
    7. Домашнее задание 5. Поворот бампера машины по направлению курсорных стрелок.
  6. Курсовой проект: игра «Поймай фрукты»:
    1. Введение в спрайты;
    2. Класс Fruit;
    3. Падение одного фрукта;
    4. Добавление фонового изображения;
    5. Рефакторинг;
    6. Падение нескольких фруктов;
    7. Группы спрайтов;
    8. Появление фруктов по таймеру;
    9. Домашнее задание 6. Добавление в игру ещё одного фрукта.
  7. Продолжение курсового проекта:
    1. Добавление корзины;
    2. Контроль столкновений;
    3. Подсчёт очков;
    4. Вывод результатов на экран;
    5. Ограничение продолжительности игры;
    6. Домашнее задание 7. Отслеживание фруктов, упавших мимо корзины на землю.
  8. Завершение курсового проекта:
    1. Чтение результатов синтезатором речи;
    2. Модуль pygame.mixer;
    3. Работа со звуковыми эффектами;
    4. Добавление фоновой музыки;
    5. Домашнее задание 8. Добавление разных звуковых эффектов для каждого фрукта.

Ожидаемые результаты

По завершении курса слушатель будет хорошо представлять принципы функционирования компьютерной игры: как отображается готовая картинка с персонажем на экране, как организуется простейшая анимация (движение персонажа), как осуществляется управление движением и направлением персонажа с помощью клавиатуры или мышки, а также как озвучивается желаемое событие или процесс игры.

Освоив теоретический материал, выполнив все предлагаемые домашние задания, разработав шаг за шагом курсовой проект (компьютерную игру «Поймай фрукты»), слушатель будет подготовлен к профессиональному программированию компьютерных игр на мощных игровых движках с готовыми инструментами и спецэффектами.