Космические рейнджеры HD: Революция

Материал из SpaceRangers.Wiki
Перейти к: навигация, поиск
Обложка российского издания игры

Краткое описание проекта

«Космические рейнджеры HD: Революция» — официальное самостоятельное дополнение к культовому отечественному проекту «Космические рейнджеры 2», разрабатываемое компанией СНК-Games в сотрудничестве с фанатами серии. Релиз состоялся 15 марта 2013 г.

Основное нововведение «Революции» — сюжетная ветвь, посвященная противостоянию пиратской экспансии. Пока Коалиция сосредоточенно вела борьбу с доминаторами, пираты, возглавляемые таинственным лидером, объединили свои усилия и начали организованный захват власти в галактике. Теперь вы сами вольны выбирать, кому противостоять – пиратам или доминаторам, либо тем и другим сразу.

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

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

Предпосылки к разработке и название

Разработка стала возможна благодаря прямому содействию Дмитрия Гусарова, который обратил внимание руководства 1С на бесплатное дополнение "Революция", сделанное силами Богдана Львова и активных на тот момент участников СНК-Games, и убедил продюсеров издателя в том, что команде СНК можно доверить разработку самостоятельного коммерческого продукта на основе этого мода. В период с лета 2010 года до мая 2011 года между СНК, 1С, Katauri Interactive и Elemental Games шли активные переговоры, которые в конечном итоге завершились успехом.

Непосредственно работы по созданию Революции HD начались в июле 2011 года, когда СНК-Games получили на руки исходный код проекта, а также некоторое количество графических материалов. Хотя сама по себе HD-версия идеологически и происходит от бесплатного мода, она не содержит в себе старого контента или кода, и сделана полностью с нуля. Название "Революция" было оставлено как знак уважения разработчикам бесплатной модификации, которые в разработке коммерческой версии участия уже не принимали; приставка "HD" в названии появилась по настоянию 1С.

Техническая реализация

Как и раньше, игра написана большей частью на Borland Delphi (в этот раз в качестве основной IDE для разработки и сборки проекта использовалась, впрочем, не Delphi 7, а CodeGear RAD Studio 2007) с использованием ASM-функций для программной отрисовки некоторых графических эффектов. Движок ПБ был переведён на MS Visual Studio 2010, а главная универсальная библиотека собрана в Microsoft Visual Studio 6.

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

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

  • ядро проекта - непосредственно rangers.exe (Delphi+ASM)
  • движок планетарных боёв роботов - matrixgame.dll (Visual C++, динамическая линковка)
  • универсальная библиотека OKGF.dll (Visual C++, статическая линковка)

Помимо этого, к игре подключены внешние модули для декодирования OggVorbis и XviD, скомпилированные в статике при помощи mingw.

Для повышения быстродействия движка, в отличие от КР1 и КР2, которые полностью отрисовывали всю графику в программном режиме через DirectDraw, в Революции рендер частично переписан: отрисовка полностью переведена на Direct3D, часть нагрузки по обработке спрайтов и эффектов переложена на видеокарту. Помимо этого, движок теперь умеет правильно использовать многопоточность, что ощутимо ускоряет игру на многопроцессорных системах (предыдущие версии игры даже на многопроцессорных системах умели работать только в один поток - вероятно, это было связано с тем, что на Win9x\ME, которые являлись основным пользовательскими ОС во время выхода первой части КР, многопроцессорность не поддерживалась).

В связи с вышеперечисленным, проект способен корректно запускаться только на MS Windows XP и выше, поскольку установка MS Visual C++ 2010 на более старые системы, например, Windows 2000, невозможна. Впрочем, поскольку Steam, который используется в проекте в качестве системы дистрибуции и DRM, официально поддерживает минимум Windows XP, этот недостаток стоит отнести к разряду гипотетических.

Лицензионная чистота кода проекта

Космические рейнджеры 2: Доминаторы включительно по версию 2.0 содержали в себе массу заимствованного кода и программных решений, часть из которых являлась коммерческими продуктами, требующими лицензирования, а часть - свободно распространяющимися, выпущенными под GPL, Apache и другими свободными лицензиями. К примеру, под BSD-лицензией был выпущен RSA-класс FGInt за авторством Walied Othman, использовавшийся для шифрования файлов с рекордами. Помимо этого, в универсальную библиотеку OKGF был включён огромный класс из VirtualDub ветки 1.2x (размером более 1 Мб исходного кода), из которого применялась всего-навсего одна функция для программного рескейла видео на весь экран. Сжатый звук хранился в MP3 (без лицензии от Thomson Multimedia и Fraunhofer IIS использование формата в коммерческих продуктах не допускается), для декодирования которого применялся декодер из состава BASS (использование в коммерческих продуктах требует лицензирования).

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

