Hacker News

Descent, портировано в сеть

Descent, портировано в сеть Этот комплексный анализ происхождения предлагает подробное изучение его основных компонентов и в более широком смысле — ОС Mewayz Business.

1 минута чтения

Mewayz Team

Editorial Team

Hacker News

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

Что такое Descent и как он был перенесен в Интернет?

Descent — новаторский 3D-шутер, выпущенный Parallax Software в 1994 году, известный своим дезориентирующим шестиосным движением по шахтным шахтам и коридорам космических кораблей. В отличие от большинства шутеров того времени, Descent предлагал настоящую трехмерную свободу — крен, наклон, рысканье — что делало его технически сложным даже по современным стандартам. Для переноса его в Интернет инженерам потребовалось использовать WebAssembly (Wasm), двоичный формат инструкций, который позволяет коду C и C++ выполняться в браузере со скоростью, близкой к исходной. Такие инструменты, как Emscripten, компилируют исходную кодовую базу C в модули Wasm, а WebGL обрабатывает конвейер 3D-рендеринга в реальном времени, который требуется движку Descent. В результате мы получили полностью играбельную игру Descent, доступную из любого современного браузера и не требующую установки.

Какие технические проблемы пришлось преодолеть веб-порту?

Перевод игрового движка эпохи DOS для работы в браузере обманчиво сложен. Команде инженеров пришлось решить несколько уровней совместимости и производительности, прежде чем игроки смогли провести свой корабль Pyro-GX по одному коридору:

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

Аудиоконвейер: MIDI-системы и цифровые аудиосистемы игры требовали переназначения на API веб-аудио, который работает на совершенно других моделях потоков.

Обработка ввода: ввод с клавиатуры, мыши и джойстика ведет себя по-разному в контекстах браузера, особенно в отношении событий блокировки указателя и фокуса.

Сохранение состояния: хранилище браузера (IndexedDB или localStorage) заменило исходные вызовы файловой системы для сохранения хода игры и конфигурации.

💡 ЗНАЕТЕ ЛИ ВЫ?

Mewayz заменяет 8+ бизнес-инструментов в одной платформе

CRM · Выставление счетов · HR · Проекты · Бронирование · eCommerce · POS · Аналитика. Бесплатный тариф доступен навсегда.

Начать бесплатно →

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

«Настоящий прорыв веб-портирования Descent — это не ностальгия, а доказательство концепции. Если насыщенная физикой 3D-игра в реальном времени 1994 года может безупречно работать на вкладке браузера, то практически любое программное обеспечение можно переосмыслить для Интернета, не жертвуя при этом глубиной и производительностью».

Как порт Descent отражает более широкие тенденции в веб-программном обеспечении?

Веб-порт Descent является частью гораздо более масштабного движения, переопределяющего возможности браузеров. WebAssembly, широко представленный примерно в 2017 году и теперь поддерживаемый во всех основных браузерах, разрушил представление о том, что Интернет подходит только для легких приложений. Сегодня профессиональные видеоредакторы, инструменты САПР, рабочие станции цифрового аудио и полноценные платформы в стиле операционной системы полностью работают в браузере. Этот сдвиг устраняет трудности при установке, снижает зависимость от устройства и позволяет разработчикам мгновенно отправлять обновления, не требуя от пользователей устанавливать какие-либо исправления или переустанавливать. Для бизнеса это означает, что команды могут получить доступ к полнофункциональным инструментам с любого устройства и в любом месте — та же философия используется в таких универсальных платформах, как Mewayz, которая предоставляет 207 интегрированных бизнес-модулей через единый браузерный интерфейс.

Чему бизнес может научиться из того, как Descent был перестроен для Интернета?

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

Ready to Simplify Your Operations?

Whether you need CRM, invoicing, HR, or all 207 modules — Mewayz has you covered. 138K+ businesses already made the switch.

Get Started Free →
...

Frequently Asked Questions

Что такое Descent и как он был пернесен в Интернет?

Descent — это культовый космический шутер с шестью степенями свободы, выпущенный в 1994 году. Разработчики использовали современные веб-технологии, включая WebAssembly и WebGL, для переноса игры в браузер. Это позволило сохранить оригинальный игровой движок и полную совместимость с оригинальными миссиями, контроллерами и режимами. Проект демонстрирует, как даже сложные старые приложения могут быть адаптированы для облачной инфраструктуры.

Какие технологии использовались для портирования игры?

Для портирования Descent использовалась технология WebAssembly (WASM), которая позволяет компилировать оригинальный C++ код в формат, исполняемый в браузере с близкой к нативной производительностью. WebGL обеспечил рендеринг 3D-графики, а системы управления отобразились через JavaScript. Подход похож на то, как Mewayz переносит корпоративные приложения в облако, сохраняя при этом все бизнес-логику и интерфейсы.

Почему портирование Descent важно для разработчиков?

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

Может ли этот подход применяться к другим старым программам?

Да, технологии, использованные для переноса Descent, универсальны и применимы к множеству устаревших приложений. WebAssembly поддерживает код на разных язы

Попробуйте Mewayz бесплатно

Единая платформа для CRM, выставления счетов, проектов, HR и многого другого. Банковская карта не требуется.

Начните управлять своим бизнесом умнее уже сегодня.

Присоединяйтесь к 30,000+ компаниям. Бесплатный тариф навсегда · Без кредитной карты.

Нашли это полезным? Поделиться.

Готовы применить это на практике?

Присоединяйтесь к 30,000+ компаниям, использующим Mewayz. Бесплатный тариф навсегда — кредитная карта не требуется.

Начать бесплатный пробный период →

Готовы действовать?

Начните ваш бесплатный пробный период Mewayz сегодня

Бизнес-платформа все-в-одном. Кредитная карта не требуется.

Начать бесплатно →

14-дневный бесплатный пробный период · Без кредитной карты · Можно отменить в любой момент