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

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

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

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

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

Содержание:

  1. Моя история знакомства с игрой
  2. Что такое Wargus
  3. Сборка Wargus под Windows
  4. Скриншоты из игры
  5. Полезности и дополнения
  6. Заключение

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

Во времена, когда только появился 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, поэтому не исключено что они уже установлены в вашей ОС.

С выходом новых версий игры, возможно что понадобится установка библиотек еще поновее - 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" на диске С:

C:
└── War2
    ├── DATA
    │   ├── INSMAIN.INS
    │   ├── INSSTR.INS
    │   ├── MAINDAT.WAR
    │   ├── MUDDAT.CUD
    │   ├── REZDAT.WAR
    │   ├── SFXDAT.SUD
    │   ├── SNDDAT.WAR
    │   └── STRDAT.WAR
    ├── ALAMO.PUD
    ├── DRIVERS
     ......
    ├── README.TXT
    ├── SETUP.EXE
    ├── SFXED95.EXE
    ├── UVCONFIG.EXE
    ├── WAR2.EXE
    ├── WAR2ICON.DLL
    ├── WAR2.INI
    └── WAR2KALI.EXE

Установка Wargus

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

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

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

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

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

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

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

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

Стартовая страница игры - меню, копирайты, версия

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

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

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

Брифинг - начало кампании за людей

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

Игровый процесс Wargus (WarCraft 2) - скриншот 1

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

Игровый процесс Wargus (WarCraft 2) - скриншот 2

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

Комментарии к публикации (13):
Дикий #1Дикий
08 Февраль 2014 18:24

Спасибо, интересный рассказ smile Искал новые карты, миссии... Щас вспомню молодость... smile

+2
Manif #2Manif
17 Май 2015 20:17

Скажите, почему созданные в стандартном редакторе War2 карты не конвертирует?

0
ph0en1x #3ph0en1x
18 Май 2015 17:18

Весь пак карт, который был собран раньше для оригинальной игры, переконвертирован из формата Warcraft 2 "pud" в формат карт Wargus "smp", "sms".

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

0
Manif #4Manif
22 Май 2015 20:14

Спасибо. Проблема теперь вот с чем. Вы пишите, что в варгусе присутствует редактор карт. Я не нашёл его. Где его взять? Я сейчас пользуюсь оригинальным редактором, а потом конвертирую карты из PUD в SMP и т.д. Но дело в том, что при конвертации теряются выставленные запреты на постройку программой PUDrest. Не подскажите, как быть с запретами па постройку/апгрейды в вагрусе? Кампанию делаю, а на первой карте строить драконов как-то не честно )) Спасибо.

0
Manif #5Manif
22 Май 2015 21:04

Проблема решилась при помощи скрипта LUA.

+1
Feanor #6Feanor
07 Январь 2020 18:59

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

0
ph0en1x #7ph0en1x
07 Январь 2020 23:52

Доброго времени суток.
В статье есть ссылка на LUA-скрипт, который добавляет поддержку больших разрешений экрана, в том числе и широкоформатных (до 1920x1080), но он похоже что уже не годится для версий Wargus+Stratagus выше 2.2.7.

В последней версии 2.3, скомпилированной под GNU/Linux сейчас вижу что есть поддержка разрешений вплоть до 2560x1600.

Добавить свое разрешение вы можете отредактировав содержимое файла "scripts/menus/options.lua", отвечающего за формирование меню с настройками игры.
Список доступных разрешений экрана сможете увидеть и задать свое после строчки, содержащей код "local videoModes = {".

0
A #8A
17 Июнь 2020 12:44

Здравствуйте!

Благодарю Вас за подробную и интересную статью. Только сделать не получилось, всё по инструкции ставлю, а на этапе "указать папку с файлами data" - уже и нашел всё, вроде, он начинает конвертацию, но выдаёт ошибку "работа программы остановлена". в самом конце. Если же запустить после этого Wargus.exе, скажет, компиляция не завершена.

Вас можно попросить папку с файлами Data залить архивом куда-нибудь? Возможно..., не то что то нашёл... 6 раз подряд.... BNE и репаки обходим стороной, это понятно.. нашёлся и совсем уж оригинальный диск - от PS2, но тот тоже.. ни о чём....

Заранее, спасибо.

0
ph0en1x #9ph0en1x
17 Июнь 2020 20:24

Здравствуйте.

Скорее всего проблема в том, что у вас в ОС Windows не хватает каких-то компонентов для нормальной установки и работы игры. Если вы ставили версию 2.3 и у вас выдает ошибку, то возможно что в системе Windows не установлены библиотеки Visual C++.

Ради эксперимента, установил чистый Windows 7 (64-бит) в VirtualBox (виртуальная машина). Без установленных библиотек Visual C++ ресурсы игры не распаковываются, она не запускается и выдает ошибку. Установив библиотеки я удалил неудачную инсталляцию игры, выполнил установку заново и все прошло - ресурсы распаковались, игра заработала.

Также для эксперимента ресурсы игры (англоязычная версия) проверил в нескольких вариантах: образ CD-диска WarCraft II: Beyond the Dark Portal (cмонтированный через эмулятор Daemon Tools) из сайта OLD-GAMES, какой-то обрезанный рип игры без видео и музыки (первое из того что нашлось из поиска). Оба варианта извлеклись и заработали.

