Wing Commander Together - Кооперативный режим для DOS Wing Commander

Show HN: After a decade of reversing, I got co-op working in DOS Wing Commander

Wing Commander Together - Кооперативный режим для DOS Wing Commander

Wing Commander Together — это проект, который спустя 11 лет разработки добавил кооперативный режим в классическую DOS-игру Wing Commander. Автор, вдохновлённый детской мечтой играть вместе с братом, исследовал память игры через DOSBox, находил координаты кораблей и использовал трюки с оверлеями Borland, чтобы синхронизировать двух игроков по сети. Теперь вы можете играть в браузере или скачать клиент и отправиться в космические сражения вдвоём, каждый за свой истребитель. Проект показывает, как энтузиазм и глубокое понимание реверс-инжиниринга могут возродить старые игры с новыми возможностями.

Мы всегда мечтали играть в серию Wing Commander кооперативно как ведомые, а не как двуглавая гидра в одном корабле.
  1. daniel_rh

    Автор здесь: в 2015 году я играл в классический Wing Commander в DOSBox и вдруг понял, что состояние игры помещается в 64-килобайтный сегмент данных.

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

    Моя любимая находка — камера находится в слоте сущности 0x3D, что, возможно, является отсылкой к «3D» от оригинальных разработчиков.

    Вы можете поиграть в это на https://fireflyk64.github.io/dosbox в браузере. Если у вас есть Wing Commander, перетащите установщик, так как игровые файлы не размещены. Если нет, страница загрузит оригинальную DOS/3Dfx версию Vega Strike, до того как я открыл её исходный код. Я увеличил разрешение и переделал графику DOS Vega Strike с помощью ИИ, но теперь в ней есть многопользовательский режим и похожие ощущения.

    Я буду в лобби в течение следующих нескольких часов, если кто-то хочет полетать вместе.

    Раскрытие: я также использовал ИИ для финального шага, чтобы помочь скомпилировать для браузера и портировать наш стек TCP-сети на WebRTC с голосом и решить несколько оставшихся багов.

  2. Tepix

    Здорово! Ты используешь data channel для голоса? Почему не rtc stream?

  3. ShakataGaNai

    Ох, мурашки по коже. Воспоминания из прошлого. Я обожал Wing Commander в те дни.

Ещё за этот день

2026-11-04