For the Glory. Дневник разработчиков №3

Источник: http://forum.paradoxplaza.com/forum/showthread.php?t=431786

Всем привет и добро пожаловать в наш третий дневник разработчика игры «For the Glory» (FTG).

Такая глобальная стратегическая игра, как FTG, не может не иметь собственной базы данных по странам, монархиям, лидерам, провинциям, религиям, культурам, технологиям, событиям и т.д. Мод AGCEEP, к примеру, в разы увеличил размер такой базы данных, а некоторые картографические моды для ЕУ2 добавили множество новых стран и провинций. Но для всего этого в ЕУ2 были ограничения. Первым был лимит на число возможных «объектов». Вторым ограничением было то, что все правила, которые касались этих объектов, были внутри игры.

Основной целью FTG была отмена этих лимитов и выведение как можно большего числа правил во внешние файлы. Для этого потребовалась новая структура базы данных, а также новый движок по работе с ней. Такой движок был создан для FTG камрадом Wreck. С его созданием для нас открылась дорога по полной переписи БД.

Первой задачей стало конвертировании csv-файлов ЕУ2 в более дружественные для пользователя текстовые файлы. Следующий шаг был сделан в программном коде: мы определи все известные эффекты в нём… и даже глубже.

К примеру, знаете ли вы, что в ЕУ2 были узкие морские проливы? Вот что получилось из них в базе данных FTG:

control_seazone = {
	445 #Gibraltar
	732 #Tangiers
	357 #Thrace
	307 #Sjælland
	251 #Skåne
}

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

В результате такой работы была создана модель, которая может быть легко расширена. Все игроки в ЕУ2 знали по постоянный повод для войны против католической или контр-реформантской страны, которая владеет Римом, не будучи Папой, или же про КБ против любой страны, воюющей с Папой. Вот вам пример: я играю за Венецию, и Арагон только что объявил войну Папе:

http://paradoxgames.ru/images/ftg/cbpapacy.png

А вот как это отражено в базе данных FTG:

1. для Рима:

religious_cb = {
	religion = {
		province = 399 #Roma
		type = catholic
		owner = { PAP }
	}
}

2. для Папы:

religious_leader = {
	PAP = catholic
}

PAP — это тэг Папства, а “catholic” — религиозная подгруппа в базе данных, в которую входят Католичество и Контрреформация. Это две очень близких, но всё такие отличающихся друг от друга религии с определёнными правилами. Думаю, в следующих ДР мы подробнее опишем религии, но сейчас я говорю лишь про простой пример того, как модель может быть расширена на любую провинцию, страну или религию. Здесь ограничений нет.

Следующий этап в разработке был связан с использованием новой структуры БД для переписанных и новых сценариев. Этой работой занимался для обычных сценариев камрад Garbon. Здесь целью было улучшение сценариев части исторического старта, с учётом того, что они лучше всего подходят для сетевой игры. К примеру, вы увидите специальную религию для Богемии: гуситы. Garbon также добавил сценарий для эпохи Тимура, начинающийся… в 1399 году, конечно!

Ещё одной идеей стал перенос во внешние файлы значений, используемых в формулах. В результате появился на свет файл с названием defines.txt, который включает в себя более 250 цифр. Вот часть кода из этого файла, посвящённая наёмникам:

mercenaries = {
	_MER_INFANTRY_BASE_PRICE_     =  20 #Positive
	_MER_CAVALRY_BASE_PRICE_      =  40 #Positive
	_MER_ARTILLERY_BASE_PRICE_    =  65 #Positive
	_MER_MAXBEFORE_OFFSET_        =   81 #Positive
	_MER_ARTILLERYAFTER_OFFSET_   =   81 #Positive
	_MER_MINAFTER_OFFSET_         =  281 #Positive
}

Первые три строчки описывают базовые цены найма наёмников. Текущий уровень инфляции страны также влияет на эту стоимость.

Три последних строчки касаются временных рамок игры. Основной таймлайн игры, это 1419–1819 года, но нет никаких рамок, которые бы ограничивали время, может начат хоть с 0 года нашей эры.

MaxBefore означает, что в течение первых 81 года игры будет доступен максимум наёмников. ArtilleryAfter показывает, что артиллерию можно нанимать только после 81 года игры. MinAfter значит, что после 281 года игры доступных наёмников станет очень мало. Эти правила применяются к любым значениям, касающимся дат игры, и не только к описанным в defines.txt. Подумайте, к примеру, о технологиях.

Но хватит пока базы данных и текстовых файлов, вернёмся к интерфейсу!

Камрад MichaelM создал новую опцию, устанавливаемую на старте игры. На этом скрине мы играем по сети, и я ожидаю прибытия других игроков:

http://paradoxgames.ru/images/ftg/aieventchoices.png

Обычный (по умолчанию), Исторический и Случайный — варианты для выбора АИ в событиях? Ну… MichaelM объяснит это в последующих ДР. Кстати, четвёртый ДР будет посвящён улучшения и новым дополнениям в игре.

Запись опубликована в рубрике For the Glory с метками , . Добавьте в закладки постоянную ссылку.