Я обновил часть статьи по установке, дополнил ее свежими данными, пожалуйста перечитайте.

0
A #10A
19 Июнь 2020 10:52

Спасибо за потраченное Вами время, всё оказалось предельно просто) Не учёл до этого, что нужно брать не русскую локализацию, а английскую. Благодарю, что добавили эту важную строчку в статью)
А то уж тоже и винду чистую поставил, указанные библиотеки (и все остальные, чтоб не пройти мимо кассы), начал экспериментировать.. А ларчик просто открывался.)

+1
Geba #11Geba
05 Июль 2020 15:35

Здравствуйте! Возможно глупый вопрос, но может быть вы в курсе, нету ли возможности сделать так чтобы сейвы в игре упорядочивались автоматически по времени создания? И возможно можно сделать так чтобы при открытии окна сохранения игры список сохранений уже был проскроллен в самый конец? На данный момент процесс сохранения игры хронологически довольно сложен и требует большого количества кликов (во первых название сейв-файла указывается вместе с расширением, что убирает возможность просто кликнуть в конец названия предыдущего сейва и добавить туда, например единицу, во вторых список в момент сохранения не "перемотан" вниз, поэтому для выбора предыдущего сейва приходится не только сначала выискивать мышью скролл и потом перематывать список вниз, но и делать даблклик на названии файла, бекспейсом стирать расширение *.sav и после этого добавлять туда какой нибудь символ). Может быть где-то в в файлах с настройками можно что-то поменять? Заранее спасибо.

0
ph0en1x #12ph0en1x
05 Июль 2020 21:59

Здравствуйте.

У меня игра скомпилирована из исходных кодов под Linux и сортировка в окне выбора сохранения выполняется по дате создания файла (не изменения). То есть, если файл сохранения в игре перезаписать, то он не поднимется вверх списка. А вот если сохранить в файл под новым именем - то будет в самом верху.

Под MS Windows сортировка выполняется по имени файла.

В папке Wargus/scripts/ есть файл guichan.lua с набором вспомогательных функций для формирования графического интерфейса (меню, диалоги и т.п.). Файлы с расширением 'lua' написаны на скриптовом языке программирования LUA.

За передачу списка файлов в окно выбора (загрузка и сохранение игры, выбор карт и т.п.) отвечает функция:

function menu:addBrowser(path, filter, x, y, w, h, default)

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

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

Саму работу с файлами сохранений игры можно немного упростить:

  1. в качестве имени файла с сохранением достаточно будет ввести строчку из нескольких букв/цифр (без точек и расширений), например: game7
  2. в окне ввода имя файла для сохранения игры по умолчанию будет просто 's' вместо 'game.sav'
  3. при загрузке игры, список файлов будет отображен с расширением '.gz' и без '.sav'.

Чтобы все работало так как сказано выше, нужно внести некоторые исправления.

В папке /scripts/menus/ есть файлы:

  1. load.lua - отвечает за формирование интерфейса загрузки игры из файла;
  2. save.lua- ... сохранения игры в файл.

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

Исправляем файл load.lua чтобы в браузере загрузки игры отображались файлы с расширением '.gz':

--local browser = menu:addBrowser("~save", "^.*%.sav%.?g?z?$",
local browser = menu:addBrowser("~save", "^.*.?g?z?$",

Дальше меняем код в файле save.lua чтобы для записи сохранения можно было ввести просто строку, без точек и расширений. Движок Stratagus сохранит файл с расширением архива '.gz' автоматически (это здесь нельзя отключить).

Ниже привожу строчки которые нужно заменить в этом файле парами:

--local t = menu:addTextInputField("game.sav",
local t = menu:addTextInputField("s",

--local browser = menu:addBrowser("~save", ".sav.gz$",
local browser = menu:addBrowser("~save", ".gz$",

--if (string.find(name, ".sav$") == nil) then
if (nil) then

Теперь, поскольку файлы в игре под Windows сортируются по имени, то можно называть сохранения примерно так:

  • human-k      # Самое свежее сохранение (игра за людей)
  • ...
  • human-z      # Первое сохранение (игра за людей)
  • orc-x           # 3-е сохранение (игра за орков)
  • orc-y           # 2-е сохранение (игра за орков)
  • orc-z           # 1-е сохранение (игра за орков)

Таким образом, в начале названия добавляем какой-то префикс ('s', 'game', 'test' и т.п.) а дальше через дефис букву 'z'. Следующее сохранение этой же кампании в игре именуем также, только теперь вместо 'z' пишем 'y'...'b', 'a' (в распоряжении весь алфавит).Файлы с именами, буквы которых стоят раньше в алфавите, будут отображены выше в списке.

Небольшой пример:

wargus упрощенное именование файлов сохранений игры

Еще можно использовать цифры в конце, начиная первое сохранение с '9'. Также можно просто именовать сохранения как: '09', '08' (кампания 0), '19', '18' (кампания 1) и т.п. Думаю вы поняли суть.

Это то, что можно сделать без изменений исходных кодов и без перекомпиляции движка. Для редактирования LUA-файлов под Windows можете воспользоваться редакторами кода с подсветкой: Notepad++, Sublime Text и другими.

0
SnakeJake248 #13SnakeJake248
15 Июль 2020 10:40

Всем здрасте! Сделал русскую версию от СПК.Текст и озвучка. По ту сторону портала только текст. Вроде работает

0