Я работал (время от времени) над pbbg, это довольно старая школа. Если вы когда-нибудь играли в Carnage Blender, тогда вы поняли.
Если нет, то это простая идея, которая была сделана много: игроку выделяется определенное количество «очков» каждый день, и он тратит эти очки, чтобы атаковать других игроков. Баллы начисляются со временем, вплоть до определенного предела.
Система начисления очков разработана для того, чтобы не дать переигравшим полностью опередить обычных игроков.
В случае бойни-блендера система CAPTACHA не позволяет пользователю «разыграть» систему с помощью бота или скрипта, предназначенного для использования всех своих очков каждый день с минимальными усилиями. Время от времени отображается случайная CAPTCHA, и если ее не пропустить, пользователь будет отстранен на час.
Что меня интересует, так это то, как сделать это более удобным для моей игры. Я понимаю, что должен предотвратить подобное плохое поведение, и я мог бы легко использовать тот же подход CAPTCHA, но есть ли более дружественная альтернатива?
Первоначальное исследование обнаружило ASIRRA от Microsoft, но пушистая / симпатичная атмосфера плохо работает с моей предполагаемой игровой темой.
ОБНОВЛЕНИЕ
Больше всего меня интересуют альтернативы стандартному CAPTCHA «по буквам это слово». Я хочу стараться, чтобы геймплей был как можно более непрерывным для хороших игроков.
Я видел то, что я называю CAPTCHA одноразового использования , например, спрашиваю пользователя "что такое пять плюс шесть минус два?" Но это потребовало бы слишком больших усилий для составления достаточно большой базы данных вопросов, чтобы помешать злоумышленникам. Тем более что CAPTCHA предназначен для очень частого использования.
ОБНОВЛЕНИЕ № 2
Как отметил Джо Вершниг в своем ответе, наличие системы CAPTCHA, позволяющей ограничивать ботов в игре быстрее, чем люди, немного избыточно, если ходы ограничены в день. Я не объяснил свою систему баллов буквально, и это была моя вина. В действительности каждые 10 минут накапливаются 10 или 20 баллов, а в 200 - максимум. Таким образом, очень конкурентоспособный игрок может возвращаться каждые несколько часов и использовать свои очки. Я хочу наградить тех людей, которые так любят мою игру, что они возвращаются так часто. Если я не позволю им играть до следующего дня, когда они получат свои очки, я бы отвергал игроков, которые иначе наслаждались бы моей веб-игрой. Это мешает игроку постоянно тратить очки, в то же время давая им несколько очков каждые несколько минут.
Это открыто для злоупотреблений.
источник
Ответы:
"Есть ли более удобная альтернатива?"
Более удобная альтернатива для чего? Какая капча предназначена для достижения в вашей системе?
Похоже, что он предназначен для предотвращения ботов, при условии, что боты могут играть «быстрее», чем обычные игроки. Но вы также уже ограничили количество действий, которые пользователь может выполнять в день, что позволяет достичь той же цели. Таким образом, капча кажется излишней.
Я бы посоветовал вам взглянуть на альтернативные интерфейсы Kingdom of Loathing . Он использует аналогичную систему поворотов в день и имеет несколько популярных альтернативных интерфейсов, таких как KoLmafia , которые во многих отношениях неотличимы от «бота» игры. Большинство игроков чувствуют, что они добавляют, а не убирают из игры, даже для случайных игроков. Они упрощают пакетные действия, автоматизируют некоторые более медленные части и предлагают больше возможностей для пользовательского интерфейса в игре.
Если у вас уже есть проверки в вашей игре, чтобы гарантировать, что ИИ не могут просто играть быстрее, чем люди - и, имея ходы в день, у вас есть такая проверка - тогда я предлагаю вам попробовать поощрять автоматизацию вашей игры, как будто ваш дизайн сбалансированный, он может только улучшить опыт игрока.
источник
Я бы никогда не стал играть в игру, в которой требуются капчи: это действительно ужасная практика, которую следует избегать.
В любом случае, ваша игра имеет более серьезные проблемы, чем в любом случае: в идеале игра не должна давать никаких преимуществ глупому боту, так что использовать глупого бота было бы бессмысленно. Если вы не можете этого достичь, это проблема проектирования, которая не будет иметь реального решения, только более или менее приемлемые обходные пути.
Под «глупым ботом» я подразумеваю ботов, которые не принимают никакого значимого решения, а вместо этого просто «фармят» (вот что здесь происходит). Умные боты (например, прицельные или играющие в шахматы) - это совсем другое дело.
Тем не менее, если вы согласны с идеей создания игры с недостатками дизайна, еще есть возможности для улучшений.
Примите тот факт, что вы не можете остановить действительно решительного бота, и вместо этого сосредоточьтесь на единственном, что вы можете сделать: лишить бота возможности использовать его. Если у людей нет причин использовать бота ... они не будут их использовать (и если они все равно это сделают, это не будет иметь значения).
Возможное решение - разрешить один вход в неделю вместо одного в день. Если люди забудут войти в систему более чем на неделю, вряд ли им все равно будет интересно играть, поэтому они не будут использовать ботов для получения кредитов. Если, с другой стороны, есть кто-то настолько взбешенный, который делает бота, который регистрируется один раз в неделю, а затем возвращается через три месяца, чтобы атаковать случайных людей, ну, вы только что нашли кого-то настолько решительного, что все равно вас бы взломали, что угодно выбранная вами система (если, конечно, вы не выбрали безошибочную систему).
PS: не делайте ошибку, прикладывая больше усилий к обходным недостаткам дизайна, чем к их фактическому решению!
источник
Я бы не запретил неудачную CAPTACHA на час, что кажется грубым, я просто запретил бы им продвигаться вперед, пока они успешно не завершат CAPTACHA и не разрешат показ нового изображения CAPTACHA.
Я бы также отображал капчу, только если они делают запросы слишком быстро, я бы сохранял значение DateTime для каждого запроса, а затем сравнивал бы его со следующим запросом, если он меньше 2-4 секунд, вы отображаете CAPTACHA, в противном случае они идут. Вам нужно будет определить разумный интервал для вашей игры, сервера и пропускной способности.
Вы также можете выполнять «принудительную» CAPTACHA каждый раз, когда выполняется какое-либо действие, это предотвратит даже автоматический скрипт со
pause
встроенным, поэтому он не будет запускать ограничение CAPTACHA по времени.источник
Если игроки тратят очки, чтобы атаковать других игроков, а очки ограничены, мне кажется, что очевидным злоупотреблением является создание нескольких учетных записей.
Если вам удастся ограничить количество пользователей одной учетной записью, проблема с ботами для меня будет заключаться в том, что в вашей системе люди могут отключать их, когда они спят или на работе.
Итак, учитывая ограничения: (1) нет никаких преимуществ для ботов (2) вознаграждение людей за вход в систему несколько раз в день
Мне кажется, что в идеале нужно ограничить количество действий, которые они могут использовать в течение дня, до некоторого разумного числа.
Например, вы можете решить, что кто-то может разумно войти в систему несколько раз в течение 8-часового периода и соответствующим образом настроить систему. Или кто-то может проверить это до того, как они пойдут утром в школу / на работу, проверить это, когда они вернутся домой, проверить это снова после обеда и проверить это перед сном.
Определите, что делает ваш «идеальный» пользователь, и сделайте за это систему баллов.
Я бы построил систему, которая вознаграждала бы тратить кучу очков за один раз. Для этого у меня будет переменная ставка пополнения счета. Каждый раз, когда вы тратите очки, время перезарядки, чтобы получить следующее очко, увеличивается ... поэтому, если бот тратит очки так же быстро, как они их набирают, получение следующего будет дольше и дольше, тогда как если человек тратит все Баллы, которые они накопили за ночь до того, как покинуть дом утром, вернут их всех к тому времени, когда они вернутся домой с работы / из школы (через 8-12 часов).
источник
В игре я бы рекомендовал заменить «капчу» на «мини-игру-головоломку». Разница заключается в уровне веселья. В игре действительно мало причин для ввода капчи, если только вы не попробовали собственную мини-игру, и это все еще не получилось. В этом случае сделать это требует более разумной тактики.
источник
По предложению Чальвака, я бы пошел по пути «мини-игры-головоломки», однако я бы получил несколько очков за его прохождение, чтобы сделать его более удобным для пользователя.
источник