Создание компьютерной игры
Создание компьютерной игры похоже на написание книги — в общем случае надо не только много знать из разных областей, но и уметь подходить к процессу творчески. В художественной литературе писатель может работать только со словом, а в компьютерной игре автор работает с мультимедийным множеством звука, видео, интерактивности и нелинейности.
Универсальная игра сочетает в себе три качества — история, творчество, соревнование. Сочетания этих качеств приводят к опыту — воображения, навыка и драмы.
Может показаться что ныне самому создать популярную игру невозможно. Разобраться с самыми передовыми технологиями, продумать сюжет, нарисовать графические основы, воплотить правила в жизнь, озвучить.. для одного человека необъятно. Но не стоит забывать и про растущую открытость технологий, облегчающую весь процесс.
Выбор идеи и типа
Самый простой способ достичь успеха - посмотреть как это делают другие, взять существующие идеи и вылизать их до блеска. Развитием этого этапа занимается сценаристы и дизайнеры. Общую тему для сценария игры можно взять из таких тем как:
- фантастика / будущее / космос
- фэнтези / мифология / религия
- реальность / история / криминал / война / симуляция / строительство / спорт
- математические и физические головоломки
- художественная литература
Дальше - продумать против чего игрок должен бороться и чем управлять. Это конкретные активные противники (стратегии / стрелялки) или же результат деятельности самого игрока (логические игры). В результате сценария игра так или иначе приводит к жанру и способам управления:
- Аркады. Как правило легко реализуемые двухмерные пространства с простыми правилами столкновений, движения и тп. Это могут быть космические стрелялки, всяческие "офисные киллеры" на flash
Tennis, Snake, Pacman, Bomberman, Mario - Квесты_/Приключения_. К настоящему времени практически вымер как вид, слившись с RPG. Развивает индуктивность игрока по сложению и совмещению вещей для достижения цели._
Monkey island, sam & max, grim fandango_ - 2х и 2.5-мерные (изометрические) стратегии и ролевые игры. Тренируют у игрока баланс ресурсов и выполнение квестов соответственно.
Dune, Warcraft, C&C - 2.5D и 3D стрелялки. Игры на реакцию и плановый расход патронов. Квесты как правило очень упрощены
- Бесконечные строилки. Игры теоретически бесконечные типа SimCity, Sims, Black and White, Populous. Цель в поддержании процесса за счёт управления многочисленными падающими параметрами преступности, пожароопасности, голода, сна и тп.
- MMO - в общем случае не обязательно RPG, тут основная цель игрока - рубиться на пару с другими живыми людьми а цель игростроителя - выкачивать деньги со своего опиумного поля для народа. Браузерные игрушки типа «Бойцовский клуб», Ферма вконтакте и тд.
Втягиваемость
Человек поглощает информацию как пищу - обучение как физиологический процесс приносит удовлетворение когда после привыкания к условиям, человек приспосабливается и играет успешно. Итого можно выделить уровень умения игрока, скорость обучения и интерес к игре в определённый момент. Этот процесс вникания и интереса психологи называют потоком, и правильный концепт игры должен учитывать целевую аудиторию на которую она расчитана.
Разные жанры по разному подходят к увеличе нию времени игры. Квесты стараются сделать более нелинейными, спрятать пасхальные яйца что-бы ситуацию можно было обойти разными способами. Стрелялки разбавляют разными степенями сложностями (видимо просто одна глобальная переменная). В стратегии вносят возможность сыграть за разные фракции. РПГ - за разные классы. Аркады - разный фон, музыку, цвета и типы моделей.
Важные пункты: графика, анимация, звуки, интерактивность, видео-вставки, сетевая игра, искуственный интеллект, атмосфера, привязываемость, неповторяемость, оригинальность.
Игра как правило делается так, что-бы сначала заинтересовать игрока, учитывая что сначала скорость обучения низкая, а под конец удержать его новыми идеями. Это могут быть постепенно открывающиеся способности героя, новые юниты, квесты, карты, противники. Итак, правильная скорость обучаемости увеличивает интерес.
Механика и баланс
Игровой баланс - частая тема для критики игр. Даже если продумана обучаемость и реализованы уровни сложности для диверсификации игроков по умениям, сбалансировать юниты, тактику противника а также многие физические параметры может быть проблематичным. Баланс отвечает за справедливость - что-бы нельзя было использовать всегда победную тактику, найти супер артефакт на начале игры.
Баланс очень связан с математикой. Если в стратегии делаются 3 разных расы, или в РПГ 3 класса, то каждый из них получает какие-то уникальные преимущества — скорость постройки/регенерации/движения/атаки/восстановления способности, размер атаки/жизни/меткости/критичного бонуса/защиты. Некоторые из них можно легко просчитать и свести к балансу (размер жизни и атаку например).
Типы баланса
Игрок против игрока
- Равенство — все имеют равный шанс для выигрыша в начале игры
- Догоняемость — у игроков «разумный» шанс догнать увеличивающуюся сложность игры
- Политика — в командной игре личные заслуги награждаются выше социальных
Игрок против среды
- Умеренная сложность — начальные уровни ознакомительные, которые дают начальное чувство достижения
- Умеренные размеры ресурсов
- Отсутствие единого стиля для победы
Экономика
Практически во всех играх кроме квестов и игр на логику есть манипуляция с числами — деньги, здоровье, аммуниция, ресурсы. Для правильного балансы надо расчитать входы (число healthpack'ов, шахт с золотом) и их место и выходы (затраты на уничтожение монстров).
Начав про книги, нельзя не отметить что хороший сценарий игры может дать чуть ли не более половины от успеха. Сценарий практически означает необходимость в концепт-дизайне уровней, противников для создания реалистичности, атмосферы. Последнее в свою очередь нуждается в озвучке персонажей, фоновой музыке.
Движки
Когда дело доходит до практики, то писать игру с нуля на C++, C#, Python, Lua не самое разумное решение. Во-первых прийдётся первое время заниматься математикой проекций (если это 3d), столкновений, поиска троп, анимации.. Выгодней использовать существующие движки и уже заниматься интегрированием существующих ресурсов и логики с движком. Вот самые-самые на данный момент:
- Unreal engine 3 (Epic). Нацелен на 3D игры от первого или третьего лица. Отличная генерация светотеней (lightmap)
- Gamebryo Lightspeed (Emergent Game Technologies).
- CryEngine3 (Crytek)
- Unity3D. Урезанная версия бесплатна. Есть просмотр в браузере и iphone.
- Gamemaker (2D). Написан давно на Delphi причём достаточно хреново. Не совсем возможно работать с полупрозрачностью png, большая загрузка памяти. В основе лежит разделение игры на комнаты и объекты. Они в свою очередь описываются спрайтами, звуками и полностью контролируются скриптами. Скрипты можно писать визуально кнопками
- Torque 3D
Как альтернатива всегда остаётся Adobe Flash для web-ориентированных игр (Assembler, Bouncer, Robokill Trainer, Про ёлку, Порули как Ансип, Tiget of Misore. Для него существуют тоже множество скелетов:
Графика
Как видно выше — в зависимости от движка нужна своя графика. В 2D играх это спрайты которые неприятно отрисовывать для анимации, для изометрических игр кроме спрайтов ещё надо учитывать и что впереди чего находится, а для 3д игр — создавать модели. Дизайн для casual games можно посмотреть у компаний kraisoft, armor games. Текстурі - gamesanatomy, blitzkrieg, sprite database. А 3d модели можно купить на turbosquid.com, впрочем надо учитывать что для игр обязательно нужны низкополигональные модели — никакой движок не сможет учитывать всю механику и логику, да ещё и поддержывать высокий FPS с тысячами бегающих фигурок с качеством от_render_'нутого фильма.
Музыка
Помоему самые хорошие музыкальные сопровождения у Heroes of Might and Magic 3, Max Payne 2 и Oblivion. Отличаются профессиональным оркестром. Но даже и без него много музыкантов специально работают на эту индустрию. Есть несколько сайтов посвящённым либо коллекционированию озвучки эффектов, либо существующих OST. Надо понимать что это специфичная музыка и во многом зависит от игры — некоторые просто фоновые, другие зависят от состояния персонажа (битва, специальная локация, меню).
Читайте также
-
Статьи на Gamedev.ru
-
Текущие разрабатываемые игры на dtf.ru
-
Opensource 3х-мерная игра Yo Frankie
-
0 A.D. - opensource 3d RTS игра на C++