Doom в excel как запустить

Обновлено: 21.11.2024

У меня, разработчика Excel в 90-х, остались прекрасные воспоминания. Я написал кредиты Doom Excel в Office 95. Хотел бы я подумать об этом вместо этого. Спасибо.

Ах, ХН. Я пришел, чтобы прокомментировать: «Кто-нибудь помнит движок Doom в Excel 95?» И вместо этого главный комментарий: «Я написал движок Doom в Excel 95».

Не могу превзойти это. Спасибо, сэр.

(Также поздравляю вас, потеряв много часов на это пасхальное яйцо на школьных компьютерах, лишенных игр.)

Мой мозг отчаянно пытается вспомнить последовательность шагов, чтобы открыть его. Ctrl+Shift, щелчок что-нибудь в Справке -> О программе. диалоговое окно, затем F5 или что-то еще? И/или в одном из других приложений был скроллер звездных войн, верно?

Разработчик из моей команды написал следующие кредиты Excel 2000 (это была игра, похожая на ковер-самолет). Афаик, это было примерно в то время, когда BillG настоял на своем и не требовал новых кредитов. Корпоративные клиенты считали, что эти кредиты были как признаком потраченного впустую времени разработки («вместо этого вы могли бы исправить x ошибок!»), так и потраченного впустую дискового пространства. Это логично, но верно лишь отчасти. Поставка программного обеспечения на компакт-диске означает очень долгую фазу стабилизации. на самом деле не «исправлять больше ошибок», потому что каждое исправление ошибки могло привести к появлению новой. Это означает, что некоторые команды Office буквально завершали свою работу за год до выпуска. Они сидели без дела, нерешительно помогая другим командам. для написания титров требовалось время. Эти титры часто представляли собой сильно оптимизированные C и ассемблер, занимающие очень мало места. Факты не могли превзойти оптику, поэтому на этом веселые титры Microsoft закончились.

См. инициативу Trustworthy Computing 2000-х годов.

Электронные таблицы в целом и Excel в частности — это волшебство. Весьма вероятно, что электронные таблицы были убийцей приложений, которые стимулировали спрос на ПК со стороны предприятий.

Таблицы — это действительно инструмент программирования для масс (которые даже не обязательно думают, что они программируют).

Поскольку Excel — это чистая парадигма функционального программирования, я полагаю, что люди, занимающиеся ФП, будут рады видеть, что ФП доведена до сих пор без смешивания каких-либо императивных конструкций. Это сверхчеловек функциональных 3D-движков.

называть это функциональным 3D-движком с натяжкой, но, конечно, благодаря функциональному программированию вы вошли в 80-е

отлично, и то, и другое напомнило мне DeepExcel: многослойные нейронные сети, реализованные с помощью электронной таблицы!:

Мне очень нравится, что единственные макросы VBA предназначены для захвата ключевых вводов, поэтому вам не нужно вручную обновлять ячейку местоположения.

Большинство "посмотрите, что этот сумасшедший создал в Excel!" в конечном итоге всю работу делает VBA.

Очень аккуратно. Еще одним хорошим примером возможностей Excel и электронных таблиц в целом является курс fast.ai, почти все основы которого рассматриваются в электронных таблицах.

Опять же, мы все видели (или, что еще хуже, пытались преобразовать!) некоторые сумасшедшие чудовища Excel, написанные каким-то менеджером, которые управляют целой компанией или чем-то подобным!

До того, как я увидел это, я нашел (где-то — не знаю, существует ли он еще) «учебник» о том, как работает нейронная сеть, — и все это было сделано в виде рабочего листа Excel. В то время я думал, что это безумие.

Это напомнило мне о том, как моя свекровь спросила меня, можно ли вычислить контрольные цифры IBAN в Excel. ИТ-служба предложила вырезать и вставлять данные о клиентах на случайный веб-сайт "вычислить контрольную цифру IBAN", по одному клиенту за раз, потому что они не могли автоматически обновлять базу данных.

Я всегда думал, что язык программирования, ориентированный на данные, который компилируется в электронную таблицу Excel, будет интересным и, возможно, даже полезным. Электронные таблицы — удивительный инструмент. Это потрясающая демонстрация.

3D-движок в MS Excel, использующий только формулы Excel. Этот движок применяется в полной, но базовой игре, похожей на дум. Рендеринг производится с помощью raycasting, пиксель в пиксель. Упражнение призвано продемонстрировать, что можно сделать только с формулой.

