Проект игры под рабочим названием «Левиафан».

 

Общие сведения (Гейм-фокус)

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

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

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

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

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

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

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

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

основные идеи и качественные отличия от имеющихся:

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

 

Игровой мир

на поверхности (сферы) имеется сетка с равноудаленными узлами, получившаяся после нескольких разбиений икосаэдра (как это будет выглядеть - см. программу Генерала). Каждый узел соединен с несколькими (обычно с 6ю) соседними. Все объекты привязаны к узлам сетки. То есть характеристики местности задаются для узла. например для такого-то узла задано, что там растет лес. Соответственно на поверхности вокруг этого узла размещаются модели ёлок. границы зоны, на которой они размещаются, определяется как ломанная, проходящая через середины ребер, соединяющих данный узел с соседними.

 

Масштаб времени

я предлагаю следующий вариант (черновой):
а) 1 ход = 1 год (сельскохозяйственный). или не год а полгода - в общем, отвязаться вообще от года и принять некий абстрактный промежуток времени, за который сажается и собирается урожай (кстати в реальности может быть меньше года).
б) время не привязано к реальному историческому времени. на экране отображается просто например номер хода, или вообще ничего не отображается. соответственно коэффициенты игры выбраны таким образом чтобы все эпохи в игре занимали примерно одинаковое игровое время (не в ходах, в ходах время будет немного сокращаться ближе к концу так как сами ходы станут длиннее (игрок к концу игры взаимодействует с бОльшим числом объектов и время на ход увеличивается)) Эпохи грубо говоря следующие: 1. палеолит-неолит, 2. античность 3. раннее средневековье 4. позднее средневековье-ренессанс 5. новое время 6. современность.
в) как в таком случае реализовать военные действия? выход следующий: армии имеют "оперативный радиус". при попадани в оперативный радиус армии противника происходит рассчет столкновения армий. Армиям можно задавать способ их поведения например (грубо) атаковать, защищать какой-то объект, избегать сражения. Так же и наступающей армии можно задавать подобный алгоритм действий - искать сражения, маневрировать и занимать оборонительные позиции, и т.п. (см. мой пост в топике "Армия").

 

Демография

человек характеризуется здоровьем h, оно имеет величину от 0 до 1.

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

рождение потомства:
каждый ход человек имеет шанс родить одного потомка. базовый шанс равен h из F. F - базовая константа фертильности. потомок обладает базовым здоровьем h1 = (h + 1)/2. То есть старые/больные люди дают более слабое потомство.

полового деления нет. пока что необходимости вводить эту сущность не вижу.

Модификаторы здоровья (% к скорости убавления)
1. Сверхэксплуатация
2. Плохая экология. экологический показатель можно рассчитывать как сжигание топлива (угля, нефти) на душу населения умножить на коэффициент защиты от выбросов. плюс тут естественные могут быть причины - например как джунгли в циве.
3. Пороки - алкоголь, табак, наркотики, обжорство. Величина данного фактора будет зависеть от менталитета и наличия (и следовательно возможности потребления) соответствующих товаров (растет спрос).
4. Физическая культура. Снижает скорость потери здоровья. Зависит от менталитета.
Модификаторы 3 и 4 определяются парой строгость/распущенность менталитета (про менталитет см. мой пост здесь)

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


Модификаторы смертности
1. питание. если человек съедает меньше нормы, соответственно увеличивается его шанс умереть в данном ходу: 1-h*(f/fn). f - паек человека. fn - норма пайка.
2. санитарные условия S. S может быть как меньше (ухудшенные), так и больше единицы (улучшенные условия). S зависит от фактора скученности населения, фактора типа жилища и фактора достатка одежды. Шанс умереть на данном ходу с учетом санитарных условий: (1-h)*S. Факторы санитарных условий определяются в соответствии с климатом данной местности (например, важность одежды и жилья возрастает при удалении от экватора). В разработке.

Дополнительные факторы смертности
1. Преступность. жертвами преступлений становятся c% человек от общего числа населения. c - коэффициент преступности. зависит от менталитета.
2. Война.
3. Стихийные/техногенные бедствия.

Модификаторы рождаемости
1. Модификаторы связанные с менталитетом и государственным устройством (в разработке). В общих чертах: индивидуализм, карьеризм, эмансипация, космополитизм - снижают рождаемость. Традиционализм, патриотизм, коллективизм - увеличивают. Хорошие условия жизни (отсутствие недостатка в еде/одежде/жилище) - также увеличивают рождаемость.

 

Экономика

См. модель Гоббельса (файл «Концепция Tribes – на всеобщее обозрение» в главной теме). В данный момент идет переработка этой концепции.

 

Менталитет

насчет разделения народов у меня была идея которую я излагал на циврукоме - о том что у групп людей существует такая характеристика как менталитет, представляющая собой вектор значений со знаком в пределах к примеру от -100 до 100, и каждое значение выражает какую-то характеристику данной общности. Например:
1. миролюбие. -100 соответствует высшей степени агрессивности. 100 соответствует примерно "агрессивности" Иисуса Христа (подставь другую щеку и т.д.)
2. трудолюбие. -100 - будут помирать с голоду но за мотыгу не возьмутся (лучше украдут к примеру или отбирут у соседей). 100 - будут работать бесплатно 24 часа в сутки.
ну и так далее.

