Девблог Eco 9.0: Законы, часть первая

Уфф, ну вот мы и подошли, наконец-то, к самой «мякотке». К самой-пресамой крутой, важной, интересной и обходимой многими стороной механике Eco — ЗАКОНАМ! Никаких куцых девблогов — только хардкор, только два с лишним десятка изображений и объёмные тексты. Именно такой материал представил на наше рассмотрение Джон К, а я, как обычно — не мог не перевести его, чтобы как можно скорее все могли почитать об этой крутоте. Поехали!

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

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

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

Учитывая сказанное выше, нет ничего странного в том, что законы — одна из наиболее крупных частей обновления Eco 9.0. Фактически, система была полностью переписана и теперь представляет собой фундамент для всех взаимодействий внутри игры. Более того — основа механики была изменена таким образом, чтобы в дальнейшем можно было добавлять новое гораздо быстрее и затрачивая меньше усилий. Мы нацелены на «долгое плавание» с этим обновлением, постепенно вводя все запланированные крутые штуки с правительством и городами/государствами.

Если вы играли в Eco 8.0 или более ранние версии, то помните, что раньше законы создавались в веб-интерфейсе Eco-сервера. Мы это изменили и теперь законы создаются прямо внутри игры, с помощью взаимодействия с объектом Суд:

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

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

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

Давайте детальнее рассмотрим то, как работают законы. Тут у нас простецкий закон, запрещающий писать в чат:

Для каждого закона вы определяете условия применения и эффекты. В нашем случае триггером является действие «Отправка сообщения в чат». Эффект очень простой — запрет. Если этот закон действует и игрок пытается что-то написать в чат, вот, что получится:

Это, конечно, не самый подходящий для реального использования закон, а просто пример. У вас есть интерфейс программирования, в котором вы создаёте код, определяющий поведение граждан в игре. Скажем, мы захотели поменять эффект закона с полного запрета на налог. Жмём на «Запретить» и получаем выпадающее меню, в котором можем выбрать интересующий нас вариант:

Выбрав «Налог», мы можем установить для него несколько параметров, у которых, впрочем, есть неплохие значения по умолчанию:

Обратите внимание на шестерёнку в левом-верхнем углу, по клику на которой можно открыть дополнительные параметры:

По умолчанию, целью закона является игрок, действие которого вызвало срабатывание закона — в нашем случае это тот, кто попытался отправить сообщение в чат. Заметьте, что рядом с надписью «Гражданин» находится соответствующая пиктограмма. Можно изменить этот параметр, если хотите — но поскольку обычно налог снимается с субъекта, выполняющего действие, эта опция по умолчанию скрыта. Таким образом мы стремимся максимально упростить процесс создания законов, оставив в то же время возможность тонкой настройки для искушённых законотворцев.

Если кликнуть на «Гражданина», можно выбрать вместо него другую цель для взимания налога:

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

Далее, мы можем установить размер налога. Здесь всё также сделано с расчётом на простоту и гибкость. По умолчанию, вы можете просто ввести число, например — 1:

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

Вы можете установить вычисляемый размер налога. Скажем, мы хотим взимать процент от общего размера сбережений. Тогда выбираем «Процент», далее — процент от чего, «Сбережения»:

Теперь при отправке сообщения в чат, с игрока будет сниматься 10% от его накоплений. Никакой свободой слова и не пахнет (сорян).

По мере создания закона вы можете видеть его интерпретацию в текстовом виде:

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

Закрома Родины пополняются! Учитывая, насколько болтлив наш народ — мы мигом построим новое шестиполосное шоссе.

Но погодите — этот закон может вызвать и негативные эффекты. Возможно, нам стоит сделать какие-то исключения. Именно для таких случаев используются «Условия». Давайте вернёмся к нашему закону и добавим выражение «если»:

Открываем выпадающее меню и видим здоровый список способов определения условия:

Давайте прибавим чуточку элитизма и создадим исключение, основанное на уровне профессии — так и быть, высококвалифицированные граждане пусть общаются бесплатно. Кликаем на «Требования к навыку»:

Выбираем, какие профессии мы хотим освободить от налога:

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

Теперь при попытке чего-нибудь написать, я получу более детальное обоснование:

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

Видите, какой подход мы применяем к законам и другим элементам права: сделать их гибкими и мощными, в то же время оставив простыми в использовании, и большим количеством документации и подсказок, находящихся буквально на расстоянии вытянутой руки, чтобы вы могли понять, что происходит. Для игры в Eco не понадобится собственный юрист, наша цель — вовлечь как можно больше игроков в создание государственной и экономической системы, не оставляя это уделом какой-то там «элиты».

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

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

Это одна из причин, почему в Eco 9.0 мы сконцентрировались на механике права — она невероятно полезна для всех планируемых нами нововведений, являясь прочной основой. Мы получили гибкую систему, позволяющую нам вводить причины, следствия, условия и все другие логические элементы, применяемые в различных частях игры. Разумеется, мы будем делиться с вами новыми идеями и многие из них вы увидите в таких объектах, как демографические группы, дотации, выборы и т. д.

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

— Джон К, CEO, Strange Loop Games