Авторизация
×

Логин (e-mail)

Пароль

Интерактивные истории, текстовые игры и квесты
Гиперкнига

Библиотека    Блог

Посетите наш новый сайт AXMAJS.RU

Управление ошибками или роль планирования в создании текстовой игры. Часть 1-я

Евгений Туголуков (Korwin), 14.03.13 | Теория ИЛ

В этой статье я хочу рассказать о двух стилях программирования текстовых игр, и о том, как сократить трудозатраты на создание хорошей текстовой игры.

Прежде всего, как Вы думаете, произведение интерактивной литературы, это больше программа или больше книга?

Вы можете сказать, что это зависит от конкретного произведения, есть ведь и книги-игры*, есть и паззл-квесты*. И будете правы.

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

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

И, как любая компьютерная программа, она может содержать ошибки. Нет, даже не так. Она обязательно содержит ошибки!

И этот прискорбный факт есть реальность, в которой живут авторы интерактивной литературы. И тот, кто не признает эту реальность как факт, никогда не сможет создать популярную игру.

Итак, ошибки в программе были, есть и будут. Вопрос в другом: как сократить их количество при разработке, и, как потом отладить игру так, чтобы их не стало? Может быть, моя мысль кому-то, — но не программистам, — покажется странной, но создание ошибок необходимо планировать самому. В таком случае, вы, по крайней мере, будете знать какие они, где и в каком количестве они могут встретиться.

Начнем с процесса разработки. По отношению к ошибкам существует два метода, два совершенно разных стиля написания текстовых игр.

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

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

1. Найти идею текстовой игры.

2. Записать и оценить идею. Если не понравилась — повторить пункт 1.

3. Набросать план сюжета.

4. Оценить его с точки зрения реализации, интриги и привлекательности. При необходимости — повторить пункт 3.

5. Нарисовать карту игры. Набросать краткие описания локаций.

6. Написать список персонажей игры. Каждому дать краткую характеристику, историю, при художественных способностях — нарисовать рожицу, при отсутствии — найти подходящую картинку.

7. Написать список объектов, переменных, необходимых для игры.

8. Продумать и испытать необходимые сложные участки кода, использующиеся во многих местах игры.

9. Закодировать игру, опираясь на накопленные материалы.

10. Проверить игру на проходимость, наличие логических, литературных ошибок, то есть выполнить альфа-тестирование*.

11. Отдать игру бета-тестеру*. Исправить незамеченные ошибки.

12. Выпустить финальную версию игры.

Результатом такого подхода можно назвать замечательные игры «Драконы и принцессы» и «Приватир». В них чувствуется четкая структура, в них игроку понятно, куда идти и что делать, их алгоритмы работают безупречно.

Второй стиль чаще встречается у авторов гуманитарного склада ума. Они предпочитают писать под вдохновение, их персонажи могут быть очень яркими и запоминающимися. Часто их тексты лучше — более художественны и интересны. Тексты, но не игры. Почему?

Рассмотрим методику работы номер два («правополушарную» или интуитивную):

• Возник образ. Картинка в голове. Фраза или сцена. Есть ощущение, что это — очень интересно. Интересно автору, в первую очередь.

• Формируется сюжет, в который можно органично вписать эту картинку.

• Рисуется карта.

• Создается герой или персонаж.

• Создается кусок кода игры и описаний.

• По ходу придумываются загадки, диалоги, новые персонажи.

• При необходимости создаются объекты и переменные.

• Несколько кусков игры скрепляются вместе и, при таланте и везении игра более-менее обретает целостность, хотя и не соответствует первоначальному представлению автора о ней.

• Затем идет чистка очень многочисленных багов, неувязок, лишних переменных и переменных, написанных с ошибками.

• Игра выпускается в свет. Потом по замечаниям игроков дорабатывается продолжительное время.

Порядок пунктов произвольный. Включая последние. Наличие всех пунктов — не обязательно.

В качестве примера я могу назвать свою игру «Побег из рая», которая приобрела законченный вид уже после КРИЛ 2012. Если бы она была сразу создана такой, какая она есть сейчас, думаю, ее оценка на конкурсе была бы выше.

Первый, логический стиль, в принципе является технологией, то есть позволяет получить конечный приемлемый результат за заранее планируемое время.

Второй стиль, интуитивный — это искусство. Он может великолепно работать на простых маленьких играх, которые автор способен «удержать» в голове. Но для проектов среднего и большого размера без дисциплины автору уже не обойтись, будь он десять раз гений!

Какой из стилей программирования выбрать — решать только автору. Но, если вам ближе способ номер два, могу заверить, что использование хотя бы элементов первого способа может существенно сэкономить время на разработку игры и повысить удовольствие от ее создания!

В следующих частях я расскажу о конкретных приёмах, облегчающих «работу над ошибками».

ГЛОССАРИЙ

Книга-игра — литературное произведение, которое позволяет читателю выбрать продолжение сюжета. Чаще всего читателю предлагается стать главным героем книги и, в зависимости от принимаемых решений или от ситуации, он перемещается между главами. Таким образом, книга-игра читается не последовательно, а в той очередности, в которой читатель проходит главы. Компьютерные книги-игры отличаются значительным объемом текста и малой интерактивностью относительно других видов текстовых игр.

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

Альфа-тестирование — тестирование и отладка программы, выполняемые её автором, разработчиком.

Бета-тестирование (англ. beta testing) — интенсивное использование почти готовой версии продукта (как правило, программного или аппаратного обеспечения) с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (Релизом) продукта на рынок, к массовому потребителю.

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

Продолжение следует…

Комментарии: 4.

Профиль


Закрыть

Показать все комментарии

Евгений Туголуков (Korwin)
14.03.13 14:37

Во втором способе карта, как и любой другой пункт, не обязательны... Например, игру "Винни-Пух и другие звери" я писал, держа карту в голове. Но "Винни-Пух..." — это маленькая игра. В большой игре без карты обойтись трудно, потому что она позволяет упорядочить структуру игры и ничего не забыть.
Evetaell13
14.03.13 18:52

А я карту не всегда рисую.
Shamanux
19.12.13 14:22

Мне еще наверное рановато комментарии давать (пока сам интерактивную книгу не создал), но все же:

Всего два стиля? Думаю это искусственное ограничение. Вариантов (подходов) может быть больше.

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

При использовании любых материалов блога обязательно указание ссылки на источник