вторник, 15 марта 2016 г.

Страх и ненависть King's Bounty

В прошлый раз мы остановились, что прежде чем детализировать соц.группы - наделять их этикетами, достоинствами и недостатками - желательно определиться - кто с кем дружит и кто кого ненавидит. Вот так вот - с конца зайти. А уже под это потом придумывать - почему они ненавидят и чего это они дружат-то.. Причем визуально параметр отношений может быть в итоге один - ненависть. А дружба - это как бы её отсутствие. Причем для Истории плохо, когда все дружат. Нет конфликта - нет и Истории. 
А вот если все социальные группы ненавидят друг друга по-разному - тут уже сценаристу есть где развернуться.
Но почему они должны изначально не любить (ненавидеть) друг друга?
Возьмём для примера расы из King's Bounty
Это именно расы (народы), культур (социальных групп) тут к сожалению нет. 
Вот список юнитов у людей. 

3 уровень - гвардеецинквизитор.
5 уровень - рунный чародей.


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

Сценаристы King's Bounty прописали некоторые отношения. 
Вот например, гномы. "Гномы испытывают неприязнь к эльфам и демонам побаиваются нежити, а также ненавидят ящеров. Ладят с оркамилюдьми и нейтралами". 
А почему они не любят ящеров? А кто-то любит ящеров? 
Читаем про ящеров. "Ящеры боятся нежить и ненавидят драконов". Хм, драконы - это вообще отдельный юнит. 
А нежить, кто-нибудь с ней дружит (=меньше всех ненавидит) ? 
"Мертвецы равнодушно относятся ко всем расам. А вот остальные расы побаиваются восставших из могил" Что за эпик фейл..
А кто у нас в нежити - помимо пешек-скелетов да зомбиков? Вампиры, Костяные драконы,  Тёмные рыцари, Некроманты. И они "равнодушны" ??? Да, ладно. Стопудово костяные драконы не ладят с другими драконами, Некроманты ненавидят Архимагов, Вампиры боятся Паладинов/Инквизиторов... 
Про противостояние Вампиры против Оборотней для подростков сняли целую сагу.. 2 типа юнитов..
А тут с такой солянкой и "равнодушны"..
В общем думал я дальше (изобретая разумеется очередной раз велосипед, ну да ладно :) и пришёл к такой матрице, куда расставляя группы/существа можно получить изначальное их отношение друг к другу. Изначальное! 

Небольшое лирическо-городское отступление. Вот я например хулиган на районе и типа тусуюсь с хулиганами, а ботаников мы прессуем. И мы хулиганы вроде как "дружим". Точнее - ботаников ненавидим.
Но если у нас исторически (!) есть смежный интерес - например район/площадка/девушки, то с соседними бандами мы тоже будем метелиться. Ещё раз - это историческая предпосылка. Изначально нам, хулиганам, делить нечего.
И спортсменов, к примеру, за силу мы тоже уважаем.
А вот полицейских уже недолюбливаем. Хоть они и сильные.
И заметьте, всё это должно быть интуитивно понятно. Это - должно быть в нашей природе.
Теперь к фэнтези. Дальнейшая модель - рабочая гипотеза со своими недостатками, но я попробую её обкатать на существующих данных и, в дальнейшем, практически для себя применить.

По шкале Y протягиваем противостояние науки и магии.
  • Наука-Механика 
  • Магии-Колдовство
Тут интуитивно понятно. Почему они не любят друг друга? Почему не ассимилировали и/или не сгенерировали что-то общее как в цикле романов у Ника Ясинского, где программист-попаданец отреверсинженирил местную магию и стал самым крутым магом через научный подход? Здесь скорее традиционно-исторически-культурно сложилось - как противостояние научных ортодоксов, отметающих любые несоответствия и нетрадиционных "волшебников", делающих что-то не по-научному и вопреки существующей парадигме. Поэтому оставим так.. Средневековье. Дикари-с :)

По шкале X уже приходится искать больше компромиссов - Порядок - Природа - Хаос.
  • Порядок - активно преобразуют природу, строят большие города, любят праздники и массовые гулянья
  • Природа - любят лес и нетронутые пейзажи, чтут предков и традиции, живут небольшими племенами, уважительно относятся к зверям/существам. 
  • Хаос/Покой - любят уединения и пустоши, прекрасно себя чувствуют в выжженных и разорённых мирах, где царит Покой и Умиротворение. 
Возможно кому-то покажется, что это закамуфлированная шкала "Добро-Добро'-Зло". Но не всё так просто.
Назовём его Квадрат Ненависти. Можно было бы назвать его помягче - Квадрат Отношений - но прочь сантименты :) 
Теперь начинаем заполнять наш Квадрат Ненависти, ну например "расами" из King's Bounty. Да, я их вроде как поругал за сеттинговую нецелостность, но для первого приближения- почему бы и нет. Далее я буду кое-где мухлевать, но "я художник - у меня особое видение мира". В более целостном сеттинге всё было бы куда более стройным.

