Глава 20 · Разработка игр с Pygame

Игровые платформы: компьютеры, консоли и портативные устройства

Игра пишется под конкретное устройство — и Pygame нацелен прежде всего на десктоп.

Игра почти никогда не пишется «вообще», а пишется под конкретную платформу. От платформы зависит и ввод (клавиатура или тачскрин?), и распространение (файл для скачивания или магазин приложений?), и технические ограничения (сколько памяти доступно?). Стоит сразу различать два разных вопроса: на каком устройстве запускается игра — и каким способом она до этого устройства доходит. Первое — это десктоп, мобильные, консоли, портативные устройства, XR; второе (например, облачный гейминг из раздела 20.10) — это скорее способ доставки игры, чем отдельный тип устройства: облачный сервис в итоге всё равно исполняет игру на каком-то настоящем компьютере или сервере.

Целевые устройства

Целевые устройства
Десктоп
Windows, macOS, Linux
Клавиатура, мышь, геймпад
Прямая раздача файла или магазин вроде Steam
Консоли
PlayStation, Xbox, Nintendo и похожие
Официальный набор разработчика (SDK) и сертификация
Издание требует соглашения с производителем консоли
Портативные устройства
Портативная консоль производителя или портативный ПК с полноценной ОС
Тачскрин, физические кнопки или и то и другое
Часто ограничены по батарее и памяти сильнее настольного устройства
Мобильные
Android, iOS
Тачскрин, акселерометр
Магазины приложений — раздел 20.11–20.13
Веб
Запускается прямо в браузере
Не требует установки
WebAssembly — раздел 20.30
XR (VR/AR)
Гарнитуры виртуальной и дополненной реальности
Стерео-рендеринг, отслеживание головы и рук
Отдельная, узкоспециализированная разработка
Портативное устройство — не всегда игровая консоль
Под «портативным устройством» может скрываться две разные вещи: портативная консоль производителя (со своей закрытой экосистемой и SDK, как у больших консолей) или портативный ПК с обычной настольной операционной системой, на котором способна запуститься любая десктопная программа, включая написанную на Pygame. Разница принципиальна для распространения игры, и её стоит уточнять для конкретного устройства, а не считать «портативное» одной однородной категорией.

Десктоп — родная платформа Pygame

Pygame изначально и прежде всего — инструмент для десктопных игр на Windows, macOS и Linux. Всё, что вы написали в этой главе, запускается как обычная программа: двойной клик по файлу (после упаковки, раздел 20.29) или запуск через python имя_файла.py.

Консоли и портативные консоли

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

Консоли — не путь Pygame
Если конечная цель — выпустить игру на консоли, Pygame не тот инструмент, с которого стоит начинать этот конкретный путь: консольная разработка почти всегда идёт через официальные движки и SDK производителя. Но навыки, полученные здесь — игровой цикл, работа с кадрами, архитектура — переносятся в любой из этих инструментов напрямую, без потерь.