Аннотация

Эта статья посвящена тому, как я мог написать 3D-движок, используя только формулу Excel, включая следующие функции:
- бесконечная процедурно сгенерированная карта лабиринта;
- рендеринг трассировки лучей в реальном времени;
- расчет окклюзии.
- базовый рендеринг освещения
- освещение и вычислительный шейдер
- движок естественного смещения
- 3D-движок вообще не использует макросы,
* чтобы наслаждаться игрой, используя нажатие клавиши, некоторые макросы запускают смещения, используя всего одну простую инструкцию копирования.


Снимок экрана в игре

Вы можете бесплатно загрузить файл и протестировать его самостоятельно!

Файлы

Демонстрация

Контекст

Однажды учитель информатики сказал нам, что "данные вычисления можно выполнить с помощью любого языка программирования, даже формулы электронной таблицы".

Поначалу, как бы разумно это ни было, включение Excel в сравнение звучало абсолютно глупо.

После этого при изучении машины Тьюринга это звучало правильно, но не очень удовлетворительно.

Несколько лет опыта работы с Excel, мы в основном напомним, что только формулы Excel окончательно ограничены отсутствием ввода/вывода.
Но набор проблем, которые можно просто решить с помощью формулы, остается впечатляющим.

В любом случае, эта работа — не просто какое-то перформанс. У меня была веская причина это сделать.

Электронные таблицы – это мощный инструмент, который каждый должен научиться использовать практически для любой работы в бизнесе.
Тем не менее, когда большинство людей приходят решать самые сложные задачи, они хотят использовать язык VBA, даже не зная почему.
И как только они начали его изучать, они пытаются использовать его для любых задач, даже для простого поиска или рендеринга.

Сегодня, как преподаватель Excel, я пытаюсь объяснить этим людям, почему написание макросов VBA для решения любой задачи без образования в области компьютерного программирования является не только пустой тратой времени, но и серьезным риском для их электронных таблиц. качественный.
В бизнес-среде использование формулы вместо макроса:

  • Быстрее писать для всех, кроме профессионального программиста-аналитика.
  • Легче поддерживать для всех, кроме профессионального программиста-аналитика. (в то время как макросы в основном непригодны для использования, когда первоначальный разработчик ушел)
  • Гарантированное качество благодаря постоянному контролю стоимости. (принудительный метод разработки через тестирование)
  • Более эффективен в долгосрочной перспективе благодаря процессу "подумай, прежде чем писать" при разработке формул.
  • И, безусловно, гораздо лучше интегрируется в общий инструмент для работы с электронными таблицами, следуя первоначальному шаблону проектирования электронной таблицы, в то время как макросы часто выглядят как конкретные разработки, требующие впоследствии обширного обслуживания.

Примечание: эти опасения в основном относятся к процедуре, используемой в качестве макроса, а дополнительная функция, написанная на VBA, может повысить эффективность без снижения качества.

Вот как я пришел к написанию этой игры: прикладная демонстрация, в этом макросе поначалу не было необходимости даже для некоторых из самых сложных задач.

Если быть точнее, я нашел только 2 случая, когда требуется VBA:

  • Добавление специальных входных или выходных данных (как я сделал здесь, чтобы получить ключевые события), в то время как формула всегда ограничена изменением самой ячейки.
  • Некоторые сложные задачи (такие как оптимизация, пробные и проверенные задачи), в которых время вычислений слишком велико и/или занимает слишком много места. Но в реальной деловой жизни такие проблемы встречаются довольно редко.

Теперь в оставшейся части этой статьи я сосредоточусь только на том, как на самом деле работает электронная таблица, в ее различных аспектах.

Карта

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