ПорядокПриродаХаос/Покой
Наука-МеханикаГномы
Люди

ВикингиОрки
ЯщерыНейтралы
ЭльфыНежить
Магия-КолдовствоДемоны

Что можно сказать глядя на матрицу? 
Люди активно кучкуются, строят города и пытаются активно использовать механику. Гномы ближе к природе, но при этом круче по механике. Викинги живут в суровой природе, возможно чем-то похожи на орков по общему духу.
С Нейтралами сложно - в эту "яму" кого-только не слили. Поэтому условно - это некие природные существа, живущие по одиночке или в небольших племенах, далекие от механики скорее близкие к магии (это как бы в "среднем" по больнице)
Теперь самая мякотка - расстояние между "карточками" - это ненависть (отсутствие общей природы, жизнь на разной волне, полярные мировоззрения и ценности, а отсюда полное непонимание друг друга). 
Ещё раз акцентирую - изначальное отношение! Понятно, что если, например, Король Гномов из жадности заключил союз с Нежитью и пропустил вероломно их войска к Людям, то исторически (!) Люди будут люто ненавидеть Гномов. Ну а тем в ответку местная пропаганда тоже мозги промоет.  Но по натуре своей Люди и Гномы очень похожи, у них много общего и в общем-то они могут славно ладить друг с другом.
Поэтому Люди и Гномы очень сильно не любят нежить и демонов - это максимально далёкие и непонятные от них существа, которые в свою очередь любят уединение, покой и ближе к магии (да я помню, про архимагов, но это и есть некий "мухлёж", который можно позволить в первом приближении). Но если бы у людей отдельно была Гильдия Архимагов, то они бы почти одинаково не любили механистов-гномов с одной стороны и некромантов/демонов  -  другой стороны Квадрата Ненависти.
Почему эльфы воюют с гномами? Это война механистов и волшебников. При этом эльфы ближе к Хаосу по своей натуре (именно так, например могут возникнуть Тёмные Эльфы)
Как практически это использовать?
Изначально делая социальные группы (культуры по Венману), мы должны закладывать как можно больше ненависти (различий) между действующими силами. Да, мы можем достать рояль из кустов и сказать - "Ну-у-у... Некроманты не поделили  с Демонами Великий Артефакт". Но это будет второй слой сеттинга и его надо очень и очень аккуратно подавать Погружающемуся в Ваш Мир.
Причём, модель, скорее даже подходит не для расовых войн с их хитрой политикой, а внутренних междуусобиц.
Вот, предположим герой путешествует по королевству Людей и помогает одним группам, при этом скорее всего вызывая неодобрение других. И наоборот.
Получается такой Квадрат Ненависти

ПорядокПриродаХаос/Покой
Наука-Механика
РыцариМечники/ ЛучникиКрестьянеРазбойники
ПаладиныМонахи
Инквизиторы
Магия-КолдовствоАрхимаги/ Чародеи
Примечание - шкала/масштаб на этой матрице не связана с предыдущей по расам - тут как бы своя "иерархия".

Рыцари не очень любят чародеев, но зато близки к паладинам. Крестьяне близки к разбойникам и монахам - найдут общий язык. У разбойников и инквизиторов нет особой любви к большим толпам, им по душе - уединение. 
Вот вроде вводная и готова - понятно, кто с кем ладит, а кто не очень. Дальше можно придумать им достоинства, недостатки, культурные традиции. Главное - не забывать о ненависти :) 
И дальше можно намазывать толстый-толстый слой Истории..
Но это уже другая история :)

Что не рассказали в социальной модели мира в курсе от Wargaming.

В заканчивающемся курсе "Universarium + Wargaming =  Геймдизайн: по ту сторону игры" в предпоследнем модуле "Социальная структура игрового мира" Калинин, увы, скатился к описанию state machine и описанию как сделать ботов поживее да понепредсказуемее . На картинке - всё, что смогли поведать лучшие танководы про социальные миры..


В спрятанном курсе Венмана (я не смог пронавигировать к нему из меню сайта у Шестова) можно найти про строительство миров  подробностей значительно больше
Сначала Венман тщательно продумывает карту, куда заселяет свои народности. Далее в одной из лекций автор щедро распределяет с использованием карточной колоды признаки между культурами-фракциями. Которые предварительно родились исходя из геоисторического соответствия. Я их даже перелопатил в удобную табличку.
Вот "небольшой" пример с 3 фракциями 

