Как и многие здесь, я люблю серию компьютерных игр Fallout. Вокруг неё существует целое движение фанатов, которые делают «реальные» копии каких-либо предметов из игры. Есть очень удачные реплики оружия, брони и расходных материалов, а вот другим объектам игрового мира везёт меньше. Мне в голову ещё давно закралась идея это исправить, но толчком к началу работ, как всегда, послужил случай. Летом 2014 года коллега по форуму modding.ru подарил мне ненужный ЭЛТ-монитор от системы видеонаблюдения. И тут, как говорится, всё заверте...
Я понял, что маленький 9-дюймовый монитор отлично подойдёт на роль кинескопа в настольном компьютерном терминале, с которыми так много приходится взаимодействовать игроку в Fallout 3/New Vegas. Тем более что, к моему удивлению, хорошей реплики этого терминала никто до сих пор так и не сделал. Лучший на данный момент вариант весьма далёк от игрового, а порой используются и вовсе примитивные картонные муляжи:
Думаю, для не игравших в новые версии Fallout стоит рассказать немного о том, что это вообще за терминалы такие. Они встречаются в игре в огромном количестве и используются для чтения сообщений, открытия сейфов и дверей, подачи команд роботам, управления другим оборудованием и даже в качестве мин-ловушек. А процесс взлома таких терминалов представляет собой отдельную мини-игру с подбором пароля.
При разработке их внешнего вида гейм-дизайнеры явно вдохновлялись футуристическим (на момент появления) обликом компьютерных терминалов 70-х гг., но в соответствии с игровым сеттингом все пластиковые детали были заменены на стальные, а полупроводниковые элементы внутри, по крайней мере частично, — на ламповые.
Свою реплику терминала я решил сделать максимально приближенной к игровому оригиналу. Естественно, с поправкой на то, что фантазия разработчиков игры, по сути, ничем не ограничена, а мне нужно учитывать реалии нашего мира.
Но прежде чем начинать работу, нужно было, конечно же, проверить возможность вывода картинки на монитор. Подключить его к обычной видеокарте нельзя: монитор имеет «телевизионную» чересстрочную развёртку, а значит, для него нужна видеокарта с разъёмом S-Video.
К счастью, в моих закромах такая нашлась — до боли знакомая многим GeForce2 MX 400. Для калибровки изображения я использовал по прямому назначению старую настроечную таблицу, которую можно встретить в игре как элемент антуража. Пришлось немного пошаманить с ручками монитора (их на нём целых 8) и переключателем импеданса, но в итоге удалось получить чёткую и контрастную картинку во весь кинескоп.
Нетрудно заметить, что монитор чёрно-белый. А значит, для имитации зелёного свечения люминофора мне понадобится тонирующая плёнка или цветной лак. Но это мы пока отложим на потом.
Убедившись в работоспособности монитора, я приступил к работе над чертежами будущего терминала. Чтобы было от чего отталкиваться, я вытащил его 3D-модель из архивов игры с помощью программ FO3 Archive Utility и NIF Scope и сделал проекции.
Сейчас я уделяю этому пару предложений, но в реальности на то, чтобы спроектировать и нарисовать все эти детали, ушли десятки часов. Нужно было придумать способ соединения панелей корпуса, разработать конструкцию внутренней части, согласовать габариты терминала с габаритами монитора и много чего ещё. Даже сейчас, когда большая часть деталей уже готова, я продолжаю вносить коррективы в конструкцию.
В процессе работы я обнаружил, что 3D-моделлеры Bethesda исказили традиционные пропорции клавиатурного блока, сделав клавиши более узкими, чем у любой из подходящих клавиатур. Поэтому пришлось немного отойти от полной копийности. За основу я взял старую клавиатуру времён Windows 95, от которой мне нужно было оставить чуть больше половины.
У неё удобная конструкция — по сути, блок клавиш представляет собой просто пластмассовую панель с отверстиями, в которые вставлены колпачки кнопок. К тому же она достаточно древняя сама по себе, и форма её кнопок отлично подойдёт для ретро-терминала. В дальнейшем кнопки, естественно, будут покрашены, и символы на них я нанесу заново.
Правда, клавиатура является плёночной, и скептики говорили мне, что укоротить её не удастся. Но у меня была одна идейка...
А теперь делаем финт ушами. «Евреи-хипстеры не обрезают, а подворачивают!»
Плёнка совершенно спокойно перенесла такую операцию, даже дополнительную прокладку ставить не пришлось.
После клавиатуры я принялся избавлять от «лишних деталей» монитор.
В реальности трубка кинескопа оказалась чуть длиннее, чем в мире Fallout, но это можно скрыть за чуть более глубоким кожухом.
Прежде чем переходить к изготовлению внутреннего каркаса, я решил проверить, хорошо ли всё сходится, на уменьшенной модели. Будем клеить терминальчики!
Моделька получилась ладной и прочной, даром что сделана из бумаги и мягкого пластика. Косвенно это подтверждает правильность выбранной конструкции, а значит, можно переходить к работам в масштабе 1:1.
Материалом для каркаса я выбрал 11-миллиметровую фанеру, оставшуюся от ремонта, — дёшево и сердито, а видно её всё равно не будет.
Увы, первую партию деталей пришлось выбросить. И не потому, что я ошибся с размерами, а потому, что рукожопые производители этой фанеры ухитрились склеить её так, что где-то в ней было 7 слоёв, где-то — 8, а где-то — так и все 9! Соответственно, и толщина этого слоёного пирога гуляла так, что о ровной подгонке деталей нечего было и говорить. Но в конечном счёте я нашёл хороший кусок и всё переделал.
До сего момента я ни слова не сказал о программной составляющей проекта, хотя она не менее важна, чем «железная». Ещё в самом начале своих экспериментов я решил погуглить, не написал ли уже кто-то эмулятор терминала RobCo. Первым делом я наткнулся на онлайн-версию мини-игры со взломом пароля за авторством некоего Митчелла Томпсона. В ней весьма точно воспроизведена игровая механика и даже позаимствованы все звуки, но, к сожалению, не реализованы остальные возможности терминала.
Поиграть можно тут.
Но затем я нашёл практически то, что нужно, — RobCo UOS Emulator Beta 1.2. Сообщения на форуме fallout3.ru, где обсуждалась эта программа, были датированы 2011-м годом, но ссылки на скачивание оказались по-прежнему активны, так что я решил посмотреть, что же это за эмулятор. Оказалось, что он работает в текстовом консольном режиме и весьма точно воспроизводит процесс взлома терминала из игры — ввод «хакерских» команд, мини-игру с угадыванием пароля и переход в «главное меню». На этом старом видео можно посмотреть, как всё выглядит вживую на экране моего монитора:
Через некоторое время я связался с автором (его никнейм — Zetoris), и он с радостью откликнулся на моё предложение доработать программу. В итоге мы добавили в эмулятор почти все возможности, которые были у терминалов в мире игры.
В списке могут содержаться самые разные пункты в любом количестве; поддерживается вложенность и перекрёстные ссылки. По сути, можно воссоздать меню и содержание любого терминала из игры. В данном примере:
Diary — доступ к ранее созданным записям. Можно вести дневник, как это делали многие NPC в игре.
Sten-o-pool 3500 Word Processor — текстовый редактор, с помощью которого можно добавлять и редактировать записи (название взято из игровой вселенной).
Settings — настройки, в первую очередь смена пароля.
Engage/disengage lock — управление электронным замком. Реализовано через отправку сигнала на LPT-порт, который после усиления транзистором вызывает срабатывание реле. При желании этот пункт можно переименовать и заставить терминал управлять любым другим электрическим устройством (или несколькими независимыми).
В процессе работы над эмулятором мы выяснили, что терминал в игре использует режим 54 × 25 символов (обычно с ограничением по ширине до 45 знаков в строке), тогда как стандартный режим DOS — 80 × 25. Наверное, можно было бы заморочиться и сделать собственный текстовый режим (да и вообще писать эмулятор не под DOS), но мы решили следовать по пути наименьшего сопротивления.
Таким образом, мне нужно было растянуть картинку по ширине, чтобы её края как бы ушли за пределы экрана. Хотя у моего монитора имеется аж восемь ручек регулировки, ручки изменения горизонтального размера среди них нет. За советом я обратился к @als111, и он подсказал, что размер изображения по горизонтали в таких мониторах задается не подстроечным резистором, а катушкой индуктивности. Картинка будет тем больше, чем индуктивность меньше. Ферромагнитный сердечник катушки и так уже был выдвинут на максимум, так что я стал её разматывать.
В итоге удалось получить вот такое изображение:
Регуляторы яркости и контраста я выпаял из платы и перенёс на переднюю панель терминала (если помните, на ней как раз есть две большие ручки).
Процесс работы над терминалом шёл небыстро, и за это время успела выйти четвёртая часть Fallout. В ней терминалы сохранили свой узнаваемый облик, хотя некоторые детали всё же изменились.
Причём большая часть изменений оказалась мне на руку, так как исчезли многие нелогичные элементы в конструкции и появились ответы на давно мучившие меня вопросы — скажем, где у терминала кнопка включения и куда в нём вставляются голодиски. В итоге я доработал свою модель, совместив в ней черты терминалов из третьей и четвёртой частей игры.
Теперь немного о том, на каком железе всё это будет работать. Выше я упоминал видеокарту GeForce2 MX 400. Она имеет интерфейс AGP, а значит, мне нужна была материнка с соответствующим слотом, причём как можно более компактная. И такая нашлась в моих запасах — древнейшая Soltek SL-54U1, ещё с ISA-слотами, рассчитанная на процессоры под Socket 7. Кажется, она осталась у меня со времён экспериментов с разгоном старых процессоров (ваш покорный слуга одно время даже был обладателем мирового рекорда по разгону Pentium MMX — ныне, естественно, многократно побитого).
Но вернёмся к терминалу. Я решил, что будет довольно забавно использовать ретро-железо для воссоздания ретро-терминала. Конечно, можно было бы поставить туда какой-нибудь микрокомпьютер типа Raspberry Pi и не заниматься некромантией, но тут уже вступил в дело спортивный интерес. В общем, я нашёл все остальные комплектующие, получил тот самый AGP riser в невероятной упаковке, и собрал вот это:
На жёстком диске установлен чистый DOS, а в автозапуске прописан наш эмулятор. Хард в данном случае является не только носителем данных, но и звукоимитатором, потому что шум игрового терминала содержит составляющую, очень похожую на шум этого конкретного диска.
Железо смонтировано на общей пластине, которая на салазках выдвигается из корпуса терминала (как в проекте «Tragbarer Rechner»). Когда я установлю все детали, выглядеть это будет примерно так:
Ну и в заключение — о том, в какой стадии работы находятся на данный момент. Лишь недавно мне удалось, наконец, собрать полный комплект деталей из листового металла. Заказывать их в итоге пришлось у трёх разных подрядчиков.
Гнуть их я, скорее всего, буду на станке, который совершенно внезапно обнаружился в деревне у родственников моей девушки. Правда, всю оснастку для гибки нужно будет сделать самому.
Со дня на день должны подоспеть фрезерованные детали из алюминия (их тоже делало трое человек в трёх разных городах). Вообще в последнее время в Москве стало очень туго со штучным изготовлением металлических деталей, ещё три-четыре года назад было намного лучше.
Большая часть панелей сделана из нержавейки толщиной в целый миллиметр (I never asked for this, просто такой материал был в наличии). Некоторые изготовлены из чёрной стали, и неслучайно: после сгибания я планирую их сварить. В результате должен получиться кожух для кинескопа.
Правда, это пока только в теории, потому что сваркой я не владею от слова «совсем». В связи с этим вопрос, а скорее просьба, к вам, уважаемые пикабушники: может ли кто-нибудь в Москве помочь мне со свариванием листовых деталей толщиной 1 мм? Труд, естественно, будет вознаграждён.
Также я был бы признателен за контакты покрасочной мастерской, где готовы браться за небольшие заказы. Это уже не только для терминала, но и для других проектов. Заранее спасибо!
P.S. А ещё для дальнейших экспериментов мне нужен цветной ЭЛТ-монитор с диагональю 11 или 12 дюймов либо «зелёный» монитор аналогичной диагонали от советских ПЭВМ.
На вопросы, как всегда, с радостью отвечу в комментариях.