Чтобы получить случайно сгенерированную карту, нам нужно, чтобы она была самосогласованной во времени, поэтому нельзя использовать функцию rand(), поскольку мы не контролируем случайное начальное число.
Исходным числом для генератора случайных чисел должна быть позиция (x;y) на карте, чтобы получить разные значения для каждой позиции, и мы не можем использовать результат предыдущего рандома в качестве исходного значения для следующего или нам пришлось бы хранить всю карту с самого начала.
Несмотря на то, что обычные хеш-функции обеспечивают высококачественную случайную выборку, они слишком дороги, поэтому мне нужно было найти другую.
Попытка использовать генератор фракталов также оказалась весьма дорогостоящей и давала интересный результат только для небольшой части карты.
Затем я нашел метод среднего квадрата, который не очень "случайный" при использовании последовательного начального числа, но дал мне идею брать десятичную дробь любого другого вычисления.
Я обнаружил, что, взяв десятичные дроби sin(x)+cos(y), наконец, получил хорошие десятичные дроби, без какой-либо видимой закономерности и удивительно короткое время вычисления.
Чтобы получить десятичные дроби, математические функции mod() и floor() намного эффективнее, чем текстовая функция substring mid(). блок, иначе он выглядел бы скорее как пещера (в стиле майнкрафт), чем как лабиринт.
Поэтому нам нужны были тонкие стены, с 2 возможными стенами для каждого квадрата. Затем мы можем взять 2 блока цифр среди одного и того же случайного значения.
2 параметра, управляющие плотностью стен.
С учетом этих правил мы можем либо отобразить лабиринт, либо протестировать любую стену, учитывая ее положение для трассировки лучей.
Обратите внимание, что карта "плоская", без верха/низа. Можно было бы добавить рельеф с помощью генератора рельефа (можно было бы применить алгоритм ромбовидного квадрата, так как его можно написать с помощью нерекурсивной функции), но решение вырезания отверстий как в потолке, так и в полу, с дополнительным значением уровня значительно облегчит весь последующий процесс.


Хорошо, мы определенно в аду

Рейкастер

Решение raycaster подразумевает определение для каждого пикселя, какой грани луч коснется первой, и получение от него некоторой информации (расстояние, угол освещения, цвет и т. д.).
Raytracer также требует дополнительного луча для распространения из этой точки (отражения, прозрачности), что напрямую увеличивает затраты на вычисления.

Затенение

Первой проблемой будет найти первый объект в ходе каждого луча.
Поскольку лабиринт на самом деле плоский, с горизонтальными стенами, ближайшая найденная стена будет одинаковой для всех пикселей данного столбца.
Затем процесс можно упростить как горизонтальный радар в 1 измерении.
Тогда нет другого выбора, кроме как проверять первую возможную стену, затем вторую возможную, пока мы не найдем ее.
Это всего лишь тригонометрическая задача, чтобы определить, какая стена должна быть проверена.
И поскольку у нас есть 2 типа стен, мы должны протестировать оба типа, а затем оставить только ближайшую.
Одним из ограничений в Excel является то, что цикла условий не существует, а тело цикла можно пропустить только для экономии времени. Таким образом, мы должны сократить максимальное расстояние проверки, предполагая, что стены вообще нет, если она не будет найдена до этого момента.

Пол и потолок

Чтобы изобразить пол и потолок, нам просто нужно найти, где стена заканчивается.
Специальный лист измеряет расстояние от пола или потолка в зависимости от вертикального угла.
Затем для каждого пикселя мы решаем, находится ли стена дальше потолка пола или нет, и соответственно определяем цвет пикселя.
Сравнение выполняется эффективно, используя только проекцию расстояния от стены и потолка/пола на ось камеры. Затем окончательное расстояние получается с использованием предварительно рассчитанного коэффициента расстояния в шейдере расстояния. Предварительно рассчитанное фиксированное значение предназначено для экономии ресурсов.

Подсветка

Окончательный свет получается из шейдера света, представляющего свет факела в направлении камеры (и прицела оружия).
Также добавляется некоторое отражение, когда поверхность строго горизонтальна лучу света.
Горизонтальной может быть только стена (если добавить шаг, то он будет только смещать панель экрана вверх-вниз, не поворачивая камеру)
Для каждого угла радара получаем угол между лучами и ближайшая найденная стена.
Тогда коэффициент отражения является основной функцией этого угла.
В конце концов, свет является произведением факторной функции расстояния, разрешения потолка/пола или стены, коэффициента отражения и коэффициента затенения света.

Показать

Эффективное отображение осуществляется за счет условного форматирования — градиента цвета в зависимости от значения ячейки.
Скрытие значения достигается форматированием ячейки.

Столкновение со стеной

