Читаем Ошибки разработчиков видеоигр. От идеи до провала полностью

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

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

Вовлеченность

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

Когда Терри Кавано, автор популярной в свое время игры VVVVV, опубликовал ее исходный код, пользователи были поражены количеству case в его работе (рис. 3). Лишних взаимосвязей в игре оказалось настолько много, что даже публикация исходного кода не дала проекту второй жизни в виде появления пользовательских модов и дополнений: разобраться в столь громоздком «макаронном монстре» и что-то туда добавить было не так-то просто.

Понятие case определяет, в каком состоянии находится игра: меню ли перед игроком, игровая сцена или финальные титры. Обычно их группируют вместе, но разработчик VVVVV, очевидно, не догадывался о том, сколько разных событий у него будет в игре, и под каждое состояние создавал свой case. В итоге «кейсов» у него вышло 4099. Тем не менее VVVVV – замечательная игра, заслужившая свой успех, и я ни в коем случае не пытаюсь обесценить талант Терри Кавано и высмеять его решения. Идеального кода не существует, каждый из нас лепит в свои проекты бессмысленный мусор. Я просто призываю к тому, чтобы заранее подумать хотя бы о том, сколько состояний будет у вашей игры, иначе вам придется страдать за свой продукт так же, как страдал Терри: он сам отзывался о своем коде как о держащемся «на слюнях и молитве» и выпившем у него немало крови. Игра работает, а значит, эти ужасные костыли не столь важны для конечного пользователя, но вот эмоциональному состоянию автора точно не позавидуешь.

Рис. 3. Часть исходного кода к игре VVVVV. Terry Cavanagh, 2010

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

Создание игры Yandere Simulator – симулятора школьницы-убийцы – ведется с 2012 года. Разработчик регулярно добавляет огромное количество абсолютно сумасшедших мелочей. Например, игрок может убить кого-нибудь ножом и тут же прижечь свежую рану жертвы горелкой – таким образом, когда он будет тащить труп по полу, тот не оставит кровавого следа. У каждого школьника есть свое расписание и даже своя обувь, которую он меняет при входе в здание образовательного учреждения.

Вся игра состоит из таких любопытных деталей, но вот уже больше десяти лет она никак не может перерасти в нечто большее. Разработчик-одиночка, стоящий за Yandere Simulator, уже прибегал к помощи издательства, но, когда к нему присоединился сторонний специалист, оказалось, что довести игру до ума почти невозможно: автор абсолютно все события, определяющие поведение сотни школьников в густонаселенном мире Yandere Simulator, выразил через простейшую и грубую связку операторов …if …else. В итоге имплементация каких-то глобальных новых механик оказалась невозможной, а сама игра, демоверсия которой тормозит так, словно запущенный на компьютере двадцатилетней давности Red Dead Redemption 2, всё еще не вышла в свет.

В Reflection of Mine по причине своей некомпетентности я абсолютно сумасшедшим образом реализовал меню паузы: в состоянии паузы скорость движения каждого игрового объекта умножалась на ноль шестьдесят раз в секунду. Объекты останавливались? Да. Но добавление любого движущегося элемента вынуждало меня возвращаться в «кейс» паузы и вписывать туда дополнительные условия. В итоге я подсознательно отговаривал себя от добавления новых подвижных игровых объектов во избежание необходимости тормошить этот собранный из костылей ворох, где малейшая опечатка ломала игру.

Перейти на страницу:

Все книги серии Видеоигры: Глубокое погружение

Ошибки разработчиков видеоигр. От идеи до провала
Ошибки разработчиков видеоигр. От идеи до провала

Как трезво оценивать свой проект?Что мешает грамотно планировать свою работу?Какие психологические особенности игроков стоит учитывать?Создание видеоигр – особое искусство. Инструмент разработчика – не компьютер, не игровые движки, а мозг. Книга «Ошибки разработчиков видеоигр. От идеи до провала» объяснит, как избежать самых распространенных ошибок, научит грамотно анализировать выбранное направление, четко оценивать свои силы и не опускать руки на пути к своей цели.Слава Грис – разработчик-одиночка, создатель Fearmonium, Catmaze и Reflection of Mine. Он прошел путь от фрилансера до организатора собственного видеоигрового издательства. Его первая книга «Сделай видеоигру один и не свихнись» стала очень популярна среди читателей. Будучи магистром психологии и куратором множества команд, делающих видеоигры, автор рассмотрит проблемы разработчиков с учетом особенностей человеческого мышления и расскажет о неочевидных способах воздействия на игрока. Эта книга будет полезна начинающим разработчикам, которые не хотят ничего упустить.В формате PDF A4 сохранён издательский дизайн.

Слава Грис

Программирование, программы, базы данных
Сделай видеоигру один и не свихнись
Сделай видеоигру один и не свихнись

Всегда хотели делать игры, но не знали с чего начать? Много идей и все хочется реализовать? Страшно браться за что-то новое с нуля? Мысли о программировании вводят в панический ужас?Тогда эта книга именно для вас. Она поможет понять, как правильно начать работать, где искать ответы на вопросы и самое главное – как не сдаться и довести дело до конца, став настоящим разработчиком видеоигр.Слава Грис – разработчик-одиночка. На его счету уже три видеоигры, вышедших как на ПК, так и на консолях современного поколения. В своей книге он расскажет, как научиться делать видеоигры одному и начать карьеру разработчика, не имея ни стартовых знаний, ни опыта, ни специального образования!Эта книга станет вашим трамплином к успеху!В формате PDF A4 сохранён издательский дизайн.

Слава Грис

Руководства
Архитектура видеоигровых миров. Уровень пройден!
Архитектура видеоигровых миров. Уровень пройден!

Почему видеоигровые миры увлекают на долгие часы? Какие элементы дизайна могут рассказать об устройстве мира больше, чем сюжет игры? Что общего у Cyberpunk 2077 и Dragon Age II?В книге «Архитектура видеоигровых миров» авторы изучат эти вопросы сквозь призму архитектуры: как она влияет на разработку игр, почему в одних мирах нам хочется задержаться подольше, а другие поскорее покинуть. Первое, что можно увидеть, запуская игру, – окружающее пространство. Чтобы выстроить его правильно, нужно обладать наблюдательностью, пониманием человеческого быта и широким кругозором, ведь то, что доставляет человеку удобство и комфорт в реальной жизни, может не сработать в виртуальном пространстве. Но даже в этом случае разработчики всегда находят способ удивить игрока. Как это происходит?Архитектор Мария Важенич в соавторстве с разработчиком Артемием Козловым и исследователем Иеронимом К. помогут разобраться в том, почему архитектура настолько важна для видеоигр. Книга будет интересна как архитекторам и геймерам, которые хотят узнать о видеоиграх больше, так и разработчикам и дизайнерам, ищущим новые инструменты и приемы.В качестве дополнительного материала к книге прилагается цифровой альбом со скриншотами игр, который можно посмотреть при помощи QR-кодов, расположенных в начале каждой главы.

Артемий Викторович Козлов , К. Иероним , Мария Важенич

Хобби и ремесла

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных