Летом 2018 года я уже писал о том, как мы создавали настольную электротехническую игру "Не закороти Цепь!", которая тогда готовилась к изданию. В настоящий момент работа над игрой завершена, она успешно собирает средства на издание на площадке CrowdRepublic, но мы решили рассказать об её "движке", его создании и с проблемами, с которыми мы столкнулись при этом.
Казалось бы, что сложного. Батарейка, провода, светодиоды и лампочки — собирай цепочку, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без нагрузки. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, цепь "считается" от плюса к минусу. Но...
Игра детская (8+ рекомендация) и необходимо, чтобы дети (и взрослые) не сломали
Было решено, что все замыкаемые цепочки "разворачиваются" в последовательные. Это позволило как повысить скорость игры, так и снять горячие споры, кто и зачем победил.
Также вопрос встал о номиналах элементов. Какие резисторы? Каково напряжение у диодов и ламп? Какое напряжение в цепи? И тут опять вступают в силу допущения — в игровой "сети" напряжение 3В, лампочки также 3 вольтовые, диоды на 2 вольта, резисторы на "шарообразные в вакууме" 1Ком. Характеристиками диода пренебрегаем — считаем что он пропускает или не пропускает ток. Осталось только выработать понятные и логичные правила начисления очков. Вот тут захотелось больше реальности и для этого мы стали все проверять на макетных платах.
С лампочками и светодиодом все просто — лампочка в цепи при номинальном напряжении — 2 очка, светодиод без резистора сгорает, с резистором дает тоже 2 очка.
Две одинаковые лампочки, включенные последовательно будут гореть в пол силы — даем им два очка. А лампочка + светодиод? Два светодиода последовательно? А если добавить еще резистор? Считаем один из элементов цепи резистивным для другого. Тогда лампочка + резистор дает 1 очко (падение напряжения на лампочке принимаем в два раза), светодиод + лампочка дает 1 + 2 очка, два светодиода дает… А вот тут не 2+2. В реальной цепи второй светодиод будет "светить" слабее, поэтому принимаем, что два последовательных светодиода не сгорают и игрок получает 1+2 очка. И все это подтверждается макеткой.
Третий элемент в цепи рассчитываем аналогично. Резистор плюс два светодиода дают примерно одинаковое свечение на обоих — 2 очка игроку. Два резистора + светодиод также дают "тусклое" свечение — 1 очко игроку.
Проблемы начались с подключением одновременно нескольких лампочек и светодиода или появлении цепочки резистор — лампочка — светодиод. Они не работали, как требовала логика "картонного" движка
Как видно светодиод ярко сияет (а ожидалась ситуация как в случае с двумя резисторами и светодиодом), а с резистором лампочка не горит, в отличие от светодиода, которые светит "на 2 очка". Логика же движка требовала получения тускло светящихся лампочек и светодиода в обеих ситуациях и соответственно по 1 очку за каждый зажженный элемент. Со скрипом принимаем это допущение.
Чтобы не уводить игроков в дебри вычислений цепочки больше 3 элементов (диоды как мы помните у нас играют только роль "ворот" и мы их в цепочках игнорируем как резистивные элементы) мы посчитали неспособными зажечь наши светящиеся элементы и победные очки за них не начисляем.
В итоге таблица "светимости" получилась такой:
Не во всех аспектах реально, но с достаточно четкой логикой, позволяющей не сидеть с открытыми правилами постоянно.
Позже мы добавили в игру транзисторы (играет роль ключа и не влияет резистивно) и фотодиод (играет роль реверсивного диода, который пропускает ток только при свечении на него лампочкой рядом на схеме) и герконы (ключ, который активируется магнитом лежащим рядом на поле), но эти элементы как и диоды не влияют на начисление очков.
Как разработчики мы иногда порываемся написать "усложненные" правила для игры с более реалистичным поведением картонных цепей, но задаемся вопросом — а надо ли?
Автор: Александр Казанцев
Нифига не понял. Что за движок? Причём здесь картон? Что за игра?