Так вот, идея в том что
1. такая ментальная "хромосома" имеется у каждой единицы населения
2. каждый ход в менталитете происходят "мутации", и каждое качество изменяется к примеру на величину от 0 до 5 по модулю.
3. при взаимодействии различных единиц населения (при совместном проживании или торговых контактах или еще как-либо, не будем конкретизировать) их менталитеты некоторым образом изменяются.

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

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

 

Сам хочу добавить от себя несколько качеств, которые имхо в игре наиболее вероятно могут быть задействованы так или иначе:
1. Агрессивность. Влияет на поддержку войны, возможность восстаний/внутренних конфликтов и прочего.
2. Ксенофобия. Влияет на отношение к носителям другого менталитета. В паре с качеством "традиционализм" влияет на смешиваемость менталитета.

3. Строгость/распущенность – влияет на потребительские предпочтения (как охотно человек будет приобретать товары роскоши, товары «порока» - алкоголь, табак, наркотики). При высокой строгости будет стремиться к накоплениям.

 

Наука

по поводу научного прогресса - сейчас в модели Гоббельса используется принцип аналогичный тому который используется в циве - накопили N колб - открыли технологию. Только колбы берутся не из налога а из труда определенного вида. Я предлагаю тут ввести вероятностный подход - чем больше накопили опыта, тем больше вероятность открытия одной из доступных на данный момент времени технологий. при этом опыт после совершения открытия не пропадает.
например:
род деятельности - охота.
технологии: рубило (200), праща (300), лук (400).
на каждом ходу к опыту охоты E добавляется скажем 10 очков. Шанс на открытие одной из технологий составляет: E/(E+C), где C - сложность технологии.
В то же время рубило к примеру могут открыть строители в качестве инструмента обработки дерева. И для них рубило может обладать другой величиной сложности - скажем, 400.
При этом шанс открытия рубила на каждом ходу будет составлять:
1-(1-Eb/(Eb+400))*(1-Eh/(Eh+300)), где Eb - накопленный опыт строителей, Eh - охотников.

так как игра длинная - вполне возможны такие периоды когда один игрок обгонит другого за счет этих вероятностей (или один из них отстанет), и у одного из них будет шанс развить преимущество. Также возможна такая ситуация, когда благодаря случайности быстро открыта очень сложная технология. Как вам например нравятся железные дороги в средневековье? Дирижабли в античности? Имхо это гораздо интереснее, чем статичное дерево наук, и вносит в игру разнообразие.

 

Климат

Основа – концепция климата Пайрллада.

Добавления к ней:

 

1. Климатические параметры клеток: рассчитываются при генерации карты. Предлагаю учитывать континентальный/морской климат, наличие водоемов (реки, озера) и гор.

2. Расчет температурно-осадочных флуктуаций: предлагаю начинать с какой-то одной клетки, затем обрабатывать соседние и так далее (волновой алгоритм). при этом изменения на одной клетке будут зависеть от соседней. т.е. если на соседних клетках температура повышенная, то на данной средняя температура скорее изменится в плюс или по крайней мере останется характерной для клетки. Таким образом избежим ситуации когда на одной клетке засуха а на соседней всё смыло (неправдоподобно же?)

3. Параметры растений. Предлагаю задавать отношение к осадкам и температуре формулами а не таблицами. у таблиц слишком дискретный шаг. или наоборот дискретизировать температуру. например температура делится на следующие градации:
сильный мороз
мороз
холод
прохлада
тепло
жарко
сильная жара
пекло
Соответственно и влажность.
для каждого типа с/х культуры задается табличная функция урожайности F = T(температура лета, температура зимы, влажность).

 

Боевые действия

при всей моей нелюбви к Hearts of Iron мне понравился там один момент - принцип реализации сражений. есть одна провинция скажем, защищающаяся, есть граничащие с ней провинции противника и оттуда устремляются нападающие. бой не происходит мгновенно, он "идет" некоторое время, в течение которого в эту мясорубку можно подкинуть мясца или наоборот вывести войска смотря по тому, как разворачиваются действия. было бы интересно мне кажется перенести эти принципы на пошаговую игру (возможно в довольно сильно измененном виде) - получилось бы что-то в духе Дипломатии, только с более хитрыми правилами разрешения боевых операций.

 

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

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

от генералов, опыта солдат и прочих факторов может зависеть успешность маневрирования армий. например возьмем следующую гипотетическую ситуацию:
армия А защищает некоторый район. В него вторгаются армии Б1 и Б2 противника, с разных сторон (например с запада и юга). Армия А имеет приказ "искать сражения". Армии Б1 и Б2 имеют приказ встретиться и организовать защиту (фронт). Тут возможны такие например исходы:
1) Армия А имеет опытного командира, и путем икусных маневров разбивает армии Б1 и Б2 по очереди, пока они не соединились. Итог кампании хода - противник побежден.
2) Армия А успевает разбить армию Б1 перед тем, как она соединится с Б2, но при столкновении с Б2 терпит поражение и отходит на позиции. Итог кампании хода - ничья.
3) Армии Б1 и Б2 успевают соединиться и армия А разгромлена...
ну и масса других возможных исходов.

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

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

Hosted by uCoz