Компьютерные игры
Компьютерные игры
Чтобы вы играли в своё удовольствие.
Ключевые игровые понятия
Все мы так или иначе касались в своей жизни видеоигр. Кто-то играет, кто-то что-то слышал, а у кого-то играет член семьи. Общество уже перестало реагировать на видеоигры как на что-то плохое, как раз наоборот, мир крепко установил для игровой индустрии своё полноценное направление в культуре и бизнесе. Продолжение этой темы — на игровом портале: индустрия, игроведение и разработка игр.
Так вот, а как оно всё устроено? Что такое игра, видеоигры, компьютерная игра?
Игра – занятие, которое развлекает пользователя.
Компьютерная игра – программа для ЭВМ, где вместо реальных предметов и действий игрок взаимодействует с компьютером, который предоставляет виртуальную реальность.
Видеоигра – специальный вид компьютерной игры, где виртуальный мир отображается на экране, а игрок управляет с помощью специальных устройств.
Компьютерные игры, которые не являются видеоиграми – это текстовые игры (они не содержат изображения, как такового), шахматы и шашки (которые реализованы без использования графики, т.е. текстовые), игры с голосовым управлением (к примеру, взаимодействие с голосовыми помощниками путем игры в "Города"). Это всё игры, компьютерные игры, но не видеоигры.

Игра – программа, выполняющая алгоритм действий в ответ на действия игрока. У игры есть свои особенности, такие как геймплей (то, как игрок взаимодействует с механиками игры, управляет персонажем, решает задачи, исследует мир), эмоциональное взаимодействие (что чувствует игрок во время игры – радость, гнев, страх, напряжение, удовлетворение), сценарная составляющая (основной сюжет, персонажи, события и диалоги, концовки), художественная составляющая (музыкальное сопровождение, звук, графика, дизайн мира, уровней и объектов), а также движок (набор технических средств, обеспечивающих работу программы).
Игроки – пользователи, основные субъекты, которые взаимодействуют с игрой, а также друг с другом, как в команде, так и в условиях соперничества. Здесь рождается не только управление и команды программе, но и координация действий, распределение ролей, взаимопомощь, общение в чате, голосовой связи. При обсуждении игр, под "игроком" могут подразумевать как самого человека, управляющего устройством, так и его виртуальный аватар, который правильнее называть героем, персонажем, но это относится лишь к отдельным жанрам. В более сложных жанрах игрок управляет целой сетью систем и механик – допустим, в стратегиях, как правило, игрок играет роль "командующего", при этом не обладая "аватаром". В любом случае, именно между игрой и игроком существует своеобразный диалог.
Разработчики – непосредственные создатели игры. Именно они написали код программы, скрипты взаимодействия, создали художественную, сценарную, техническую составляющую игры. Но не всегда разработчики отвечают за продажу и продвижение игры как продукта, тут часто возникают их отношения с издателем.
Издатели – лица, обеспечивающие распространение и реализацию игры как продукта, в том числе защиту прав, определение ценовой политики, а зачастую выступающие в роли заказчиков игровых продуктов. Подробнее о рынке, платформах и монетизации — в разделе Игровая индустрия на игровом портале; к издателям мы ещё вернёмся в этой книге.
Видеоигровое устройство – бытовой радиоэлектронный аппарат, цель которого – получить вводные данные (к примеру, нажатие клавиш/кнопок при помощи периферийных устройств), и выполнять вывод данных (изображение, звук, и даже вибрация). Как правило, это компьютер или игровая приставка/игровой автомат, на котором загружена программа, а ввод осуществляется через клавиатуру, мышь и геймпад.
Мы не будем погружаться в игры на данный момент, поэтому для начала этого достаточно. В целом, ясно – задача – развлекать игрока, а игроком является любой, кто участвует в игре. Углублённо видеоигры разобраны на игровом портале — там же интерактивы, практикум и полезные инструменты для игрока и начинающего разработчика. В данной книге мы рассмотрим более прикладные темы, рассмотрим то, что нужно для создания и разработки, так как разработка игр - тоже IT.
Как работают игры?
Компьютерная игра - это просто программа, которая бесконечно крутит цикл:
- получили действие (событие);
- обновили логику;
- нарисовали картинку;
- воспроизвели звук.
А всё, что внутри (физика, ИИ врагов, сохранения) - это просто кирпичи такой программы.

