Варкрафт 2 для линукс

Компиляция и сборка Wargus (Warcraft 2) на Debian 9 GNU/Linux, пошаговое руководство

Краткое руководство по компиляции и сборке Wargus + Stratagus (улучшенный Warcraft 2) на операционной системе GNU/Linux Debian 9 (Stretch). Как сконфигурировать и скомпилировать бинарные файлы игры, извлечение ресурсов из оригинального Warcraft II, конвертации и подготовка музыкальных файлов, как это все собрать до кучи и запустить легендарную игру-стратегию под GNU/Linux.

В одной из прошлых статей было рассказано о проекте Wargus (Warcraft II), позже вышла достаточна большая статья с подробным пошаговым описанием компиляции Wargus на GNU/Linux Debian 8 (Jessie).

Прошло время и появилась новая версия Debian — 9 (Stretch). Игра, собранная под 8-ю ветку операционной системы (ОС), на 9-й версии уже не запускается — проблемы с совместимостью и поиском некоторых библиотек.

В этом мануале постараюсь более кратко изложить пошаговый план компиляции и сборки Wargus + Stratagus под операционной системой GNU/Linux Debian 9 Stretch.

Язык интерфейса игры — английский! В версии «2.3» под GNU/Linux кириллические шрифты пока что не отображаются.

Подготовка ОС и инструментов

Все операции будут выполняться под операционной системой GNU/Linux Debian 9, установленной в вирутальной машине VirtualBox, что в свою очередь позволило провести все необходимые эксперименты с возможностью отката действий используя снепшоты (snapshots) образа с установленной ОС, а также не засорять основную рабочую ОС.

Вывод команды «uname -a» в виртуальном машине:

Вывод команды «lsb_release -a»:

Предполагается что у вас уже установлена операционная система с удобной, по вашему выбору, графической оболочкой (KDE, Gnome и т.п.).

Выполним установку всех необходимых инструментов и библиотек (список команд для запуска из консоли):

Этот набор команд установит следующие инструменты и ресурсы:

  • компиляторы, скрипты и утилиты для компиляции программ из исходных кодов;
  • консольный файловый менеджер и универсальный архиватор;
  • набор библиотек для компиляции Stratagus;
  • набор библиотек для компиляции Wargus;
  • программы для работы с музыкальными файлами в форматах MIDI и OGG.

Создадим директорию, в которой будет выполняться вся работа по компиляции и сборке игры:

Компиляция Stratagus

Stratagus — это движок для построения стратегических 2D-игр, работающих в реальном времени. Для получения исходных кодов движка переходим на сайт https://launchpad.net/stratagus и качаем архив с самой свежей версией. На момент написания статьи последняя доступная версия — 2.3. Размер скачиваемого файла — примерно 2,5МБ.

Скачивание архива выполним при помощи «wget», потом он будет распакован в рабочую директорию, а в этой поддиректории создадим каталог «build» для компиляции проекта. В конце выполняем конфигурацию (cmake) и саму компиляцию (make).

Для осуществления всего этого процесса нужно выполнить следующие команды (помним что в моем случае версия проекта — 2.3):

Все должно успешно сконфигурироваться и скомпилироваться.

Рис. 1. Успешная компиляция Stratagus в GNU/Linux.

Компиляция Wargus

На данном этапе нам необходимо скачать файлы с исходным кодом проекта Wargus (отличная реализация игры Warcraft II на основе движка Stratagus).

Необходимо скачать архив с исходными кодами Wargus той же версии, что и скачанный нами на предыдущем этапе Stratagus (в моем случае — 2.3). Архивы и ресурсы проекта размещены здесь: https://launchpad.net/wargus . Размер скачиваемого архива — примерно 43МБ.

Команды для скачивания, распаковки, создания директории сборки проекта и для теста конфигурации:

Теперь, чтобы Wargus успешно прошел этап конфигурации, нужно выполнить замены в трех файлах:

  1. CMakeLists.txt: find_package(Stratagus REQUIRED) -> #find_package(Stratagus REQUIRED)
  2. CMakeCache.txt: STRATAGUS_INCLUDE_DIR-NOTFOUND -> /tmp/game/stratagus_2.3.0.orig
  3. wargus.cpp: #include -> #include «stratagus-game-launcher.h»

Выполняем эту задачу используя «sed» (stream editor):

Осталось скопировать заголовочный файл из стратагуса в варгус и запустить процесс конфигурации с последующей компиляцией:

Процесс компиляции займет некоторое время и должен завершиться успешно:

Рис. 2. Удачное завершение компиляции Wargus в GNU/Linux.

Распаковка ресурсов из игры Warcraft II

