ivan-work / evolution-web Goto Github PK
View Code? Open in Web Editor NEWОнлайн-версия настольной игры "Эволюция: Происхождение Видов" http://rightgames.ru/games/evolyuciya
Home Page: https://evo2.herokuapp.com
Онлайн-версия настольной игры "Эволюция: Происхождение Видов" http://rightgames.ru/games/evolyuciya
Home Page: https://evo2.herokuapp.com
- continent: angle
- continent: carn amb mass shell
Невскрытый удильщик берет еду из базы. Его атакуют из засады. Удильщик контр-атакует и игнорирует два свойства сразу: в данном случае и большое, и раковину.
В случае если в кормовой базе есть еда, а у игрока есть ненакормленные животные или пустой жир, то на большой зеленой кнопке вместо "Закончить фазу" писать "Автоход".
Лично меня эта надпись "закончить фазу" сильно смущала при знакомстве с сайтом, т.к. в данном случае не соответствует истине.
Error: _i18nReact.default.translate(...).replace is not a function
TypeError: _i18nReact.default.translate(...).replace is not a function
at AnimalTraitDetails.render (webpack:///./client/views/game/animals/AnimalTraitDetails.jsx?:51:82)
at Qg (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:173:192)
at Og (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:172:264)
at Tg (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:180:30)
at bi (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:232:22)
at ci (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:233:284)
at Di (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:249:348)
at Yh (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:248:144)
at Xh (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:245:332)
at qf (webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js?:243:86)
Игра на двоих.
Второй игрок закрыл вкладку, но игра еще это не зафиксировала
Первый игрок атаковал второго. Это оказался удильщик. Произошла автоматическая контр-атака. Идет таймер.
После того, как игра поймет, что игрок вылетел, игра закончится.
Баг в том, что у первого игрока на экране остается окно реагирования на атаку с выбором чем защититься от удильщика.
Это окно нельзя закрыть и избавиться. В некоторых случаях игроку показывается счет поверх окна реагирования, в других - игрок никак не может посмотреть счет.
Данное окно видят даже зрители.
Сделать систему репортов (типа как с игнором).
При репорте - записать репорт на сервер. Если юзер ВК, то в базу.
При 5 репортах - скрывать сообщения юзера в общем чате от всех кроме него.
При логине - получать список зарепорченных с сервера.
Как-то продумать разбан?
Т.к. есть некоторые мнения на счет карт из подарочного набора предлагается сделать на экране создания игры поле "подарочный набор" составным. При нажатии на которое появляется выпадающий список на котором можно галочками отметить свойства из допа, которые будут учавствовать в игре: R-стратегия, теплокровное, пугливое.
Растение-хищник не контр-атакует в некоторых случаях. (ниже указаны не все возможные варианты)
Судя по всему а) любое свойство + жир б) либое свойство + интеллект в) некоторые другие комбинации защитных свойств
Также в некоторых случаях имеет значение порядок свойств, а в других случаях - не имеет.
Запоминать (на какое-то время) настройки игры, которые создавал игрок
имя, таймеры, количество игроков, количество карт, допы.
Как вариант использовать куки.
При создании новой игры данным игроком автоматически подставлять запомненные значения.
На экране создания игры предлагается сделать опцию игры по сценарию "Катаклизм". Этот сценарий включен в последние официальные правила.
Карты выдаются игрокам сразу и поровну. Игра состоит из одного хода. Количество карт и свойств ограничено.
Живорождение не срабатывает при уменьшении потребности в еде в двух случаях:
Ситуация
- continent: $A TailLoss coop$B , $B
- continent: carn amb, carn amb
или
- continent: $A TailLoss , Homeothermy, Homeothermy
- continent: carn amb, carn amb, carn amb
Если первым берет еду животное 1, а вторым животное 2 (по кооперации либо теплокровности), то у второго игрока нет возможности атаковать из засады 2-е животное. Фаза засады наступает, но карта засады недоступна к активации.
phase: feeding
food: 10
players:
- continent: carn vivi ++, cni
Если хищнику до атаки была необходимо 1 или 2 еды до накормелнности, то после атаки на стрекательные клетки игра активирует живорождение. По правилам стрекальные клетки должны выключать все свойства до их срабатывания (например, сотрудничество)
Живорождение срабатывает с опозданием
Ситуация
Оба хищника нападают из засады. После первой атаки животное отбрасывает теплокровное. Ожидается, что оно должно тут же родить, т.к. наелась. Но этого не происходит. Начитается атака второго хищника из засады.
После второй атаки животное может отбросить живорождение для выживаемости. Поэтому порядок живорождения важен. Сейчас живорождение срабатывает только после второй атаки из засады.
Игра не позволяет атаковать свое животное из засады.
У этой механики ограниченные способы применения, которые могут быть оправданы ситуацией.
Если у игрока нет на столе удильщика, отбрасывания хвоста или пугливого, то смысла атаковать своих нет. Поэтому возможность атаковать своих нельзя вводить по-умолчанию, иначе таймеры сильно растянут игру.
Для того, чтобы после открытия страницы можно было сразу печатать имя, а не наводить мышку на поле "имя пользователя".
Так сделано в яндексе и гугле. При открытии страницы можно сразу печатать без лишних движений.
phase: feeding
food: 10
players:
- continent: angle
- continent: carn tail ink pois amb, carn amb
У второго игрока должно быть два хищника в засаде. Когда в засаде только один хищник, то тоже возникает интересный эффект, но не такой фатальный
Удильщик берет еду. Второй игрок активирует засаду (не важно прожимает одну или обе засады.)
Удильщик контр-атакует. Пока удильщик думает какое свойство ему игнорировать нужно еще раз нажать на засаду (не важно ту же, что сейчас в процесе атаки или вторую, соседнюю)
Произойдет контр-контр-атака, удильщик умрет. Но на экране владельца удильщика останется окно с выбором свойств.
Никто продолжить игру не сможет. Владельцу удильщика необходимо будет открывать новую вкладку и заходить под другим именем.
subj
Сейчас фаза засады проходит так:
Животное направляется к еде, желающие атаковать активируют засаду, все активированные по очереди нападают на животное.
Это приводит к некоторым неувязкам типа #37
Следует переделать засаду так, чтобы она была рекурсивной:
На этапе создания игры предлагается сделать опцию, которая ограничивает максимально возможное количество карт на одном животном, которое может выложить владелец.
Значение по умолчанию: без ограничений
Рекомендуемое значение: 10 свойств.
Справка: 6 свойств - это один "столбец", 10 свойств - полтора столбца, 14 свойств - два столбца свойств
Это должно сделать игру более динамичной и предотвратить создание совсем уж неубиваемых животных.
От себя предлагаю при посчете максимума не учитывать паразитов, трематод и неоплазий. Скрытый удильщик само собой тоже не учитывается.
Исправь бесконечную раковину
Правила игры позволяют просмотреть свой сброс. Но в текущем варианте это не реализовано. Думаю, что достаточно сделать в табличном текстовом виде. Может быть по одной из команд в чате.
Сюда должны также попадать карты, выданные по регенерации и r-стратегии.
Пример:
1-й игрок берет еду. 2-й - атакует из-засады.
Первый - отбрасывает отбрасывание хвоста. После чего рожает сразу двоих!
Воспроизводится также и с использованием растения-хищника
Предлагается реализовать механику, которая укладывается в существующие правила.
Закрепить связку интеллект-жертва вне зависимости от перехода этих карт карт по рекомбинации.
Данная механика обсуждалась здесь https://vk.com/topic-36567706_26132044?post=6753
Пример 1
Интеллект целится в карту "большое". Первая атака отбивается чернильном облаком, после чего большое пеходит по рекомбинации на другое существо $C. В данном случае связка сохраняется и игра позволяет интеллекту атаковать существо $C
Пример 2
Интеллект целится в карту "большое". Первая атака отбивается бегом, после чего интеллект передается по рекомбинации существу $B. Игра не позволяет снова атаковать "большое" новому хищнику.
Необходимо закрепить связку "интеллект-жертва" не только для рекомбинации жерты, но и для рекомбинации интеллекта.
continent: carn intel recom$B, $B carn fat, mass run
Пример 3
реализовать возможность повторного применения интеллекта (уже нацеленного на определенное свойства) с новым хищником, перекинутым по рекомбинации
Дополнительно предлагается ввести публичное обозначение того, что свойства связаны. Например, можно их обоих заштриховать каким-либо цветом или просто подчеркнуть. Когда жертва сбрасывается, то интеллект закрасить серым, как и все отработавшие свойства. В конце хода сбросить все штриховки.
Если у использованного интеллекта нет рекомбинации и хищник больше не может атаковать, то закрашивать интеллект сразу серым не дожидаясь сбрасывания карты или окончания хода.
После атаки на удильщика у его владельца возникает окно с выбором свойства для игнорирования.
Точно такое же окно при использовании обычного интеллекта.
Надпись не информативна. Также для новичков не понятен смысл кнопки "не использовать".
Предлагаю надпись
Вы используете контратаку с "интеллектом".
Выберите защитное свойство, которое Вы проигнорируете
Добрый день,
Спасибо, отличная игра :)
Планируется в дальнейшем обновление правил с III редакции (ноябрь 2012) до v1.4.1 (июнь 2015)?
Походу нужны не очень: https://vk.com/wall-144914092_361
При контр-атаке хищного растения оно по правилам игнорирует одно любое защиное свойство по желанию игрока "справа".
В данный момент это не реализовано. Например, у животного со свойствами: отбрасывание хвоста, бег, чернильное облако. Автоматически игнорируется самое нижнее свойство без права выбора.
Иногда один из игроков не может использовать карты во время фазы развитие. Карты неактивны. Не выполняется переключение после выкладывания карты противником.
Игра на 2 игровка
У животного есть несколько незаполненных жиров. Животное накормлено. Игрок метаморфозит верхний жир.
Верхний жир отбрасывается, но нижний жир не заполняется.
Возможная игровая тактика: уменьшение количества карт при полете.
- continent: fat flight meta fat +
еда идет в верхний жир, который тут же сбрасывается.
dispatch(server$startFeeding(game.id, sourceAnimal.id, 1, tt.TraitMetamorphose));
dispatch(server$traitAnimalRemoveTrait(game, sourceAnimal, targetTrait));
Если метаморфируемый жир единственный у животного, то у игрока должна быть возможность его скинуть, но еду он не получит, если уже был накормлен.
Все растения-хищники не контр-атакуют никого (даже голое животное), если было применено отбрасывание хвоста любым животным.
и даже более того: никто из хищников-растений не атакует и в новом ходу, если в прошлом ходу (прошлая фаза питания)! было применено отбрасывание хвоста
Например:
deck: 12 carnivorous
settings:
addon_plantarium: true
phase: feeding
food: 20
plants: PlantCarn +++++, PlantCarn +++++, PlantCarn +++++, Fungus +++
players:
- continent: mass tail, mass tail, mass tail
Предлагается добавить в игровой чат дублировать следующие игровые события
Я считаю, что необходимость в дублировании ходов игроков в чат есть только у очень ограниченного списка событий, это:
subj
Hey guys, I think it's a good idea to have the game translated to english. English i18n file is outdated beyond recovery, so whoever takes this - please copy ru-ru.yml and translate.
Если контр-атака удильщика была перенаправлена с помощью мимикрии на стрекательные клетки, то у хищника-удильщика сохранится интеллект.
В следующем ходу возможно использовать вкрытого удильщика как обычного хищника с интеллектом.
Важна последовательность действий. Сначала удильщик должен быть перенаправлен, а потом получить стрекательные клетки, иначе баг не проявится.
phase: feeding
players:
- continent: carn mimi mass, cni, Anglerfish
Вариант 1
Игра не позволяет накормленному животному без жира метаморфозить неоплазию.
Ожидаемое поведение: Игра должна позволять накормленному животному метаморфозить неоплазию, если за ней находятся выключенные жир либо свойства, повышающие потребность в еде.
По аналогии с тем, что игра позволяет метаморфозить симбиоз и получать после этого еду.
4 примера ожидаемого поведения:
Ж1: живорождение хищник, неоплазия, метаморфоза (на животном 1 еда). После переваривания неполазии станет ненаевшимся и сможет атаковать хищником.
Ж2: хищник, неоплазия, метаморфоза (на животном 1 еда). После переваривания неполазии повторно наестся.
Ж3: жир, неоплазия, метаморфоза (на животном 1 еда). После переваривания неполазии накопит жир.
Ж4: живорождение, неоплазия, метаморфоза (на животном 1 еда) После переваривания неполазии живородит.
Вариант 2
Метаморфоза неоплазии некормленным животным, у которого есть незаполненный жир.
Сейчас игра заполняет жир, но ожидается, что еда должна пойти на прокорм животного у которого увеличилась потребность в еде после отбрасывания неоплазии.
Не реализован механизм выбора игроком кто из своих собственных падальщиков получит еду при смерти животного.
Сейчас падальщики получают еду строго слева-направо даже у одного игрока.
Правила игры не ставят ни в какую зависимость взаимное расположение животных на столе.
Если это будет реализовано, то для уменьшения задержек в игре лучше данный выбор делать заранее и не выделять на это отдельный таймер.
Предлагаю ввести новую механику, которая может сбалансировать игру.
На экране создания игры добавить опциональное числовое поле: максимальное количество карт в руке. Рекомендемое значение по умолчанию: 13. Минимально: 6 Максимально: без ограничений
Т.е. если в фазе раздачи карт у игрока на руках уже 13 карт, то этому игроку никакие карты не выдаются.
Если у игрока на руках 10 карт и по правилам нужно выдать еще 4 карты, то выдается только 3 карты до максимального количества.
Это предотвратит чрезмерное накопление карт и сделает игру немного динамичнее.
Предлагается реализовать Маркер 1-го игрока. Некоторым игрокам неудобно постоянно сопостовлять таблицу в верхнем углу с игровым столом.
Реализацию вижу в двух вариантах:
В данный момент некоторые активируемые свойства подсвечиваются сигнализируя о доступности к активации даже если активация невозможна в данный момент. Это
Когда симбиоз отключается стрекательными клетками, то "красный" симбионт не становится серым (хотя свойство фактически отключилось). С остальными парными свойствами это работает.
phase: feeding
food: 10
players:
- continent: angle
- continent: carn tail ink pois
- continent: carn tail ink pois
В игре больше двух человек. Владелец удильщика вышел, а вместо его имени игра написала ---
Хищник с нескольким не полными защитами атакует удильщика.
Баг 1
Игра ждет выбора свойства для игнорирования, хотя игрок достоверно вышел.
Баг 2
Никто не может продолжать игру. Таймеры останавливаются на 00:00 Всем игрокам необходимо выйти и начать заного.
Считаю, что в случае с ливером удильщик не должен игнорировать свойства атакующего, если у атакующего нет абсолютных защит (большое/камуфляж).
Сейчас карты ливера убираются из игры только тогда, когда они умирают от голода.
Но в некоторых случаях карты выживают
Считаю, что нет разумных объяснений зачем оставлять в игре выжившие карты ливера в следующем ходу.
Более того, участники игры могут бесконечно есть регенерацию ливера. Из этого два следствия: необоснованная дополнительная еда, игра расходует колоду на восстановление регенерации, хотя ей никто не управляет.
При попытке сыграть карту ошибка:
Trait(%s) failed checkTraitPlacement on Animal(%s)
Для увеличения игрового пространства предлагается переделать верхнюю зеленую полоску с надписями "комната", "об игре". Либо переосмыслить ее функционал.
Необходимо сделать ее скрывающейся либо автоматически, либо по кнопке. (например, по аналогии с тем, как сделана кнопка "скрыть" рядом с кнопкой "пауза").
Ограниченность игрового пространства начинает остро ощущаться при игроке больше 4-х людей.
По правилам она действует только один раз в ход. Но игра позволяет это делать несколько раз.
и в догонку. Интерфейс игры не отрисовывает накормленность животных при мимикрии. В результате игроку трудно понять перенаправляет он атаку на голодное или на накормленное существо.
Ход - это вся фаза питания. Впечатление, что у мимикрии нет ограничений вероятно осталось со второй редакции правил в 2012 году.
Мимикрия действовала всегда в I и II редакции до 2012 года.
В 2012 году вышла III редакция (где-то в промежутке между мартом 2012 и ноябрем 2012. Скорее всего в октябре).
Там мимикрия уже действовала 1 раз в ход.
А также в последующих редакциях: "подарочный набор" 1.3.2 2014 год" и 1.4.1 2015 года
Предлагается расширить список автоматических действий, которые игра делает за игрока, ради ускорения игрового процесса. Во время действия игры действия игрока разумеется блокируются.
В любой момент игры (как в начале фазы, так и в начале действия какого-либо игрока) если у игроков не осталось ни одного активируемого действия и при этом еды хватает на всех ненакормленных животных и их жир. Игра автоматически берет еду за всех игроков в ускоренном режиме.
Если у игрока единственное животное без активируемых свойств.
Если все животные всех игроков наелись, весь жир набран, на карте нет рекомбинации и неоплизации, ни у кого из игроков нет активируемых свойств, но на карте есть топотун. То не ждать пока топотун вытопчет всю еду, а сразу переходить к новому ходу. (звучит сложно, но ситуация слишком редкая)
На последнем ходу выкладывать с руки карту на умершую регенерацию автоматически, независимо от того сколько карт на руках у игрока (если игрока есть на руках карты).
В фазу регенерации автоматически регенерировать с руки игрока любую карту, если у него на руках только одинаковые карты.
Автоматическое срабатывание кооперации. Если на обоих связанных животных нет никаких других активируемых свойств.
Автоматическое срабатывание сотрудничества. Если на обоих связанных животных нет никаких других активируемых свойств.
Пропускать ход игрока в фазу развития, если у игрока на руках нет карт (не ожидать пока игрок нажмет кнопку "завершить фазу" на последнем ходу игры)
Автоматически брать защиту (в дополнении растения), если нет других доступных действий и одно животное.
Было бы здорово в фазе развития под строкой "Еда (0)" иметь строку "Диапазон еды от 1 до 5" (с учетом появляющихся эдификаторов).
Может быть добавить значки эдификаторов в это поле. Это бы облегчило планирование свойств.
Удильщик горит активным (красным), хотя поверх него есть свойства.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.