[Из песочницы] История одной игры или 4х стратегия, которая началась 20 лет назад и жива до сих пор

В этой статье хочу рассказать об игре которая была создана в 1998 году и через 16 лет получила своё развитие, была издана и успешно продавалась. Примечательно тут то, что игра была написана одним человеком. Речь о Remember Tomorrow (Polaris Sector).

Вместо предисловия


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

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

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

Пожалуй, начну сначала.

Давным давно, в одной очень далёкой… ну вы знаете


В моей жизни так получилось, что мне всегда нравилась техника. Ещё с детства я с удовольствием разбирал приёмники, удалял MS DOS с диска E на рабочем компьютере и вёл прочую деструктивно-познавательную деятельность молодого будущего инженера. Не удивительно, что когда началась эпоха компьютерных игр, предпочтение я стал отдавать стратегиям. Сначала это был Master of Orion первый, а затем и второй (конечно, не только, но сейчас речь именно о них). Серия игр была фантастической во всех смыслах слова, но несколько угнетала «деревянность» и «однообразность» системы боёв.

Столько сил тратилось на дизайн кораблей, а по сути всё сводилось к банальному «пиу-пиу».
Так продолжалось пока в один прекрасный день мне не попался на глаза обзор игры в «Навигаторе игрового мира» (был такой журнал :)). Игра называлась

image
REMEMBER TOMORROW

Лично меня с потрохами купила идея создания асимметричных кораблей с тяжёлым вооружением на одном борту и пустым другим бортом.

Космические бои были в реальном времени!

И главное, игра была написана ребятами из России, причём не корпорацией с огромным штатом разработчиков, а командой из нескольких человек.

Тот самый тёплый ламповый сайтик проекта 98 года :)

Я купил :)

Интро было шикарным. Если посмотреть игры 1998 года и анимацию в них, то просто супер.


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

Прошло время. Диск с игрой отложился в коллекции, а игра навсегда осталась в памяти как одна из любимых.

Прошло 16 лет… 16 лет, Карл!


За это время уже вышли три Диаблы и два Старкрафта.

И вот в очередном перерыве между балансированием нагрузки на бэкенд и обучением многослойного перцептрона наткнулся на известном файлообменном сайте на тему с тем самым проектом.

Оказалось, что проект не только не умер, но и подрос до версии 1.04

Это был праздник.

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

Вы наверное удивитесь, но многие современные игры по качеству статистики и по эргономике затыкают за пояс промышленные геоинформационные системы. Удивительно, но факт.

Итак, непосредственно о создании игры


Первым делом был конечно ИИ, ведь с тупым соперником играть не интересно, собственно как и с непобедимым.

В качестве описания работы ИИ приведу цитату от разработчика:

Есть в основном два ИИ. Один из них является «стратегическим», а другой «тактическим».
Стратегический работает на глобальной карте — он развивает империю, проектирует собственные корабли, занимается дипломатией, строит и исполняет планы вторжений и тайных операций. Это довольно сильно отличается на разных уровнях сложности, поэтому ИИ на «Hard» действительно «умнее», чем на «Normal».

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

Например, если стратегия заключается в развитии какого-то сектора, он сначала проверяет, может ли он что-то колонизировать. Если нет, то проверяет, можно ли заключить какой-то договор, позволяющий колонизацию. Если нет, то он начинает планировать враждебное операцию (отличается для разных рас, но в любом случае).

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

Затем он вычисляет необходимую силу атаки для выполнения атаки. Это делается в соответствии с нынешней военной доктрины (то есть модифицируется, кстати). Также он рассчитывает необходимые силы обороны для поддержания продолжительного конфликта в случае неудачи. Затем он регулирует экономику, чтобы обеспечить этот план. Далее ИИ начинает производить и концентировать силы нападения и защиты — для основного и резервного плана атаки. В то же время он перемещает шпионов, чтобы они были готовы к диверсионным операциям с целью нанести ущерб экономике противника и ограничить его способность нанести ответный удар.
Параллельно с этим, AI занимается дипломатией с целью заполучить союзников и убедить атаковать этого врага.

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