Для выполнения работ на данном этапе нужно создать две директории:

  1. war2data — для файлов-архивов ресурсов игры Warcraft II;
  2. data — для извлеченных ресурсов, что будут использоваться в Wargus.

Делаем это с помощью следующих команд:

Для распаковки ресурсов нам нужны все файлы-архивы (*.ins, *.war . ) из папки «DATA» от оригинальной игры Warcraft 2 Tides of Darkness с дополнением Beyond The Dark Portal.

Допустим что все файлы игры (War2 под DOS/WIN95) уже доступны нам из директории «/mnt» (подмонтирован компакт-диск или сетевая папка с игрой на другом ПК, файлы скопировали в папку из флешки и т.п).

Читайте также:  Astra linux удалить сертификат

В таком случае копирование нужных файлов данных для Wargus можно выполнить вот такой командой:

Рис. 3. Копируем ресурсы из оригинальной игры Warcraft 2 в Linux.

Запускаем процесс извлечения ресурсов:

Распаковка пройдет достаточно быстро:

Рис. 4. Извлечение ресурсов из игры Warcraft 2 для сборки Wargus под Linux.

Собираем все до кучи

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

Выполним копирование бинарных файлов:

Добавим файлы данных и настроек для скомпилированного Варгуса:

Скопируем извлеченные из игры Warcraft II ресурсы:

Смотрим получившуюся структуру файлов и директорий в файловом менеджере Midnight Commander:

Рис. 5. Смотрим содержимое папки с игрой Wargus после сборки.

Для выхода из «mc» и возврата в консоль жмем F10 (Quit).

Музыка для игры — конвертация и настройка

Добавим в программный MIDI-синтезатор timidity поддержку набора инструментов Fluid (R3) General MIDI SoundFont (GM).

Выполним конвертацию и сжатие музыкальных файлов: MIDI -> WAV -> OGG -> OGG.GZIP.

Изменяем расширение музыкальных файлов в настройках игры:

  • wc2-config.lua: wargus.music_extension = «.mid» -> wargus.music_extension = «.ogg».

Задаем музыкальный файл играющий при старте игры, для этого откроем в текстовом редакторе файл настроек:

Для поиска по тексту в редакторе нажимаем комбинацию клавиш CTRL+W и помещаем в строку запроса ранее скопированный в буфер обмена (CTRL+C) искомый кусок текста (правая клавиша миши, потом Paste и ENTER в редакторе).

Текст для поиска:

Под этим текстом ищем строчку:

Приводим ее к следующему виду:

Для выхода из редактора жмем CTRL+X, на запрос сохранять ли файл — подтверждаем с помощью Y и ENTER.

Запуск игры

Запускать игру нужно с помощью бинарного файла «stratagus»:

Рис. 6. Заставка Warcraft 2 при запуске Wargus на GNU/Linux.

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

Рис. 7. Меню настроек игры Wargus на GNU/Linux.

Игра содержит мощный редактор карт, в котором доступны все постройки и юниты, можно создавать карты огромных размеров и на много игроков.

Рис. 8. В игре Wargus присутствует мощный редактор карт.

Теперь, убедившись в работоспособности игры, можно перенести ее на основную рабочую систему или другой компьютер с установленной ОС GNU/Linux Debian 9.

Создать файл-архив с игрой можно используя одну из команд:

Несколько скриншотов игры с разрешением экрана 1280х800 (рисунки кликабельны):

Рис. 9. Играем в Wargus за орков, режим Skirmish (против компьютера), карта 64×64.

Рис. 10. Играем в Wargus за людей, режим Skirmish (против компьютеров), карта 128×128.

В завершение

Используя аналогичный алгоритм можно выполнить компиляцию и сборку игры на других версиях GNU/Linux (CentOS, Fedora, Arch. ) и на других платформах. Для примера, можно попробовать собрать игрушку на Raspberry Pi 2/3.

Ниже вы можете посмотреть видео с процессом сборки Wargus на GNU/Linux Debian 9, который был освещен в данной статье:

Музыка в видео: Computer Music All-Stars — Albatross v2.

Wargus содержит множество настроек игры и игровых режимов, позволяет играть как по сети, так и в одиночку на прохождение миссий или сражения с компьютером. Сборник-архив с большим количеством переконвертированных карт (pud в sms) для Варгуса вы можете найти в моих предыдущих статьях.

Источник

Wargus — старая добрая игра WarCraft II в новом лице

Wargus — это реализация любимой многими игры WarCraft II на мощном движке Stratagus, с улучшенной графикой, новыми интересными и удобными фишками. Второй варик возвращается! Второй варик возвращается в новом лице!

Эх. сколько воспоминаний и эмоций вызывает у меня игра WarCraft 2.

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