Игрок не должен проходить сквозь стену, иначе это разрушит идею лабиринта.
Стены также не застревали бы игрока, когда он достигал их. Движение должно скользить, пока он не достигнет угла.
Кроме того, следует соблюдать минимальное расстояние от игрока, чтобы избежать графических проблем, и сделать стену определенной ширины.

Особенно сложно было управлять всеми возможными случаями стены и позициями игрока относительно этой стены.

Были изучены 2 ^ 5 возможностей, и 3 возможных результата (для каждой оси смещения) были сопоставлены, чтобы получить результат за меньшее количество возможных тестов.

Несмотря на то, что вкладка смещения была одной из самых маленьких, реализовать ее было сложнее всего. (в 10 раз больше, чем карта, в два раза больше, чем обнаружение стены)

Враги

Графический рендеринг

Задачей врагов было получить фигуру, которую можно было бы легко добавить перед стеной, легко визуализировать на любом расстоянии и которая была бы интереснее простого куба.

Полная вкладка посвящена расчету формы сфер с учетом горизонтального радиуса и вертикальной высоты овоида. Соотношение высоты и ширины используется для анимации существа.

В рендеринге стен и потолка использовался градиент только одного цвета, в то время как Excel допускал 2 последовательных (не объединенных) градиента. Затем враги могут отображаться другим цветом. Для этого градиента можно использовать диапазон значений ниже 0, значение 0 означает черный цвет.

Постепенная прозрачность оказалась не сложнее, чем сглаживание поверхности сферы. Луч становится толщиной со сферой, чем толще, тем ярче цвет пикселя.
На границе сферы низкая толщина только сохраняет значение по умолчанию для стены позади, с отрицательным коэффициентом, чтобы включить цвет монстра. Светофильтр, обеспечивающий прозрачность на границе сферы.
Опять же расчеты выполняются в горизонтальной плоскости, а максимальные расчеты подготавливаются перед окончательным расчетом 3D для каждого пикселя.

Поведение врагов

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

Чтобы положение, скорость и все ускорения оставались непрерывными (чтобы движение было плавным), траектория представляет собой своего рода конечный фрактал большого круга, к которому добавлены небольшие круговые вариации. Коэффициент отношения между окружностями (и даже отношение x/y) является случайным и неестественным, поэтому траектория никогда не зацикливается сама на себе. Отдельный лист был сделан для отображения траектории, чтобы получить хороший случайный генератор детерминированных траекторий.
Поскольку траектории не могут учитывать стены, способность монстра проходить сквозь стены является вынужденной.

Затем в каждый момент вычисляются несколько траекторий. Весь лабиринт населен одними и теми же 10 врагами, повторяющимися на сетке на достаточном расстоянии, чтобы игрок не мог видеть 2 экземпляра одного и того же врага.

Сетку повторений можно увеличивать/уменьшать, чтобы уменьшить/увеличить плотность врагов. Это должно быть сделано, принимая во внимание чрезмерное результирующее смещение монстра и эффективную скорость из-за масштаба.

Тогда у нас есть ограниченное количество врагов, которые копируются повсюду в лабиринте.

Враги атакуют

Анимация врагов сделана с использованием соотношения радиус/высота. Поскольку атака врага должна быть хорошо видна, но достаточно медленна, чтобы игрок мог среагировать, враги просто увеличиваются в радиусе, если игрок находится в поле зрения. Рост подчиняется экспоненциальной функции для имитации взрыва.

Освещённость рассчитывается для каждого врага на вкладке радара с учётом стен.

Тогда игрок просто получает урон, если оказывается в радиусе действия врага. Это работает так же, если игрок намеренно входит внутрь врага.

Это делает эффект урона для игрока простым эффектом негативного цвета на весь экран.
Другой эффект заключается в отмене рендеринга любого другого врага, когда игрок получает урон.

Жизнь игрока — это один из элементов его статуса, который управляется такими же шагами, как и его позиция.

Атаки игроков

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

Эта упрощенная модель позволяет игроку предотвратить атаку, уменьшив жизнь врага.

Чтобы усложнить задачу, игроку будет сложно прицелиться в маленького врага, оставаясь на большом расстоянии, а боеприпасы через некоторое время потребуют перезарядки.

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

Смерть и возрождение.. перезапуск

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

Постепенное отображение сообщения об окончании игры достигается с помощью небольшого коэффициента, который увеличивается с помощью экспоненциальной функции. Это позволяет будущим пикселям оставаться скрытыми, прежде чем они появятся, как только показатель степени станет достаточно большим.

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