Современные геймеры уже довольно чётко представляют себе картину индустрии, состоящей из платформ, разработчиков, издателей и геймеров. Это довольно незамудрённая система, где кто-то финансирует и продаёт игру, кто-то её разрабатывает, а кто-то где-то их покупает и играет — схему рынка и платформ удобно сверить с разделом «Игровая индустрия» и «Игроведение». Но за такой вот кажущейся простотой игрового процесса скрывается сложная система взаимодействия между игроком, программой и оборудованием. Чтобы понять, как работает игра, нужно рассмотреть её внутреннюю структуру и принципы функционирования.
Какие же основные компоненты у игры?
- Цикл обработки событий (game loop) — это бесконечный цикл, который проверяет входящие данные от игрока (например, нажатия клавиш или движения мыши), обновляет состояние мира игры и выводит новое изображение на экран. Игра ведь должна реагироровать на получение ввода, обновлять логику игры и рисовать новые кадры. На игровом портале game loop разбирают на примерах Unity, Unreal и Godot.
- Обработка ввода. Игра получает команды от пользователя через различные устройства — клавиатуру, мышь, геймпад, сенсорный экран или даже голосовые команды. Эти сигналы интерпретируются как действия — прыжок, стрельба, выбор меню и т.д.
- Игровая логика. Здесь происходит обработка всех правил и механик — физика движений, поведение врагов, реакция на столкновения, выполнение заданий, управление инвентарём и так далее. Всё это реализуется через код, написанный разработчиками, и может быть дополнено искусственным интеллектом NPC (неигровых персонажей).
- Графический движок отвечает за отрисовку всего того, что видит игрок — персонажей, окружения, эффектов и интерфейса. Современные графические движки умеют рендерить трёхмерные миры, учитывать освещение, тени, анимации и многое другое. Сводка коммерческих и open-source движков и фреймворков — в разделе «Полезные инструменты» на games.spirzen.ru.
- Физический движок имитирует законы физики внутри игры — падение предметов, столкновения, гравитацию, движение транспорта и так далее. Некоторые игры используют реалистичную физику, другие — упрощённую, чтобы сохранить игровость и скорость.
- Звуковая система отвечает за воспроизведение музыки, диалогов, шумов окружающей среды и звуковых эффектов. Также может поддерживать 3D-звук, где направление источника влияет на то, как звук доходит до игрока.
- Сохранение состояния - чтобы уметь запоминать прогресс игрока. Для этого используется локальное или облачное хранилище, куда записываются данные о состоянии мира, уровне персонажа, собранных предметах и других параметрах.
Когда игрок нажимает кнопку прыжка, сигнал передаётся в систему ввода, после чего игровая логика проверяет, находится ли персонаж на земле. Если да, то активируется прыжок - физический движок рассчитывает траекторию прыжка и силу гравитации, графический движок отрисовывает анимацию прыжка. Если персонаж приземляется на голову врага, то игровая логика определяет столкновение и уничтожает врага. Звуковой движок проигрывает звук победы над врагом, и все изменения сохраняются в файле.
Так работает каждое действие в игре - и логика может быть разнообразной и сложной, сочетая в себе программирование, математику, физику, искусство и психологию. Это полноценный программный продукт, работающий в реальном времени, с высокими требованиями к производительности, отзывчивости и надёжности. Именно поэтому создание игр требует знаний в области информационных технологий — путь от идеи до билда описан в разделе «Разработка игр», а первые мини-проекты на Python и Java — в практикуме. Почему мы вообще выделяем им время? Ну, во-первых, некоторым людям проще понимать вещи через ассоциативное мышление с играми. Во-вторых, многие мечтают стать разработчиками игр - а без программирования этого не достичь.
Play ITЗагрузка интерактивного демо…
Поиграйте в видеоигру — в любую из каталога референсов на games.spirzen.ru или свою любимую. Представьте эту игру как программу: как думаете, как она работает? Разберите её логику в своём понимании.
Дальше на игровом портале
| Если интересует… | Куда на games.spirzen.ru |
|---|---|
| Жанры, франшизы, культура | Игроведение |
| Рынок, платформы, издатели | Игровая индустрия |
| Unity, Unreal, Godot, пайплайн | Разработка игр |
| Первый код: Tetris, Match-3 | Практикум |
| Движки, Steam, каталог хитов | Полезные инструменты |
База для геймера — Игроведение → Каталог хитов.
Путь разработчика — Разработка игр → Движки → Практикум на Python.