4 сентября 2003 года.
Отправка игры «в печать» — сложный процесс. Мне нравится разбивать его на три этапа — паника, принятие и ожидание.
Этап первый — паника
Когда перед «отправкой в печать» игру едва-едва начали тестировать, а у тебя список дел в километры длиной, легко почувствовать себя подавленным. Ты пытаешься найти ужасающую ошибку в коде до того, как её найдёт кто-то другой, и тем поставит тебя в неловкое положение. Некоторые механики нужно серьёзно переделать, причём прямо сейчас, чтобы код успели протестировать. Тестировщики шлют отчёты об ошибках, но ты их уже не читаешь, поскольку любой взглянувший на игру хотя бы три минуты и так поймёт, насколько всё плохо. Коллеги приходят в твой кабинет по 3–4 раза в день и ждут, что ты тут же бросишься решать их проблемы. В такие моменты самое время переходить к тактике «извинись и отложи», суть которой в том, чтобы делать действительно важное, а не выполнять чужие прихоти. Вот мои любимые отговорки:
- Вы точно всё проверили? Поможет избавиться от человека на пару часов.
- Попробуйте перезагрузиться. Человек уйдёт на пару минут, но, возможно, отвлечётся и уже не вернётся.
- У меня всё работает. Так ты перекладываешь вину на обнаружившего ошибку — ведь очевидно, что это он во всём виноват.
- Вопрос не ко мне. Старая добрая отмазка. Желательно, чтобы назначенный ответственным был в отпуске, уволился, умер или что-то подобное — тогда он не придёт к тебе с доказательствами, что это именно твой косяк.
- Я этого не делал, поэтому это точно не я. Вариант хорош тем, что люди теряются и не знают, к кому идти.
- Я добавил это в список задач. Обычно проходит несколько месяцев, прежде чем люди догадываются, что это означает НА САМОМ ДЕЛЕ.
- Ух ты! Приходите, если повторится.
- Это не баг, это фича.
- Я исправил это ещё вчера.
- Ни один игрок такого не сделает.
- А если сделает — значит заслужил вылет из игры.
- Это пройденный этап.
- Если завтра повторится, я обязательно гляну.
- Вы всё врёте.
Этап второй — принятие
Вы уже сократили список ошибок до вменяемых размеров. Коллеги донимают 3–4 раза, но не в день, а в час. Вы смотрите отчёты тестировщиков, поскольку указанные в них ошибки уже не всегда видны невооружённым глазом. Персонаж внезапно пропускает ход или монстры ведут себя как-то странно? Часы летят один за другим. Временами кажется, что ошибки находят быстрее, чем ты их исправляешь. Кажется, будто первая половина дня уходит на то, чтобы исправить ошибки, появившиеся в результате исправления вчерашних ошибок. Но всё же с каждым днём игра становится заметно лучше. До конца ещё далеко, но уже виден свет в конце тоннеля. Ты понимаешь, что это лишь вопрос времени.
Этап третий — ожидание
После нескольких месяцев работы по 12/14/16 часов в сутки игра отправляется на окончательное тестирование, и остаётся только ждать. Пока тестировщики ищут серьёзные ошибки, мы всей командой играем. Это забавно: на этом этапе нельзя вносить никаких изменений, дабы не наплодить вереницу новых ошибок, и каждый всплывающий мелкий косяк будто издевается над тобой. Если тестировщики находят ошибку, мешающую выпустить игру, приходится бросать всё и исправлять как можно скорее.
Для многих разработчиков это первая возможность взглянуть на игру со стороны. Работая над игрой, ты зачастую за деревьями не видишь леса. Для тебя это лишь набор механик, скреплённых общим художественным оформлением — но вот теперь это настоящая игра. И к тому же интересная. Помню, как художник Крис Гленн командовал отрядом скелетов, улюлюкая и крича: «Я могу их оставить? Правда? Супер!» Он напал на Хоммлет с армией нежити. Глядя, как коллеги весело проводят время, испытываешь смесь радости и облегчения. Нельзя просто так взять и сделать игру увлекательной: все понимают, когда им нравится игра, но, кажется, в коде для этого нет отдельной переменной (найдёте — ставьте 8, если и этого мало — пусть будет 9). Вам кажется, будто вы знаете, как сделать увлекательную игру, используя абстрактные идеи в своей голове, но в конце концов, у тебя либо получается, либо нет, а до тех пор ты просто боишься.
Именно на этом этапе отлавливать ошибки становится по-настоящему трудно, ведь в списке остаются лишь невоспроизводимые. Вы разговаривали с Джару, но он не принял успешно выполненное задание? Вчера всё работало. А что изменилось? Ничего. Давайте попробуем так. Работает. И ещё так. Тоже работает. После нескольких часов гадания на кофейной гуще мы узнали, что ошибка появляется лишь если спутник Элмо — первый в отряде. Temple of Elemental Evil — большая игра со множеством областей, заданий, диалогов, спутников, заклинаний, магических предметов, классовых и доменных способностей, умений, интерфейсов и рас. Dungeons & Dragons — сложная система со множеством правил и исключений, но именно этим она увлекает. Сюжет игры нелинеен и подразумевает множество способов достижения целей. В общем, тестировать всё это — та ещё каторга. Однажды тестировщики сообщили, что из-за фамильяра у них вылетает игра. А у меня всё работало. Оказалось, что проблема с конкретным фамильяром, которым я никогда не пользовался.
Но в какой-то момент разработка закончится и игра отправится на прилавки магазинов. Ура! Пара бахнуть чего-нибудь покрепче. Надеюсь, вам понравится эта игра. Мы ей очень гордимся. ▲
Шон Крейг, программист The Temple of Elemental Evil в Troika Games