Но я также намеренно сделал так, что эти планы AI не всегда удаются — вроде моделирования ошибок в планировании и т.д. Кроме того, усилия игрока в дезинформации играют существенную роль в планировании ИИ и могут разрушить эти планы.

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

Что же касается читов АИ и какие он имеет бонусы на «Hard»:

Во-первых, это игрок имеет бонусы на «Normal» и экстра-бонусы на «Easy»

Во-вторых, да, АИ лучше переносит нехватку ресурсов на «Hard», чем игрок. Таким образом, АИ не получает дополнительные ресурсы, но его флот деградируют медленнее, чем у игрока. Это фактически означает, что при недостатке ресурсов строить новые флоты так же трудно для ИИ, как и для игрока, но поддерживать уже построенные флоты проще. Кроме того, ИИ, как правило, эффективно торгует и обладает очень хорошими месторождениями полезных ископаемых


В теории всё было прекрасно. Даже в программной реализации на стадии альфа тестирования запускалась симуляция без игрока в которой ИИ игроки вполне себе нормально бились между собой.

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

Баланс


Здесь следует отметить некоторые особенности игры:

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

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

Во-вторых, асимметричное дерево технологий. По сути, как такового дерева нет. Есть четыре фундаментальных направления, изучая их вы получаете прикладные области. Исследования в прикладных областях дают вам технологии. Распределение очков исследования ползунком.
При таком подходе набор технологий мог быть совершенно непредсказуемым.

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

В третьих — вооружение.

Оружие в игре ставилось только на определённые слоты, к тому-же не сразу на палубу, а на оружейный форт, который ещё исследовать надо было.

image
тот самый узкий людской линкор

Исключением стали только swarm ракетные установки. Кроме того самих оружейных фортов было несколько размеров, к тому-же для истребителей и тяжёлых кораблей они были разные.

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

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

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

В-четвёртых, живность. Пираты!
Исторически так сложилось, что в начале игры к нам прилетают пираты и просят нашу планету под космическую свалку. Если мы соглашаемся, то игра заканчивается :)

В начале у нас есть небольшой флот и нам даётся возможность с первых же минут устроить небольшую потасовку с пиратами. Разумеется они нас выносят и «благородно» оставляют нам нашу планету.

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

Графика


Тут пришлось работать сразу в двух направлениях:

Создать анимированные портреты рас и создать модели кораблей (лично мне тёплые ламповые портреты из первой версии нравились, но решили иначе).

Моделей кораблей внезапно оказалось очень много. 9 рас * минимум 5 типов тяжёлых кораблей, 5 типов истребителей и 2 типа космических станций. Это не считая пиратов и кораблей «древних».

image

Сколько это стоило, даже представлять не хочу.

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

Маркетинг и прочие финансовые ямы


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

Вот тут получился полный провал :(

Издавать игру взялась Slitherinе.

Для начала, название игры сменили на Polaris Sector. Шаг понятный, это обеспечивало уникальность названия и позволяло однозначно находить игру по этому названию. Хорошо, полезно.

Затем… Как я понял, большой рекламной кампанией никто не заморачивался. Удивительно, но продажи всё равно пошли. Шатко-валко, но тем не менее.

Чего никто не ожидал, так это отзывов пользователей, что игра слишком сложная :) Изначально издатель просил всё упростить и убрать возможность космического боя совсем 0_0

Это был провал. Проект который был фактически написан одним человком, который дошёл до состояния готового продукта просто «не выстрелил».

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

Ложка мёда


Однако есть и хорошая новость.

После официального релиза Polaris Sector, один из фанатов взял и «запилил» бесплатный STAR WARS mod. Со всеми «свистелками» в виде Х-wing-ов, звезды смерти и разрушителей.

image

Лично мне очень понравилось.

© Habrahabr.ru