2 июня, одновременно с началом фотобаттла в ингейме,
D3mark0 вызвал меня на фотографическую дуэль в Counter-Strike: Source на карте de_dust2. поскольку он выбрал игру и карту, в ответ я предложил тему — комикс, ограничение на максимальное количество снимков (не больше 3) и срок до 15 июня.
с самого начала я знал две вещи: что постараюсь как можно сильнее абстрагироваться от геймплея и нарратива игры, и что каждая страница будет создаваться полностью на движке, без вмешательства графического редактора. в последний раз я играл в какую-либо версию каэски в компьютерном клубе в 2005, так что мне предстояло выяснить, до какой степени то и другое было возможно.
после трёх дней предварительных тестов, пристально изучив все уголки карты и список ассетов, которые можно заспавнить через консоль, я набросал сценарий для каждой страницы. мне хотелось обжить de_dust2, трансформировать его в медленное, обитаемое пространство; из этого сама собой сложилась точка зрения приезжего, который поселяется там, и картина мира, в которой нет террористов и контр-террористов, а есть только горожане — то есть заложники — то есть вообще-то горожане сити-17, персонажи совсем другой игры, которых разработчики из соображений экономии поместили в другой сеттинг, назначив новую роль, и с которыми я ещё раз проделал то же самое. мне хотелось, чтобы их быт был обволакивающе абсурдным, и чтобы этот абсурд вырастал из возможностей сценографии, которые предоставляли мне игровая консоль и Cheat Engine. эти идеи определённо созвучны машинимам Джима Манро (
My Trip To Liberty City,
Yoga Deathmatch) и той логике, в которой существует Garry's Mod (только я словно бы оказался в ситуации, когда Garry's Mod ещё не изобрели, и его предстояло изобрести заново).
о технической стороне:
поскольку мне хотелось, чтобы страницы были вертикальными, я запускал игру в окне с параметрами -w 1280 -h 1800.
для спавна объектов я использовал команды ent_create, prop_dynamic_create и prop_physics_create с дальнейшей правкой координат в cheat engine. что касается кадров, то игра уже позволяет масштабировать порт просмотра через консоль (команда mat_viewportscale), и я с помощью cheat engine мог перемещать по окну этот кадрик, настраивая его размеры и соотношение сторон. с этим подходом, впрочем, не всё было гладко: при открытии консоли или меню игра стирала с экрана всё, кроме текущего кадра. поэтому от меня требовалось заранее расставить весь реквизит для страницы, а для всех консольных команд, которые были бы мне полезны в процессе, найти соответствующие инструкции в cheat engine или в ряде случаев просто назначить им клавиши, как я сделал с командами ent_rotate (вращает объекты) и dlight_debug (ненадолго создаёт источник света перед игроком). в ходе съёмки первой страницы дала о себе знать ещё одна проблема (с учётом сценария, очень серьёзная): эффекты - в том числе блум - не просчитывались для кадров, находящихся где-либо кроме верхней левой части окна. справиться с этим вышло только на следующий день. вообще, каждая съёмочная сессия занимала у меня часов по шесть, из-за чего вылеты и подобные заминки, заставлявшие начинать всё сначала, были очень фрустрирующими — но в целом это был очень вознаграждающий опыт.
текст я вбивал в меню радиокоманд, изменив размер шрифта в конфиге; для создания рамок вокруг кадров я сначала создавал кадры побольше с каким-нибудь однотонным содержимым (тут помогала в частности команда mat_showmiplevels). чтобы не ошибиться с координатами кадриков, я набрасывал раскадровку в paint (он показывает координаты пикселей) и записывал значения в блокнот. фон третьей страницы - это кусок карты освещения, вызванный с помощью mat_showlightmappage. наконец, белый неопознанный объект, который горожане не могут прочитать — это drawcross, заспавненный пять раз с небольшим смещением.