Приветствую!
В прошлом году я поддержал на Кикстартере интересный проект Limit Theory. Это космический симулятор, но с интересной особенностью — практически все элементы игры генерируются процедурно. Описание игры выглядело многообещающе, поэтому она собрала в 3 раза больше запрашиваемой суммы.
Мне эта игра чем-то напоминает игру 1997 г. Parkan. Хроника Империи.
Вчера автор выложил ежемесячный отчет о проделанной работе, который выглядит очень впечатляюще. Посмотреть можно тут:
Автор проекта — Джош Парнел (Josh Parnell) — молодой, но амбициозный программист. В Limit Theory (LT) он пытается, и довольно успешно, реализовать идею процедурной генерации контента. В даном случае это генерация не только самой вселенной (звезды/планеты, астероиды и т.д.), но и космических кораблей и станций, внутриигровых NPC'шных фракций, а также частично дерева технологий. Это даст игре невероятную разнообразность и реиграбельность.
Каждая игра уникальна и генерируется на основе одного числа (сида), т.е. начальная ситуация в игре (вселенная, расположение NPC, кораблей и т.д.) «выводится» из этого сида. При этом для одного и того же сида будет генерироваться каждый раз одна и та же начальная игровая ситуация, а для разных — разная. В дальнейшем, конечно, развитие игры будет идти каждый раз по разному.
Изначально Джош работал над проектом один, но в апреле к нему присоединился второй разработчик. Несмотря на это, размер проделанной работы впечатляет. На сегодняшний день реализована генерация вселенной (звезд/планет/астероидов, при этом можно спускаться на поверхность планет), кораблей и станций (создаются по модульному принципу из генерируемых частей). Также реализован начальный ИИ и генерируемое дерево технологий.
Будет поддержка моддинга игры (с некоторыми ограничениями в связи с процедурной особенностью проекта).
Теперь об этом немного детальнее.
Игра поддерживает довольно большие масштабы. На даный момент соотношение корабль/планета 1:10000, но, по словам Джоша, можно будет с помощью моддинга задать и большие соотношения (возможно даже реальные).
На планеты можно будет спускаться, правда только через экран загрузки. Пока точно не ясно, какая игровая механика будет связана с поверхностью планет и будет ли вообще эта возможность в первом релизе.
Корабли и станции собираются из генерируемых модулей. Каждый модуль будет иметь свое предназначение — рубка, грузовой отсек, движки и т.д. Все эти части можно будет менять, покупать и продавать.
ИИ находиться в начальном состоянии развития, но уже сейчас умеет решать некоторые простые задания.
Дерево технологий и исследований будет состоять из двух частей: фиксированной и динамически генерируемой.
Фиксированная часть задается автором жестко и соответствует деревьям технологий других игр. Это, например, развитие различных типов кораблей (фрегат, корвет, ...), двигателей, защитных полей и т.д.
Динамическая часть дерева начинает генерироваться (развиваться) в разрешенных узлах фиксированного. Развитие подразумевает, что в результате исследований ученые улучшают некоторые характеристики выбранного обьекта. Это может быть, например, увеличение скорости корабля, увеличение грузового отсека, улучшение защиты,… Каждый раз будет генерироваться несколько веток улучшений и игрок сможет выбирать из них одну или несколько. Игра будет «помогать» игроку в развитии выбранного направление. Т.е., если он несколько раз выбирал ветки с увеличением мощности двигателя, то в дальнейшем будет генерироваться больше веток с улучшением этого параметра.
Но этот механизм не позволит создавать неограничено крутые вещи, поскольку каждая ветка будет кроме улучшающих характеристик содержать и ухудшающие. Например, увеличение грузового отсека приведет к увеличению массы и соответственно уменьшению скорости. Таким образом предполагается соблюдать баланс в игре.
Под моддингом в LT подразумевается настройка констант процедурных генераторов. Поэтому в игре нельзя будет создавать новые типы кораблей или другого динамически генерируемого контента, но можно будет менять характеристики самих генераторов. Напрмер, как было сказано выше, можно будет создавать вселенные с практичеки реальными размерами планет или сделать физику кораблей более реалистичной.
Все эти изменения параметров можно будет также проводить в реальном режиме в самой игре. Джош создал просто невероятный по красоте внутриигровой редактор даных. Его можно увидеть на картинке вверху и в конце видео, размещенного в начале статьи.
Про другие особенности игры можно почитать в FAQ или на форуме игры.
Я не жалею, что поддержал этот проект. С каждым днем он становиться все более впечатляющим.
Поражаюсь трудолюбию Джоша. Он работает на протяжении 10 месяцев практически каждый день по 8-10 часов. При этом он работает сам на себя, а не на компанию. Не каждый так сможет, пускай даже работа будет над интересным проектом (хотя финансовая часть — хороший стимул, наверное).
Когда я только приехал в Киев, я также работал в игровой компании (GSC, проект S.T.A.L.K.E.R.). Это было невероятное время и очень интересный проект. К сожалению после этого я работал и работаю только в бизнес проектах…
Ссылки:
Автор: HaronK