Летом 2018 года я уже писал о том, как мы создавали настольную электротехническую игру "Не закороти Цепь!", которая тогда готовилась к изданию. В настоящий момент работа над игрой завершена, она успешно собирает средства на издание на площадке CrowdRepublic, но мы решили рассказать об её "движке", его создании и с проблемами, с которыми мы столкнулись при этом.


Казалось бы, что сложного. Батарейка, провода, светодиоды и лампочки — собирай цепочку, смотри, что зажглось, получай очки и штрафы, если замкнул плюс на минус без нагрузки. Резистор уменьшает число очков, диод пропускает или не пропускает ток в определенном направлении, цепь "считается" от плюса к минусу. Но...


Игра детская (8+ рекомендация) и необходимо, чтобы дети (и взрослые) не сломали мозг на определении работоспособности цепи. И пришлось пойти на упрощение правил. Главное, чем пришлось пожертвовать и где "движок" расходится с реальной цепью — это параллельные и последовательные соединения. Обычно игроки создают цепочки, где все элементы расположены последовательно, но увы на тестах они умудрялись подключать лампочки параллельно. Тогда элементы получают одинаковое напряжение и раз у нас число очков дается за "силу свечения", то очки начислять надо было не так, как при последовательном соединении. Казалось бы ничего сложного, но как только в цепи появляются еще резисторы и светодиоды, мозг начинает "кипеть".



Было решено, что все замыкаемые цепочки "разворачиваются" в последовательные. Это позволило как повысить скорость игры, так и снять горячие споры, кто и зачем победил.


Также вопрос встал о номиналах элементов. Какие резисторы? Каково напряжение у диодов и ламп? Какое напряжение в цепи? И тут опять вступают в силу допущения — в игровой "сети" напряжение 3В, лампочки также 3 вольтовые, диоды на 2 вольта, резисторы на "шарообразные в вакууме" 1Ком. Характеристиками диода пренебрегаем — считаем что он пропускает или не пропускает ток. Осталось только выработать понятные и логичные правила начисления очков. Вот тут захотелось больше реальности и для этого мы стали все проверять на макетных платах.


С лампочками и светодиодом все просто — лампочка в цепи при номинальном напряжении — 2 очка, светодиод без резистора сгорает, с резистором дает тоже 2 очка.



Две одинаковые лампочки, включенные последовательно будут гореть в пол силы — даем им два очка. А лампочка + светодиод? Два светодиода последовательно? А если добавить еще резистор? Считаем один из элементов цепи резистивным для другого. Тогда лампочка + резистор дает 1 очко (падение напряжения на лампочке принимаем в два раза), светодиод + лампочка дает 1 + 2 очка, два светодиода дает… А вот тут не 2+2. В реальной цепи второй светодиод будет "светить" слабее, поэтому принимаем, что два последовательных светодиода не сгорают и игрок получает 1+2 очка. И все это подтверждается макеткой.



Третий элемент в цепи рассчитываем аналогично. Резистор плюс два светодиода дают примерно одинаковое свечение на обоих — 2 очка игроку. Два резистора + светодиод также дают "тусклое" свечение — 1 очко игроку.



Проблемы начались с подключением одновременно нескольких лампочек и светодиода или появлении цепочки резистор — лампочка — светодиод. Они не работали, как требовала логика "картонного" движка



Как видно светодиод ярко сияет (а ожидалась ситуация как в случае с двумя резисторами и светодиодом), а с резистором лампочка не горит, в отличие от светодиода, которые светит "на 2 очка". Логика же движка требовала получения тускло светящихся лампочек и светодиода в обеих ситуациях и соответственно по 1 очку за каждый зажженный элемент. Со скрипом принимаем это допущение.


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


В итоге таблица "светимости" получилась такой:



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


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


Как разработчики мы иногда порываемся написать "усложненные" правила для игры с более реалистичным поведением картонных цепей, но задаемся вопросом — а надо ли?

Комментарии (6)


  1. akdengi Автор
    05.03.2019 09:00

    Крауд-кампания у меня уже успешная, но на всякий случай ссылка на нее: https://crowdrepublic.ru/project/1018337/Ne-zakoroti-Cep


    1. akdengi Автор
      05.03.2019 12:16

      Ваша поддержка добавит в игру новые элементы и детали :)


  1. Costic
    05.03.2019 15:58

    Мне нравится идея. Чем-то домино напомнило. Раньше кричали: «Рыба!». А теперь будут кричать: «Казэ!».
    Я бы подумал о создании электро-схемы-пазла с соединениями как в пазлах, но с учётом полярности, например, папа "+", мама — это "-". Питание электропазла 9В «Крона» — это, напрмиер, в центре модуль с контролем тока.


    1. akdengi Автор
      05.03.2019 16:00

      habr.com/ru/post/394435

      Есть идея все таки прийти к конструктору (хотя бы на уровне opensource 3D-печатью или резкой). После выпуска игры попробуем сделать под ее «карточки» реальные элементы.


  1. Firelander
    06.03.2019 01:42

    «В реальной цепи второй светодиод будет „светить“ слабее»
    Вот это, пожалуй, самое странное в вашей реализации то, что вы начисляете разное количество очков за последовательно соединенные светодиоды. Если вы поменяете местами светодиоды, это не изменит их яркость. Идеальные светодиоды должны вести себя точно так же как лампочки при последовательном соединении.


    1. akdengi Автор
      06.03.2019 09:06

      Логика простая: светодиод = резистор в игре. То есть два светодиода это резистор + диод, давать 2+2 нельзя, 1+1 тоже (это для тройных цепочек). Остается 2+1 очко. Где какое разместить — игровой момент, так как могу цепь тебе «отключить» соперники так, что с поля пропадет именно с большим свечением очки.