Оценка должна быть написана в пикселях шрифтом очень низкого разрешения.

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

Бендж Эдвардс

Бендж Эдвардс
помощник редактора

Бендж Эдвардс — помощник редактора How-To Geek.Более 15 лет он писал о технологиях и истории технологий для таких сайтов, как The Atlantic, Fast Company, PCMag, PCWorld, Macworld, Ars Technica и Wired. В 2005 году он создал блог Vintage Computing and Gaming, посвященный истории технологий. Он также создал подкаст The Culture of Tech и регулярно участвует в подкасте Retronauts о ретро-играх. Подробнее.

Некоторые игры никогда не выходят из моды. Спустя два десятилетия после выхода Doom по-прежнему восхищает игроков своим динамичным шутером от первого лица. Благодаря ряду современных портов теперь вы можете играть в игру с улучшенной графикой и элементами управления.

Почему Doom по-прежнему интересен

Выпущенная в 1993 году игра Doom произвела фурор благодаря своим динамичным действиям (для ПК в эпоху, когда еще не было графического ускорения). Его захватывающая атмосфера, насилие, темные темы и инновационная сетевая поддержка сделали его популярным. Критики приветствовали Doom как искусно созданную игру с первоклассной графикой, звуком и геймплеем. Каждый последующий шутер от первого лица основывался на его успехе.

Несмотря на значительный прогресс графических технологий с тех пор — достаточно взглянуть на Doom Eternai 2020 года — в оригинальный Doom по-прежнему интересно играть. Эта классика id Software кажется более доступной, чем большинство современных шутеров от первого лица. Это связано с его относительно простым управлением. Без прыжков и взглядов вверх и вниз, игра сохраняет живую аркадную атмосферу, от которой в значительной степени отказались.

Благодаря бесплатной обновленной версии игрового движка вы можете легко испытать эту оригинальную игру на своем ПК или Mac, оснащенном современным игровым контроллером и поддержкой сети. Лучше всего то, что вы можете воспроизводить ее в высоком разрешении даже на сверхшироком мониторе с соотношением сторон 21:9, если он у вас есть.

Волшебство исходит от новых движков Doom

В 1997 году компания id Software выпустила исходный код игрового движка Doom как программное обеспечение с открытым исходным кодом. Компания пригласила разработчиков по всему миру, чтобы адаптировать его к новым платформам и расширить его возможности. С тех пор появились сотни новых версий движка Doom (известных как «исходные порты»), улучшающих оригинальный «ванильный» опыт Doom.

ZDoom — один из самых популярных исходных портов Doom, и мы будем использовать его для игры на современном широкоэкранном дисплее. Он поддерживает Windows, Mac и даже Linux.

Где взять файлы эпизодов (WAD)

С современными исходными портами Doom есть одна проблема. Большинство из них не поставляются с файлами игровых данных или «WAD». Оригинальные карты, графика и звуки Doom по-прежнему защищены авторским правом и не являются открытым исходным кодом. Вы должны найти свои собственные WAD для использования с исходными портами, такими как GZDoom.

К счастью, есть много способов получить Doom WAD, в том числе следующие:

  • Условно-бесплатная версия Doom: изначально Doom поставлялась как условно-бесплатная игра с одним бесплатным эпизодом. Вы по-прежнему можете легально скачать и использовать этот выпуск. Нужный файл обычно называется DOOM1.WAD.
  • Freedoom. Этот фанатский интернет-проект работает над бесплатным набором графики, звуков и карт с открытым исходным кодом для движков Doom. Вы можете скачать его бесплатно, и он хорошо работает с GZDoom.
  • Freedoom и другие WAD: Freedoom позволяет вам использовать многие другие WAD, созданные фанатами, многие из которых представляют собой собственные игровые возможности. Freedoom заменяет оригинальные WAD-файлы Doom или Doom II, которые нужны этим созданным игроками картам для графических и звуковых ресурсов.
  • Коммерческий Doom. Если вы хотите приобрести оригинальный Doom в GOG, вы можете установить его в Windows. Просто зайдите в каталог игры и скопируйте файл DOOM.WAD, чтобы использовать его с исходным портом, например GZDoom. Вы можете сделать то же самое с другими играми, включая Doom II и Final Doom. Если у вас есть оригинальные физические копии игры на дискете или компакт-диске, вы можете скопировать файлы DOOM.WAD с оригинального носителя. Вы также можете найти эти файлы WAD в Интернете. Однако, как и при загрузке ПЗУ ретро-видеоигр, загрузка оригинальных файлов WAD с неавторизованных веб-сайтов является нарушением авторских прав.

