Перейти к содержимому

eu_tomat

Модераторы
  • Публикации

    2 666
  • Зарегистрирован

  • Посещение

  • Победитель дней

    331

Сообщения, опубликованные пользователем eu_tomat


  1. Все эти атаки, прослушки, переполнения и прочее легко решаются.

    ...

    Жаловаться на то, что Zn не обеспечила вам 100% уровень безопасности и комфорта так же глупо...

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

     

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

     

    Ещё неплохо бы рассмотреть вариант, когда мы не знаем, захвачен ли узел врагом, или просто ушёл в TLWY. Во втором случае надо как-то растолкать товарища и помочь ему перенастроиться с поправкой на то, что теоретически узел может быть и скомирометирован.


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

    Да кто же в здравом уме будет её использовать? Но обрати внимание на эволюцию: когда-то ретрансляция выполнялась встроенными средствами мода. Потом программными. Затем система Zn решила некоторые из проблем обмена. Через несколько месяцев, может, еще какая идея появится. Тема-то как раз для ищущих развлечений программистов.

     

    Зря ты эту тему апнул=) опять залагают сервак этими бродкаст лагульками. Ты скорее не Zn подавишь, а проц нашего серва.

    Ну, а что ты предлагаешь? Где-то же надо было рассказать про заторможенность вызова computer.pullSignal. Про ограничения очереди сигналов где-то, кажется, уже говорили. Радиообмен сообщениями – яркий пример, где заторможенность получения сигналов из очереди может привести к потере контроля над системой. Систему Zn в этом повествовании просто необходимо было бы упомянуть. Также стоило напомнить и о вреде широковещательной передачи. Про вред для сервера говорилось много, но о вреде для собственных систем почему-то забывают. Лишь один раз, помнится, произошла увлекательная история с проникновением в дом через лаз для робота, открывавшийся по WiFi.

     

    Песня партизан, сосны да туман...


  3. Это работает везде, где есть опенкомповские события. Даже пиная монитор можно загадить пул и будут пропускаться ивенты, тут ничего не поделать, это вина мода и игры, а не программ.

    Нет ни чьей вины. Особенности работы мода – данность, которую следует учитывать при создании систем. Или при их взломе.

     

    Работает это везде, а к сбоям приводит не всегда. Если меня не подводит мой калькулятор, то для переполнения очереди сигналов на мониторе должны плясать не менее 15 человек. Интересно было бы взглянуть на программу, где это оказалось бы критичным.

     

    Или возьмём, например, обработку сигналов от красного камня. Чтобы добиться пропуска сигналов, к компьютеру должны подползти не мене 4 вражеских роботов, а для полной гарантии – 5. Этим роботам еще потребуется равномерно распределиться со всех сторон компьютера или найти соответствующие адаптеры. Хотел бы я посмотреть, как эти партизаны гуськом вползают в дырявый домик и рыщут в поисках чувствительных мест компьютера.

     

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

     

    Решение проблемы:

    * По возможности избегать использования широковещательных пакетов;

    * Если же систему иным образом не построить, следует отсылать пакеты как можно реже;

    * Мощность передатчиков должна быть снижена до минимума, при котором система сохраняет работоспособность;

    * Система должна быть готова к переходу на другие частоты и полной отстройке от зашумленных частот.

     

    Помни: враг подслушивает! Широковещательные пакеты доступны всем приемникам, настроенных на данную частоту и находящихся в зоне действия передатчика. Обнаружив активную частоту, враг может заспамить эфир, что приведёт в лучшем случае к оглушению приёмников, а в худшем – к перехвату управления твоими системами.

     

    SLO6JGR.jpg


  4. Идея подавления Zn:

     

    Предположим, поблизости есть 5 узлов вражеской сети. Каждый тик (чаще не получится) со своего передатчика посылаем широковещательный пакет в эту сеть. Все 5 узлов дружно ретранслируют пакет на другие узлы. Теперь каждый из них вынужден обработать событие от 4 других узлов и от нашего передатчика – 5 событий каждый тик.

     

    Даже простая проверка пустой очереди сигналов computer.pullSignal() занимает ¼ тика. Плюс тратится немного времени на обработку. Результатом атаки будет переполнение очереди событий и пропуск их части.

     

    P.S.: И еще будет лаг в 3 секунды на каждом узле.


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

     

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

     

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

     

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

     

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

     

    Я пришёл к выводу, что на computercraft.ru из библиотек для роботов наиболее полезны те, что содержат минимум кода без избыточных структур данных и интерфейсов, и демонстрируют какой-то интересный подход в решении привычных для роботов задач. Надежда на то, что кто-то использует библиотеку в своей программе, не велика. Зато при описанном выше подходе многие из читателей смогут разобраться в коде и оценить красоту алгоритма, что повысит шансы на обсуждение и генерацию новых идей. Предлагаю рассмотреть именно это направление. Но это IMHO, конечно.

     

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

     

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

    • Нравится 4

  6. Хаюшки всем кто читает this тему.

    Хеллоу all, читающий этот comment. В русском языке too few слов для раскрытия этой темы, поэтому приходится заимствовать английские words.

     

    Возникли some вопросы:

     

    	if compt.inventory_controller == nil then
    		error("inventory_controller not found")
    	end
    А разве component позволяет такой способ проверки? Насколько я помню, ошибка случится ещё на первой строке этого фрагмента. Для этого даже component.isAvailable придумали.

     

     

    Можешь пояснить, что обрабатывается в перехваченных proxy.dropIntoSlot и proxy.suckFromSlot?

    			proxy.dropIntoSlot = function(facing, slot, count)
    				if count == nil and self.isPotential(slot) then
    					self.removePotentialSlot(slot)
    					item.setSlot(slot, nil)
    				else
    					local item = self.getSlot(slot)
    					if item.size == count then
    						self.setSlot(slot, nil)
    					else
    						item.size = item.size - count
    					end
    				end
    				return nativeDropIntoSlot(facing, slot, count)
    			end
    Какой инвентарь анализируется в этом участке кода? Вряд ли инвентарь робота, т.к. номер слота в данном случае не имеет к нему отношения. И вряд ли какой-либо внешний инвентарь, т.к. не учитывается сторона, с которой находится инвентарь.

     

    А ещё интересно узнать, почему ты отказался от проверки count==nil и результатов, возвращаемых оригинальными proxy.dropIntoSlot и proxy.suckFromSlot. Разве такой отказ не может привести к рассинхронизации кэша?

    • Нравится 3

  7. Очень странное это занятие -- искать смысл в игре майнкрафт. Лучше уж признаться себе, что смысл только воображаемый

    Так и тема не о перекладывании кубиков, а о программировании. Так что, смысл вполне объективный.

     

    А так это уже стало особой разновидностью местного спорта – рассказывать друг другу, насколько бессмысленна игра в Майнкрафт, как он уже всем надоел, и что программировать в Майнкрафте уже нечего, и всё уже написано.

    • Нравится 5

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

    Проще киркой робота снести и положить в сундук. Вот и вся "программка остановки робота" - простая и изящная.

    Смысл может быть в получении опыта, например.

  9. Это не комильфо)), интересно программно остановить.

    Так обработка Ctrl+Alt+C и реализована программно, но средствами операционной системы.

    Может быть, os.exit() комильфо?


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

     

    Если, например, забыть об OpenComputers и о сервере, то можно было бы на виртуальном экране скриптом запустить клиента и, эмулируя нажатия клавиш и движения мыши, залогиниться под админом, включить инвиз, флай, телепортироваться в назначенные координаты, направить камеру в нужную точку и сделать скриншот. Это звучит уже более правдоподобно. Ну, а передача скриншотов решается традиционными средствами.

    • Нравится 1

  11. О чём здесь вообще идёт речь? :wacko:

    запущен сервер(не клиент-сервер,тоесть консольный сервер)

    Что за сервер не клиент-сервер? Что вообще этот сервер делает?

    нужно снимать скриншоты

    Скриншоты чего? Каких экранов?

    местоположения опциональные

    Местоположения чего?

    качество картинки не имеет значения,главное чтоб ИГРОВОЕ,а не тепловизора либо вершин

    Что еще за игровое качество? О каком тепловизоре идёт речь?
    • Нравится 1

  12. Короутины сами по себе - довольно сложная для понимания тема (по сравнению с фанкшионами, к примеру). А тут так мало букв использовано для описания библиотеки. Попытался вкурить, что значит "проскочить" несколько подпрограмм и зачем это нужно. Не получилось. Видать, старею :(

    Аналогично. Не смог понять, зачем это нужно. Код из разряда "а вам слабо?". Возникает смешанное чувство восхищения и недоумения.

     

    Автору лайк за любопытную демонстрацию. Надеюсь на расширение описания смысла библиотеки и добавление примеров, приближенных к практике.

    • Нравится 2

  13. А что если в некоторых случаях не банить плохишей материльщиков гриферов и лагодроммеров и т.д.?

    ...

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

    Это и веселее, и азарта добавит, и игру разнообразит, а цель всегда будет прибывать в стрессовом состоянии и на адреналине.

    Точно. Разнообразнее, азартнее, веселее. И охотники за головами будут чем-то полезным заняты.

     

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

    • Нравится 2

  14. да ну ты как вчера говорил дюп вредит економике оч сильно, а +100500 чанклодеров у невбидена не навредят?

    Да голосование и полючение плюшек норм дело, против него ниче не имею, но голосование должно БЫТЬ КОГДА СЕРВ ОТКРЫЛИ А НЕ ЗА ГОД ДО ОТКРИТИЕ СЕРВЕРА, и + не должно быть голосование с 100 акаунтов и ещо мне не ответили как невбиден смог голосовать с пару вк на 1 ник там ж не даст топ так голосовать ( итог у него есть твины!) .

    1. Зачем приводить полную цитату при том, что сообщение к этой цитате никак не относится?

    2. Ни у кого нет 100500 чанклодеров, чтобы за них переживать.

    3. Сервера открываются и закрываются, а голосование остаётся. Голосование – неявная форма доната, и участник, приносящий пользу серверу, достоин вознаграждения.

    4. Все голоса @newbie получены на его единственный аккаунт форума. Дополнительные аккаунты в VK находятся вне юрисдикции computercraft.ru.

    • Нравится 3

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

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

     

    Возможно даже появится на сервере банда Квертика, которая будет планомерно и целенаправленно отлавливать новичков по одному и методично их уничтожать в зародыше и нулить значение жизней. Я не знаю... может так и будет. Но ставить кастомНоуПвп не планировал. Это часть геймплея.

    ...

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

    Про несколько варпов я позабыл. И если овер будет огромным, то несколько варпов обеспечат серьезные шансы на уклонение от бандитов. А если еще и жизни будут продаваться за UU недорого, тогда преследователь скорее сам утомится погоней, нежели ощутимо осложнит жизнь своей жертве. В общем, годная идея: роботы становятся более востребованными, UU без особого напряжения тратятся – всё это на пользу серверу. Ограничение количества жизней поддерживаю.
    • Нравится 2

  16. Алекс мне почемуто кажется что ты экономику на сервере целенаправленно подгоняешь под свою аксиому -- "экономика в майне не возможна". Хотя справедливости ради стоит заметить что прогресс в лучшую сторону всеже заметен

    Стоп! В этой теме обсуждается один из способов обмена товарами, а не условия для возникновения глобальной экономики на сервере.

    Вопрос возможности экономики обсуждается в теме Экономика в Minecraft: миф или реальность?

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

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


  17. На Эвил планируется ввести драматическую хардкорную ограничалку жизней, чтобы пукан дрожал от страха и звука крипера и был смысл выживать в адском овере, добывая там рес. При том при всем, что на Эвиле, хоть и рецепты в 98% дефолтные, но немного пока усилен режим PVE в угрожающую сторону. Со старта 100 жизней.

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

    Но в любом случае в овере нужно как-то очень аккуратно развертывать свою добывающую базу и шахты. В улье то опасности нет особой. Там приваты свои, или админский. Там нет агр. мобов и прочее. Инстов с игнором ноуПвП вроде как тоже нет у нас.

    А будет ли у игроков на Эвиле возможность отключить PvP в других мирах кроме улья? Новичок со временем может приспособиться даже к самым суровым формам PvE, пусть, и потеряв половину из доступных жизней. А вот, против развитых игроков, которые целенаправленно охотятся за другими игроками, новичку противопоставить обычно нечего. Отключение PvP сильно облегчило бы жизнь слабому игроку. Понятно, что есть множество других способов убийства, но они требуют более творческого подхода, чем вырубание жертвы с нескольких ударов, и вносят разнообразие в игру.

  18. Хотим как лучше, но получим как всегда, чем отличается деньга, основанная на алмазе от самого алмаза? Можно просто добавить рецепт дробления алмаза до атомов и будет то же самое, все предметы будут иметь цены, так же основанные на алмазах. И никаких обменников не надо. Мы ведь это уже проходили, наклепали валют много и разных, но сервер загнулся в том же темпе, что и всегда. Если майн не имеет с жизнью ничего общего, то в него никто не должен играть. Если общеизвестные законы логики в майне не работают, то как тогда жить? NEO в своем моде здраво делал обналичку чеками - никаких стаков и крафтов, есть виртуальный счет и есть возможность получить энную сумму в виде предмета.

    Чеки в торговом моде NEO – прекрасная штука, но деньги, которые можно перекрафтить в требуемый номинал – удобнее, как по мне.

     

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

     

    Далее. Сервера загибались не по причинам затрудненного обмена ресурсами между пользователями. Проблему обмена не решит ни введение валют, ни добавление торгового мода, т.к. сам Майн не способствует специализации игроков. И, как ты сам говорил, игроки не любят покупать товар, но зато любят его продавать и копить циферки на своих счетах. А если вспомнить, что при ограниченной эмиссии деньги дорожают просто по мере развития сервера, и их выгоднее хранить в сундуке, чем пускать в оборот, то склонные к накоплению игроки и подавно ничего не купят за эти деньги.

     

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

     

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


  19. Разве это плохо? Вполне справедливый сценарий, хоть для игрового, хоть для реального мира. Цены будут задавать игроки, это их право. От объективной экономики не убежать, если люди могут взаимодействовать напрямую.

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

     

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

     

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

     

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

     

    Алмы, конечно, довольно ходовой товар, но с индустриальными модами, железо более востребовано.

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

  20. Привязать ли курс например к какому-то ресу, например алмазам. И поставить непися в Улье, который один алм покупает за 20К кредитов. Так мы постепенно насытим сервер наличкой.

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

     

    Может за онлайн накидывать игрокам денег периодически

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

     

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

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

     

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

    Дефляция не лучше инфляции. По мере увеличения количества добытых ресурсов деньги будут дорожать, а товары на рынке станут мусором. Основанная на таких деньгах экономика остановится. Зато относительная цена, например, алмазов и золота более стабильна на протяжении игры, поэтому цена товаров, выраженная в деньгах, привязанных к конкретному ресурсу, ведёт себя более предсказуемо.
    • Нравится 1
×
×
  • Создать...