Моя история знакомства с игрой

Во времена, когда только появился MS Windows 95, я еще маленьким мальчишкой на работе у своего отца посещал небольшую серверную комнату, в которой стояли два современных на то время компьютера:

  • Pentium 166MHz с SVGA монитором Samsung на 15 дюймов, звуковой картой, колонками Primax 90S и Win95 на борту;
  • Pentium 233MHz — сервер на целый завод, здоровенная башня со стопкой винчестеров внутри и каким-то Unix или Netware на борту (на мониторе наблюдал лишь консольный вывод текста).

Эти и еще несколько машин по заводу были соединены в локальную сеть на 10 МБит с использованием коаксиального кабеля (BNC). Пентиум-166 использовался для ввода данных и обслуживания инфраструктуры, генерации различных отчетов, написания всяких скриптов и тому подобного, на нем были установлены MS-DOS и MS WINDOWS 95.

Под MS-DOS местный программист-админ частенько любил посидеть и поиграть в разные игрушки. Иногда он сам играл, а иногда приходил с другом и над игрой у них мог пролететь целый день.

Читайте также:  Яндекс браузер для линукс манджаро

Первой из таких игр, которая мне запомнились была Дюна 2 (Dune 2). Как сейчас помню себя уставившимся на эти квадратики, синие контейнеры, которые что-то собирают и множество маленьких машинок, которые по приказу куда-то едут и даже стреляют.

До этого времени я уже был знаком с такими играми как CD-MAN, DuckTales, Prehistorik 2 и многими другими, играл в них на IBM 386, знал множество команд MS-DOS, свободно себя чувствовал в Нортон Коммандере (СПАСИБО моему ОТЦУ за помощь и науку!).

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

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

Так я и познакомился с Варкрафт 2 (Warcraft 2) и со временем мне самому захотелось попробовать поиграть. Игра была полностью на английском языке, поэтому я ничего не понимал ни в меню, ни в названиях, ни в простынях из текста перед миссиями (указания к миссиям, брифинг).

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

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

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

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

Для игры в Warcraft 2 можно также воспользоваться эмулятором, например DosBox или VirtualBox. Но я вам предложу что-то немножко другое, более совершенное.

Итак, расскажу вам подробно о таком проекте как Wargus, как сделать свою сборку игры, где что брать и куда класть, плюс некоторые плюшки 🙂

Что такое Wargus

Wargus — это любительский проект, авторы которого решили немного осовременить старую добрую игру. Если более точно, то Wargus — это порт игры WarCraft II на движке Stratagus.

Благодаря этому порту стало возможным поиграть в игру на самых разных платформах: Linux, Maemo(Nokia N900), Android, BSD, BeOS, MacOS X, Microsoft Windows.

Сейчас старые версии проектов Stratagus и Wargus размещаются на платформе Launchpad (веб-проект, созданный для совместной работы над свободным ПО), а более новые — на GitHub.

Установка Wargus под Windows

Установить игру Wargus под Microsoft Windows достаточно просто. Для создания своей сборки нужно выполнить несколько шагов: установить движок игры Stratagus, а потом поверх него игру Wargus (скрипты и базовые ресурсы игры) с извлечением ресурсов из оригинальной игры Warcraft II.

Игра будет корректно работать и отображаться только с ресурсами от английской версии Warcraft II. Если взять ресурсы из русифицированной версии, то при запуске большая часть текстов, кнопок меню просто не будут отображаться. Эту проблему удалось решить при компиляции игры Wargus из исходных кодов под Linux (смотреть комментарии), а под Windows решения пока что нет.

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

Но не стоит расстраиваться, вы можете играть в оригинальную руссифицированную игру для MS-DOS, запустив ее под Windows XP/7/8/10 в специальной программе-эмуляторе. В одной из статей я детально расписал как установить и натсроить эмулятор DosBox под MS Windows.

Если англоязычная игра вам подходит, то продолжим.

Важно чтобы версии Stratagus и Wargus при установке совпадали, будьте внимательны при скачивании файлов! На момент написания статьи я использовал MS Windows 7 и версию игры 2.2.6, позже проверил еще версию 2.3 — все работает.

Компоненты Windows

Нужно установить пакеты бибилиотек Visual C++ от Microsoft:

  • Visual C++ 2005 Redistributable Package;
  • Visual C++ 2008 Redistributable Package;
  • Visual C++ 2010 Redistributable Package.

Все эти пакеты доступы на сайте Microsoft в версиях ‘x86’ и ‘x64’, вы без проблем найдете их из поисковых систем (только качайте с сайта Microsoft, а не с каких-то похожих, будьте внимательны). Если у вас 64-биная версия MS Windows, то рекомендую установить обе версии каждого из пакетов.