Как установить GZDoom на ПК с Windows

Чтобы начать работу в Windows, загрузите GZDoom с официального сайта. Он доступен как в 32-, так и в 64-разрядной версии и работает в Windows 10, 7 или даже Vista. Если вы не знаете, какую версию следует загрузить, попробуйте 32-разрядную версию.

Найдите ZIP-файл GZDoom, который вы только что скачали, и извлеките его в отдельную папку. Вы можете разместить эту папку где угодно, в том числе на рабочем столе.

Теперь пришло время разместить файлы WAD. Если у вас есть условно-бесплатные или коммерческие WAD-файлы Doom, скопируйте их в папку GZDoom, которую вы только что создали. Если у вас их нет, загрузите ZIP-файл, содержащий WAD Freedoom, а затем распакуйте его содержимое в папку GZDoom.

Дважды щелкните GZDoom.exe, чтобы запустить его. В Windows 10 может появиться всплывающее окно с надписью «Windows защитила ваш компьютер»; нажмите «Подробнее», а затем нажмите «Выполнить в любом случае», чтобы обойти предупреждение. В Windows 7 UAC может запросить у вас разрешение на запуск программы; разрешить это сделать.

Если у вас есть более одного WAD в папке GZDoom, когда вы запускаете GZDoom, вы увидите список WAD, из которого вы можете выбрать. Выберите ту, в которую хотите сыграть, и нажмите «Играть в GZDoom».

По умолчанию GZDoom должен работать в полноэкранном режиме с использованием разрешения экрана вашего рабочего стола. Чтобы изменить настройки графики, нажмите Escape. Затем с помощью клавиш со стрелками выберите «Параметры» > «Параметры отображения» или «Параметры» > «Установить режим видео» и нажмите клавишу ВВОД.

Запустите игру и получайте удовольствие!

Как установить GZDoom на Mac

Воспроизведение Freedoom WAD в широкоэкранном режиме.

GZDoom работает и на Mac. После того, как вы настроите его, он будет работать так же, как версия для Windows. Сначала скачайте GZDoom с официального сайта. Возьмите файл под названием «Macintosh (Intel)». Откройте только что загруженный файл DMG и перетащите значок GZDoom.app на ярлык папки «Приложения».

Если у вас нет других WAD-файлов, загрузите ZIP-файл, содержащий WAD-файл Freedoom, а затем извлеките его содержимое во временную папку.

Вам нужно создать специальную папку для WAD-файлов Doom, чтобы GZDoom мог их найти. Они будут жить в ~/Library/Application Support/gzdoom .

В Finder нажмите Shift+Command+G, вставьте ~/Library/Application Support/ и нажмите «Перейти».

Создайте папку с именем «gzdoom» в ~/Library/Application Support/ и скопируйте в нее все файлы WAD.

После копирования файлов WAD закройте окно Finder и перейдите в папку «Приложения». Дважды щелкните значок GZDoom.app, чтобы запустить его.

Если ваш Mac выдает предупреждение о запуске GZDoom, вам нужно будет дать ему специальное разрешение на запуск. GZDoom не является вредоносным программным обеспечением. Однако, поскольку это бесплатный проект для любителей, он не зарегистрирован в Apple, а macOS по умолчанию блокирует все неизвестные программы.

Чтобы заставить GZDoom работать, выберите «Системные настройки» > «Безопасность и конфиденциальность» > «Основные». В нижней части окна вы увидите сообщение «GZDoom.app было заблокировано для использования, потому что оно принадлежит неизвестному разработчику»; нажмите «Все равно открыть». Если появится еще одно всплывающее окно, просто нажмите «Открыть».

Если у вас есть более одного WAD в папке GZDoom, когда вы запускаете GZDoom, вам будет представлен список WAD, из которого вы можете выбрать. Выберите тот, который хотите воспроизвести, и нажмите «ОК».

