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


Вампиры с зачатками самомодификации 16-07-2009 14:27 к комментариям - к полной версии - понравилось!


Итак, сегодня, у меня возникло желание поиграть в текстовые квесты, то есть interactive fiction. Точнее почва была подготовлена ещё дня четыре назад, но оценить кое-какую выбранную игру не удавалось из-за нехватки свободного времени и усталости.

 В качестве подопытного образца была выбрана русскоязычная игра "Вампиры", написанная на популярном движке URQ (Universal RipSoft Quest - на сленге движок зовут просто урка). Процесс ознакомления с особенностями движка, как всегда осуществлялся методом высокоинтеллектуального научного тыка. Где-то что-то успел прочитать, где-то что-то приметил. Конечно же, как всегда, потребовался интерпретатор.

Разные сайты, на которых выкладываются самые свежие игры, созданные на этом движке, обычно предлагают выбор из двух: досурка (URQ_DOS) и акурка (AkURQ). Есть ещё винурка (но она, судя по всему, не признаётся ценителями) и какая-то незавершённая поделка на Java. С досуркой дружба не сложилась сразу. Обычным способом она запускаться отказывалась, через командную строку сразу выкидывала после описания, а мучаться с досбоксом мне было лень. Ничего страшного, акурка вполне подходит для запуска всех URQ квестов, кроме зашифрованных и сохранённых с расширением *.qs2. С добычей акурки тоже возникли определённые сложности. Ни один интерпретатор больше не поддерживается разработчиками, да и сайтов по урке осталось не так много (вроде их всего два). В итоге последнюю версию (1.28 pre 6) я нашёл на фанатском форуме сериала Fargate(!).

Запуск прошёл удачно. Встроенная в интерпретатор возможность анализа игр показала, что загадки в игре сверхсложные и возможности движка используются на 150%, ну и так далее и так далее. Что же вышло на самом деле:

Первый затор случился уже в 4 комнате. Если знать, что делать понадобится меньше минуты, чтобы туда добраться. Итак, какова ситуация: есть закрытая дверь, открытию которой мешает верёвка и есть нож, который способен эту верёвку разрезать. Но игра не предлагает этой возможности. Применять вещи по собственному желанию я не могу, всегда предлагается какой-то вариант. Вот только в этому случае его просто нет. Ладно, надо что-то делать. Открываю файл с игрой, благо он представляет из себя скрипт. Нахожу необходимую строчку с выбором вариантов и там есть вариант "перерезать". Так почему же он не работает? Всё просто. Потому что автор забыл о особенности языка, на котором писал игру (в общем-то я её и не знал - пришлось догадываться) - язык чувствителен к регистру. То есть переменные нужно называть везде одинаково. У него же вместо "Нож" написано "нож". Ладно, можно свалить всё на бета-тестеров, исправил и продолжил игру.

Буквально на выходе из следующей комнаты персонажа тупо убивают, несмотря на то, что у него есть обрез с кучей патронов. В чём дело? А как же обещанные авторы варианты ведения боя? Их нет, зато есть забавный глюк - обрез можно брать бесконечно, тем самым увеличивая число патронов. Снова ищу ошибку. Да что ж это такое?! Опять вместо "Обрез" используется "обрез". Но теперь уже во многих местах. Ладно нас спасает автозамена, теперь в тексте встречается слово с большой буквы, но это ничего. У автора и так полно орфографических ошибок, которые не мешало бы исправить. Ух ты появились новые варианты, что можно делать в комнате. Опробовав всё, выхожу из комнаты. Да, что за напасть?! Опять убили. Теперь, видите ли, 8 патронов воспринимаются как один. Зато глюк с бесконечными патронами исчез. Проблема опять в большой букве. Но после исправления количество патронов в описании всеравно считается, как будто их на два меньше. Продолжаем играть, главное, что функции работают правильно.

Ух ты, начался экшн. Сразу две разборки с вампирами и спасение двух человек, хотя по большому счёту спасать стоило только одного. Очень скоро оказываюсь в помещении, где есть патрон для лампочки, которую (очень эротично) выкрутил в соседнем помещении. Но вариантов нет, а сохраняться можно всего 5 раз. Приходится запоминать все свои действия. Попутно замечаю, что имеется замочная скважина и два ключа, которые игра вставить туда не предлагает. Хорошо, заменяю слова "декоративный", "золотой" и "лампочка". Что же ждёт внутри? Электрощитовая. Нужно вставить провод заместо предохранителя, но игра не в курсе, что провод имеется в наличии. В итоге появляется желание навсегда избавить игру от багов заменив все, задействованные в качестве предметов, слова на одинаковые. Но приходится сдерживать себя, как же иначе заметить оставшиеся баги. Продолжаю играть в модифицированную версию.

Чуть дальше наши герои (да, их уже двое) находят порох. Тратится он в граммах, но из имеющихся 1000 в описании пишут, что остался всего один (как выяснилось из документации к языку URQL начальное значение каждой переменной равно 1, так что автору стоило при добавлении предмета увеличивать его значение, а он этого не сделал). В этой же локации герой должен терять спички, но они остаются в инвентаре (как выясняется позже их можно задействовать, поэтому они и не исчезают). Нельзя налить керосина в бутылку и получить коктейль Молотова. Нельзя вставить крест или библию в плиту. Кирпичи в склепе опять бесконечные. И меч, который должен быть в единственном числе, тоже бесконечный. Но это ещё не самая сильная ошибка. Ближе к концу игры нужно будет отбиваться от большой толпы упырей. Число вампиров равняется 25, а убить можно лишь 16. То есть, если бы игра работала нормально этот момент всеравно остался бы непроходим. Исправить было несложно, надо было всего лишь изменить цифры в условии, чтобы убивать сразу всех за раз. Дальше перечислены оставшиеся глюки. При переходе через лужу не распознаётся черенок. При сборе взрывчатки нельзя вставить в пейджер батарейку. При нажатии на взрывчатку правой кнопкой вместо "Осмотреть" показывается "(пусто)".

Ещё один неприятный глюк был связан с музыкой, точнее с её отсутствием. Связано это с тем, что при распаковке архива с игрой файл миди переименовался из "№1.mid" в "ь.mid".

Конечно, вполне возможно, что все баги были связаны именно с акуркой, а в досурке всё бы работало без сбоев до самого конца. Но тут уже стоит немного пожурить автора, исправить ошибки ведь было свосем не сложно. А ещё и вторую часть обещал, которая так никогда и не увидит свет. Зато, если взглянуть с другой стороны, то в какой ещё игре вам встретится необходимость редактировать её код вручную? А тут не только думать над головоломками нужно, но ещё и ошибки искать. Так-то!

P.S. Написал эту запись около полутора недель назад, но всё не решался опубликовать, думал не очень связно написано.

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Вампиры с зачатками самомодификации | Driveshaft - Дневник Driveshaft | Лента друзей Driveshaft / Полная версия Добавить в друзья Страницы: раньше»