В процессе работы над HD-версией игры MP3 был заменён на OggVorbis, для шифрования стала использоваться собственная реализация RSA, а ресайз видео стал производиться посредством нативного Direct3D. Zlib была вынесена в отдельную библиотеку, а декодер видео - заменён на ванильную (т.е. предоставляемую вендором в неизменном виде) библиотеку.

Портирование на другие платформы

На данный момент никакой деятельности в этой области не ведётся, что связано, в первую очередь, с необходимостью полностью переписать движок игры на C++ или Objective-C для портирования на любую другую платформу. Поскольку эта задача является достаточно время- и ресурсоемкой, а коллектив не обладает возможностью профинансировать подобное мероприятие, шансы на перенос игры на мобильные платформы или GNU/Linux на данный момент следует оценивать как минимальные.

Системные требования

Минимальные

  • MS Windows XP SP3
  • Intel Pentium 4 2.5 ГГц / AMD Athlon XP 3200+ (2200 МГц)
  • 1 Гб оперативной памяти
  • видеокарта GeForce 7800 GT 512 Мб / Radeon 1800 Pro 512 Мб или им подобные
  • 2 Гб места на жёстком диске для полной установки (игра + Steam)
  • соединение с интернетом для загрузки клиента Steam и\или активации игры

Рекомендуемые

  • MS Windows XP SP3 / Windows 7 / Windows 8
  • Intel Core 2 Duo E6600 2.4 ГГц / AMD Athlon 64 X2 4800+ 2.4 ГГц
  • 2 Гб оперативной памяти
  • видеокарта GeForce 8600 GT 512 Мб / Radeon X3550 Pro 512 Mb
  • 3 Гб места на жёстком диске для полной установки (игра + Steam)
  • соединение с интернетом для загрузки клиента Steam и\или активации игры

Указанные конфигурации учитывают использование аппаратного рендеринга 2D-режима. В случае, если по каким-то причинам программный режим будет предпочтительнее, требования к видеоадаптеру снизятся (в частности, достаточно будет всего 64 мегабайт видеопамяти), а нагрузка на центральный процессор соответствующим образом возрастёт.

Официально поддерживаемые операционные системы - MS Windows XP SP3, MS Windows 7, MS Windows 8. ОС семейства Windows 9x\ME, а также Windows NT4, Windows 2000 и Windows 8 RT не поддерживаются. Помимо этого, игра вполне сносно работает в ОС семейства GNU\Linux в среде wine -- впрочем, подобная конфигурация официально не поддерживается разработчиками, а также налагает определённые ограничения на возможные режимы работы. Так, например, на некоторых версиях проприетарных blob-драйверов для видеокарт NVIDIA возможно некорректное отображение спрайта курсора, недоступен аппаратный рендеринг в 2D-режиме, файлы и слоты сохранений могут быть названы только в латинице, и т.д. Полный список ограничений при работе под wine выводится при первом старте игры в подобной конфигурации.

Команда разработчиков дополнения

В разработке "Революции" принимают участие как штатные сотрудники СНК-Games, так и некоторые фрилансеры из числа фанатов. В частности, сторонним разработчиком были созданы все карты для планетарных боёв.

Команда разработчиков:

  • Яков «ru_maniac» Уваров (главный координатор проекта, технический директор, автор текстов игрового мира, корректор)
  • Богдан «Ostap_Blender» Львов (координатор проекта, главный художник, 3D-моделлер, автор текстов игрового мира)
  • Михаил «Bercut» Белов (координатор проекта, финансовый директор, автор текстов игрового мира, тестер)
  • Владимир «Br3t» Жучкин (автор текстовых квестов и документации, создатель сайта игры)
  • Константин «Koc» Савенков (главный программист проекта)
  • Дмитрий «DeFANCE» Иванюшин (программист ИИ и движка планетарных боёв)
  • Алексей «evilcoward» Бондарчук (программист)
  • Иван Пащенко (программист)
  • Александр «Эйс» Смирнов (автор сценария и текстовых квестов)
  • Иван «ND» Ильичёв (автор сценария, текстовых квестов и текстов игрового мира)
  • Сергей «Ice» Гишта (художник)
  • Георгий Сучков (художник)
  • Иван «.vanoM» Алексеев (художник)
  • Никита «Nikinit» Малолетков (композитор)
  • Сергей Бережной (программист и тестер)
  • Юрий Джуль (автор карт планетарных боёв)

Пост-релизная поддержка проекта:

  • Алексей "evilcoward" Бондарчук (главный программист)
  • Константин "Кос" Савенков (программист ИИ)
  • Михаил "Bercut" Белов (координатор проекта, автор текстов игрового мира, тестер)
  • Богдан "Ostap_Blender" Львов (координатор проекта, главный художник)
  • Яков "ru_maniac" Уваров (координатор проекта, технический директор)
  • Владимир "Br3t" Жучкин (таблица рекордов)

История версий

Со всеми изменениями и нововведениями внесенными с патчами можно ознакомиться здесь.