Эль Имперьо дель Соль (Империя Солнца)Ла Санта Орден дель Профета (Святой Орден Пророка)Лос Корсарьос (Каперы)
Туз – общий языквысокий стиль (испанский)высокий стиль (испанский)низкий стиль (английский)
2 – чем дорожатфамильный гербСвященный Символ и Священный Тексткаперское свидетельство
3 – традиционная одеждапышная и яркая, или военный мундир.простая мантия.практичная кожаная одежда или военный мундир
4 – каким качеством дорожатчестьблагочестиеверность
5 – досугпиры и театрмолитвы и помощь нуждающимсяазартные игры и резьба по дереву
6 – ведение хозяйстваживут в личных домах с семьей и самыми близкимичлены Ордена живут вместетесные каюты (на корабле или в доках)
7 – главное достоинство (стремятся к этому)справедливостьвераусердие
8 – второстепенное достоинство (стремятся к этому)надеждаблаготворительностьотвага
9 – главный недостаток (стараются избегать)гордыняпохотьжадность
10 – второстепенный недостаток (стараются избегать)завистьленьгордыня
Валет – религиозные верованияСвятой Орден ПророкаСвятой Орден Пророкасмесь всевозможных суеверий
Дама – принятая система властиаристократия (власть знати)теократия (церковная иерархия)в первую очередь – капитан, затем правитель нации, затем – команда по старшинству (военная система).
Король – необычная чертапослеобеденная сиеставсегда ходят с покрытой головойполиглоты, в особо эмоциональные моменты перескакивают с языка на язык.

Но есть одна проблема - всё это конструирование - это как бросание кубиков при конструировании персонажа. Вроде бы понятно, что разные персонажи должны по-разному дружить против друг друга, заключая союзы с одними и объявляя войну другим. 
Но..так ли уж это понятно?
По некоторому размышлении, пришёл к таким выводам - прежде чем детализировать соц.группы - наделять их этикетами, достоинствами и недостатками - желательно определиться - кто с кем дружит и кто кого ненавидит. Вот так вот - с конца зайти. А уже под это потом придумывать - почему они ненавидят и чего это они дружат-то.. Причем визуально параметр  может остаться в итоге один - ненависть. А дружба - это как бы её отсутствие. Причем для Истории плохо, когда все дружат. Нет конфликта - нет и Истории. 
А вот если все социальные группы ненавидят друг друга по-разному  - тут уже сценаристу есть где развернуться.
Но почему они должны изначально не любить (ненавидеть) друг друга?

вторник, 8 марта 2016 г.

Генерация уровней

Идущий параллельно настоящей реальности джем Games Jam Kanobu вызвал странный зуд в необъяснимых частях тела и работа опять закипела. В качестве предмета духовного и не только развития выступила история про маленькую принцессу #TheStorytale
Прости, Космос. Ты вечен и я обязательно к тебе вернусь :)
Затяжные женско-мужские праздники также добавили немного буста. В итоге я прикрутил динамический генератор подземелий и добавил цвета. И добавил ещё кучу всяко-разных улучшений по мелочам. И даже решился назвать эту версию 0.2. Правда она пока в полуразобранном состоянии. Наметил себе дедлайн до конца марта. Надо собрать какую-то причесанную рабочую демку :) То есть чтобы по-прежнему была некая история от начала и до конца. Никаких полумер. Страшненькая, но обязательно законченная.



Кратко поясню про генератор..

Всего 16 типов модулей (зависит от выходов из модуля - сверху-снизу-слева-справа в разных комбинациях) - модули 20*8 клеточек

У каждого модуля есть неск.вариантов

Пример двух вариантов модуля А ("выход/проход" в нём - справа)


[ZONE_A_1] 

01 = 11111111111111111111 
02 = 1..2...............1 
03 = 1..................1 
04 = 1..................1 
05 = 1................... 
06 = 1................... 
07 = 1................... 
08 = 1................... 
09 = 1..................1 
10 = 1..................1 
11 = 1.8................1 
12 = 11111111111111111111 

[ZONE_A_2] 

01 = 11111111111111111111 
02 = 1....2.............. 
03 = 1................... 
04 = 1................... 
05 = 1................... 
06 = 1................... 
07 = 1................... 
08 = 1................... 
09 = 1................... 
10 = 1................... 
11 = 1.8................. 

12 = 11111111111111111111


Заранее сделаны шаблоны локации (WordLayout) из этих типов модулей (Zones)
Например, АС - это вариант 2*1 - из 2 модулей с переходом посередине.
Сейчас есть 57 локаций разных размеров от 1*2 до 7*3 модулей.
Таким образом при генерации подземелья
• определяется стиль (один из двух - коричневый или синий)
• выбирается случайно шаблон локации (WordLayout)
• по шаблону локации случайно выбираются модули (zones)
• в месте респаунов случайно генерируются мобы (сейчас - с вероятностью 0.5)
• дополнительно рандомно генерируются маленькие мобы-кроулеры по периметру
• рандомно еще дорабатывается отображение ландшафта
• определяется стартовый фонтан (сейчас- слева внизу) и убираются лишние выходы (остаётся самый дальний- справа вверху)
P.S. GMT недавно рассказал, что в Spelunky было сделано что-то похожее