Читайте также:  Как можно узнать пароль от ноутбука windows 10

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

С выходом новых версий игры, возможно что понадобится установка библиотек еще поновее — 2012, 2015, 2017, 2019 и т.п.

Если этих бибилиотек не будет, то игра возможно что установится но после этого откажется запускаться. В некоторых версиях при попытке распаковать ресурсы может появляться окошко «Ошибка распаковки ресурсов».

Установка Stratagus

Качаем со страничка проекта Stratagus последнюю версию инсталлятора движка игры:

Создаем папку для нашей игры (Wargus) на каком либо диске и устанавливаем в нее Stratagus.

Подготовка файлов из оригинальной игры WarCraft II

Для извлечения ресурсов вам понадобится полная оригинальная игра «Warcraft 2: Tides of Darkness» с дополнением «Beyond the Dark Portal Expansion Set».

Как я уже говорил выше, версию игры, в качестве донора ресурсов, нужно брать Английскую!

Версия Battle NET Edition (BNE) не подойдет! Нужен именно обычный Варкрафт 2 с дополнением или без.

Возможно что у вас есть в наличии оригинальный диск с игрой, а если нет — то поиск в интернете вам в помощь. Распаковываем все файлы игры в какую-нибудь временную папку, например «War2» на диске С:

Установка Wargus

Качаем со страничка проекта Wargus ту же версию пакета, что и уже установленный Stratagus:

Запускаем инсталлятор, для установки указываем ту же папку в которую мы уже установили Stratagus. Позже инсталлятор попросит нас указать папку с файлами от оригинального Warcraft CD — указываем папочку, в которой доступны файлы от оригинальной игры Warcraft II (в примере выше это War2 на диске C).

Нажимаем «Далее», потом «Установить» и ждем 5-15 минут (в зависимости от мощности вашего компьютера). Начнется процесс копироваться файлов движка, будут распаковываться ресурсы (графика, музыка, видео) с перекодировкой в форматы для новой игры. По завершению процесса установки сборка готова, можно запускать Wargus.exe .

Примечание: установленную игру можно копировать/переносить на другие компьютеры, носить с собой на флешке — в таком случае придется запускать файл Stratagus.exe , запуск файла Wargus.exe может вызывать ошибку.

Скриншоты из игры

Несколько скриншотов игры Wargus:

Рис. 1. Видео-логотип Blizzard при старте игры Wargus (WarCraft II).

Рис. 2. Стартовое окно игры — меню, копирайты, версия.

Рис. 3. Окно установки разрешения экрана и глобальные опции графики.

Рис. 4. Брифинг — начало кампании за людей.

Рис. 5. Игровой процесс Wargus (WarCraft 2) — скриншот 1. Болото, хорошо что у нас есть транспорт 😉

Рис. 6. Игровой процесс Wargus (WarCraft 2) — скриншот 2. Вестланд — деревья как грибы!

Рис. 7. Игровой процесс Wargus (WarCraft 2) — скриншот 3. Зима, холодно и на нас нападают!

Рис. 8. Игровой процесс Wargus (WarCraft 2) — скриншот 4. Похоже у наших соперников делишки идут хорошо.

Полезности и дополнения

Играя большие сторонние карты и кампании (Skirmish mode) с огромным количеством юнитов у меня иногда случались зависания игры, с оригинальными кампаниями я думаю проблем не будет никаких — там все неплохо сбалансировано.

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

Напоследок, как и писал вначале, прикладываю вкусные печеньки:

  • Lua-скрипт с опциями для поддержки широкоформатных расширений экрана 1280х800, 1366х768 и другие — Скачать Lua-скрипт с настройками широкоформатных расширений (3 Кб).
  • Скрипт для массовой конвертации карт из формата WarCraft II (*.pud) в формат карт Wargus (*.sms, *.smp) — Скачать скрипт-конвертер карт для Wargus (zip, 50 Kb).
  • Подборка карт для игры в уже сконвертированном формате, когда-то собирал для себя в интернете из разных сайтов. В архиве вы найдете около 150 кампаний и 50 мультиплеерных карт — Скачать подборку карт для Wargus (zip, 10 MB).

Также есть порт игры и на Android OS на сайте 4PDA.ru:

Желаете запустить Wargus на GNU Linux?

Как это сделать можно узнать из отдельной подробной статьи — Сборка и запуск Wargus (Stratagus) на Linux снуля (WarCraft 2).

Заключение

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

Кто-то поностальгирует, а кому то будет просто интересно попробовать старенькую игрушку в новом лице. Старался рассказать все просто и с улыбкой, если есть у кого что добавить — прошу комментировать!

Источник

Оцените статью