По умолчанию GZDoom должен работать в полноэкранном режиме с использованием разрешения экрана вашего рабочего стола. Чтобы изменить настройки графики, нажмите Escape. Затем с помощью клавиш со стрелками выберите «Параметры» > «Параметры отображения» или «Параметры» > «Установить режим видео», а затем нажмите клавишу ВВОД.

Запустите игру и получайте удовольствие.

Новый мир Doom для исследования

Пиратский рок в действии.

Запустив GZDoom, вы можете поэкспериментировать с поддержкой геймпада и даже многопользовательской совместной игрой или режимом Deathmatch, используя его сетевые функции. Стоит обратить внимание на особый порт исходного кода Doom, настроенный для многопользовательской игры, — ZDaemon. Это позволяет легко находить и присоединяться к многопользовательским серверам Doom, управляемым фанатами.

Если у вас закончились уровни для игры, ознакомьтесь с потрясающими модами и преобразованиями Doom на ModsDB. Несколько фаворитов фанатов включают Brutal Doom, Evernity и Pirate Doom.

Очевидно, что большинство созданных игроками WAD, как и сам Doom, очень жестоки и не подходят для детей. Но если вы спрятались от посторонних глаз, удачной охоты на демонов!

  • › Золотой век условно-бесплатных компакт-дисков
  • › Почему я до сих пор пользуюсь 34-летней клавиатурой IBM Model M
  • › Почему на клавиатуре есть клавиша Windows? Вот с чего все началось
  • › Пять лучших классических кооперативных игр с современными ремейками
  • › Как найти другие версии изображения веб-сайта в Google Chrome
  • › До Mac OS X: что такое NeXTSTEP и почему он нравится людям?
  • › Как Quake потряс мир: Quake исполняется 25 лет
  • › Почему СМС должен умереть

Это хорошо известное пасхальное яйцо Windows 95. Это пасхальное яйцо, которое положило начало слухам о том, что Microsoft может скрывать «сатанинскую» тайну. Hall of Tortured Souls — это немного ужасный способ показать заслуги создателей Windows 95, особенно создателей Microsoft Excel 95.

Как я уже говорил, это работает в Excel и Microsoft 95. Игра представляет собой простую игру Visual-Basic. Чтобы войти в игру, перейдите в Microsoft Excel 95 (если у вас осталась копия). Откройте новый пустой лист Excel. Спуститесь к 95-й строке и выберите всю строку. Перейдите к столбцу B. Перейдите в раздел «Справка/О программе». Нажмите и удерживайте CTRL + ALT + SHIFT, затем нажмите кнопку технической поддержки. Затем игра появится.

Появится окно с названием "Зал замученных душ".

На втором уровне вы увидите это.

Вы можете взаимодействовать с помощью клавиатуры. В игре 8 направлений: север, северо-восток, восток, юго-восток, юг, юго-запад, запад и северо-запад. Используйте клавиши со стрелками для перемещения. Используйте C, чтобы посмотреть вниз, и D, чтобы посмотреть вверх. В игре можно проходить сквозь стены. Если вы проходите через стену с окном, вы проходите насквозь. Если вы проходите через стену без окна, вы входите в стену и окружены. Вы можете ввести столбцы.

Впереди была лестница. Стены окружены текстом создателей (вероятно, создателей excel). На следующем уровне была очень маленькая комната с красными стенами. И снова на экране замелькали имена создателей. Спуститесь и войдите в комнату, в которой вы были раньше. Введите волшебное слово «EXCELKFA». Откроется еще один зал. Этот зал имеет знойный черный зигзагообразный ход. Если вы упадете, вы вернетесь в комнату, в которой были раньше. Путешествовать нужно осторожно.

Крутой черный зигзагообразный мост, похожий на мост

На другом конце была еще одна стена с фотографиями создателей. Вернитесь к главному. Попробуйте сделать полный оборот, и вы увидите себя за пределами этого здания. Вы увидите комнату, в которой были раньше. Теперь, если вы ударились об одну из стен, вы автоматически сделаете полный оборот и телепортируетесь внутрь.

В этой комнате можно увидеть создателей Excel ИЛИ MS 95

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

Разное

Hall of Tortured Souls использует движок, очень похожий на коммерческую видеоигру Doom, выпущенную в 1993 году. Волшебное слово "EXCELKFA" является отсылкой к чит-коду "IDKFA" в Гибель.

Читайте также: