人々がボットしたい場合、私はあなたが本当にそれらを停止できるとは思わない。
もちろん、ボッティングを多少苦痛にする多くの手段を実装できます。しかし、コードベースが巨大な混乱に変わり、それが維持され、エラーが発生しやすく、正当なユーザーを悩ませる前に、あなたはそれだけを行うことができます。その間、ボッターは常にあなたの対策を打ち負かす方法を見つけます:
- あなたより彼らの多くがあります
- より自由な時間を手に入れることができます(実際の開発とボットプルーフとの間で時間を分ける必要があり、1日中ボットコードをハッキングできます)
- ボットの保護を破るのは楽しいので、風変わりで挑戦的なセーフガードを作成すると、ボットの作成者はさらに奨励されます
- ボットから商業的に利益を得ている人々の闇市場がある場合、ボットを書くのが難しくなるほど、より価値のあるボットが機能するので、ボットをインセンティブにします
あなたは基本的にボッターとの軍拡競争に巻き込まれ、上記のポイントの線に沿った論理と、そのようなゲームの私の経験に基づいて、あなたは追いつくことができません。
一部のゲーム開発者は、非常に積極的な不正行為対策を採用しています。たとえば、Steamはメモリとファイルシステムをスキャンしてハッキングを探し、犯罪者は数百ドル相当のアカウントを失うことで処罰されます。それでも、Steamゲームにはまだボットやその他のハックがあり、その一部は半分の時間でさえ動作します。それらとは異なり、ユーザーに広く開かれたAPIがあり、ユーザーのコンピューターを制御することはできません。それは最初から困難な戦いです。
解決しようとしている問題は、基本的にチューリングテストです。言語のような難しいAI問題を要求することでごまかすことができないため、非常に簡単なチューリングテストを除きます。ヒューリスティックをいくら作成しても、ボットがボットの動作に少しランダム性を加えて、ほぼ正確に人間を模倣するのは簡単なことです。ボットにあなたのプレイを少し見てもらって、あなたにぴったりのアクションの時間を計る方法を学ぶことはそれほど難しくありません。その後、ボットを禁止すると、ボッターはフォーラムに彼が単なる熱心なプレイヤーであるかどうかについて巨大な暴言を投稿します(そして、彼は実際には偽陽性であるかもしれません)。
ボットするにはゲームを面白くしすぎる
誰かがボットを使用する主な理由は、スキップしたいゲームの一部があるためです。彼らがゲームを楽しんでいて楽しいと感じた場合、彼らはボットにそれをプレイさせないでしょう、彼らはそれを自分でプレイするでしょう。
しかし、ゲームがとても退屈な場合、なぜそれをプレイするのですか?おそらく、ゲームのいくつかの部分は退屈であり、楽しい部分に到達するために必須です。例えば、MMOでは誰もがレベルを上げるのが大好きですが、XPを手に入れるために42,324人の恐ろしいアンデッド毒ラットを殺したい人はいません。そこで、彼らはボットをグラインドしてドロップインさせて、楽しい役割を果たします。
これはあなたやあなたのゲームに対する批判ではありませんが、少なくとも一部のプレーヤーはゲームの一部を面倒だと感じています。これらの退屈な部分を減らすことができるかどうかを確認し、より困難で意味のある決定を追加することを検討する必要があります。ボットは人間の知能と比較して深い戦略や横方向の思考が得意ではなく、人間は難しいゲームの決定を楽しんでいます。
あなたの説明から、これはトラビアンに似たブラウザゲームであるという印象を受けます。1つの最良のビルド順序と特定の「メンテナンス」(ファームレイドを続けるなど)タスクが実行される必要があるビルドキューがあります。競合はないと言いますが、MMOドラマとささいな政治は避けられない(IMOが主な魅力です)ので、プレイヤーは頭を突き合わせる方法を見つけると確信しています。これらの種類のゲームでは、多くの退屈はこれらの「メンテナンス」タスクから生じます-プレイヤーが本当にやりたいのはライバル氏族との外交ゲームをプレイし、メンテナンスはあなたが起こらなければならない一種の税金になりますその面白い外交パートに入ることを許可される奇数時間にアラームまで。だから退屈を切り取ってください:
残念ながら、このアプローチは常に機能するとは限りません。すべてのプレーヤーが退屈に対して同じ耐性を持っているわけでも、同じ楽しみの概念を持っているわけでもありません。プレイヤーの99%が楽しめる傑出したメカニックを持つこともできますが、1%は退屈だと感じます。1%がボットを書き始め、99%の楽しみを台無しにしたらどうなるでしょうか?しかし、最終的には、程度の問題です。ボッティングを完全に取り除くことはできませんが、損傷を最小限に抑えることができます。
アンダーカットボッター
ボットの本当にマイナスの影響の多くは、ボットの作者が自分たちの作品を商品化したことによるものです。これがあなたに当てはまる場合、あなたは単にボットと競争することができます。多くのリアルタイムベースのオンラインゲームには、タイムスキップと自動化(拡張ビルドキューなど)を可能にするプレミアム機能が既に備わっています。これらは、開発者が認可した公式ボットに相当します。これらがあり、適切に価格設定されている場合、プレイヤーはボットを購入する代わりにプレミアムを購入します。良いニュースは、あなたがAPIを担当しているため、自分のゲームの品質自動化を開発する上で常に強力な利点があるため、今回はボッターにとって負けの戦いです。
これは、アマチュアのボッターやあなたのプレミアムがお金に見合った価値がないと感じている人を排除するものではないので、このアプローチの有効性は状況によって異なります。
それらを手動で探す
上で言ったように、あなたがしていることは基本的にチューリングテストです。人間との相互作用は難しいチューリングテストの課題として有名であるため、それを活用してみることができます。
トップレベルのプレーヤーを手動で検査し、疑わしいものを見つけないか確認してください。あなたの想像力だけに制限された方法で時々それらをプローブして逃げることができるかもしれません。
ボットを確実に検出するアルゴリズムを記述することは困難ですが、人間がボットを見つける方法を学ぶことはそれほど難しくありません。多くのブラウザゲームがこの戦略を使用しており、かなり効果的だと思います。欠点は、常に多くの退屈な作業を行う必要があるか、ゲームマスターに定期的なボットパトロールを行う必要があることです。