Игровая разработка: про создание игровых прототипов

Мы возобновляем написание материалов по игровой разработке. Точнее — заметок о том, как сделать игру и возникающих при этом вопросах. Это не обучающие материалы, а описание пути и процесса. Была идея запустить цикл статей сторонним проектом, но сегодня стало понятно, что это не имеет смысла. Ни на какую глубокую серьёзность не претендуем — это путь новичка (с вялым четырехлетним опытом, ага).

Про создание игровых прототипов

Так уж получается, что с программированием я не дружу. За спиной курсы и уроки по basic, pascal, c, c++, php, java, perl, angelscript, actionscripts 2 & 3. Пара сертификатов, десяток учебников, понимание алгоритмов и принципов написания программного обеспечения. Но не моё это, мышление не так устроено, практики мало — не знаю. Куда легче написать несколько страниц творческого текста или даже технического задания, спроектировав всё в голове, нежели сидеть с кодом. Хотя в последнем часто удаётся получать восторженные эмоции от того, что код заработал как надо. Такой уютный, детский подход к программированию.

Construct 2
Construct 2

Но в любом случае нужен инструментарий для того, чтобы создавать прототипы. Без этого никуда. Интересную идею можно обкатать в голове, но даже простая компьютерная модель будет в разы эффективнее. Пробовал делать прототипы на С++ в своё время — гибко, но долго. Позже перебрался на Flash — оптимально по соотношению графических удобств и затрат на написание кода. Если хочется делать серьёзные игровые прототипы — Flash будет удобным решением. Но всё равно многое приходится изучать в процессе и нужной скорости не появляется.

Ещё есть Game Maker и Construct 2. Первый — довольно удобный, если потратить пару дней на изучение. Куча примеров, гайдов и обучающих материалов накопилась за годы развития проекта. Но недавно случайно наткнулся в стиме на Construct 2 и был приятно удивлён — очень быстрое создание рабочих образцов геймплея, множество заготовок под разное поведение (столкновения, физика, движение), поддержка различных мобильных платформ, да ещё и расширяемость с помощью java. Тоже надо разбираться, конечно, и привыкать к особенностям. Но это, пожалуй, одно из лучших решений для создания прототипов.

Мне, впрочем, оно подходит на половину. По прошлому опыту, самое интересное — создавать механику с различными кнопочками, отвечающими за разные действия. Т.е. все эти навороты вроде физики, передвижения и прочего не нужны — важнее иметь возможность писать код и принимать действия от пользователя. И вот какого-то быстрого и удобного решения для этого найти пока не получается. Будем искать.

Как ни странно, через пару дней после публикации части статьи, случайно было обнаружено обучающее видео по Unity, о создании играбельного прототипа за 30 минут. Смотрите:

Unity потрясающий. Собрать основу для трёхмерной бродилки можно за пять минут. Тьма обучалок и готовых ресурсов. Скрипты (тут предстоит разбираться, но это стоящий вариант). Отладка непосредственно в процессе разработки. Просто нет слов. Я совершал раньше несколько подходов к движку, но без особых результатов. А после видео выше, посмотрел его ещё раз, понимая общий принцип «создаём объект и навешиваем на него свойства» (спасибо Construct 2, как ни странно). И всё заработало, моментально, сразу. Персонаж — есть. Земля — есть. Горы и долины — есть. Правим физику — пара кликов. Освещение — есть (опыт работы с 3dmax помогает ориентироваться во всем, принцип тот же). Деревья — генератор подключается двумя кликами, есть. Физика для деревьев — пара кликов. Вода — есть.

Итого минут за 15 уже есть что-то, запускающееся с симпатичной картинкой в фулскрине. Конечно, механики никакой — и именно над ней предстоит работать, именно для неё учиться много часов. Но как основа для прототипов (и полноценной реализации, чего уж), Unity — идеальный инструмент. Дальнейший путь в игровой разработке и игровом дизайне хочется пройти именно с Unity, хотя бы в ближайшее время.

Post Author: Evgeniy Nesterovskiy

Главный редактор проекта SmartGaming.ru