botとは、人間に代わって作業を行うコンピュータープログラムの総称。
概要
語源は人に代わって作業を行う機械「ロボット(ROBOT)」から。
冒頭ではコンピュータープログラムの総称と書いたが、単にBOTと言った場合、インターネットにおける何らかのタスクを自動で繰り返し続けるプログラムを指す。そのため、ローカルマシン内でのみ活動するプログラムは含まない事が多い。
インターネット上には無数のウェブサイトが存在するが、一個人あるいは一組織がそれらを一つ一つチェックすることなど不可能である。そのため情報収集を人ではなく、機械に任せられるようにするため生み出された。情報収集の対象となる件数が増えれば増えるほど人による対応が難しくなるためBOTの出番となる。検索エンジンでは実際にウェブサイトを収集するためにBOTを使っている。(後述)
しかし同じインターネット上の情報を収集する目的でも、悪質な業者がスパムを送りつける先を探すためにBOTを稼動させている事も多い。メールアドレスを収集するBOTが多数の業者によって走らされているのはもはや常識である。
その他のパターンとしては、田代砲などのDoS攻撃・DDoS攻撃を行うためのプログラムや、ネットワーク上の他のPCに対して感染・破壊活動を試みるウィルスやワームも広義のBOTと言える。
ニコニコ動画で言えば、コメントやタグ編集などを自動で行うように作られたスクリプトもBOTと言えるだろう。
一般的には単純作業を任され、複雑な作業を任されることは少ない。これは複雑な作業ほどプログラムエラーや不具合が出てしまうためである。人工知能(AI) 的なBOTを目指すならば話は別だが・・・。
検索エンジンにおけるBOT
GoogleやYahoo!などの検索エンジンでは、インターネット上にあふれるウェブページをBOTによって収集している。アクセス解析を置いてあるサイトを管理している人ならば、GoogleやYahoo!のBOTによるアクセスを目にした事があるだろう。
これらのBOTはウェブページに貼られたリンクを辿ることによって次々とウェブページを収集する。このため、どこからもリンクの貼られていないページは、意図的に検索エンジンに登録しない限り検索エンジンに引っ掛かることは無い。逆にリンクが有れば収集されてしまうため、人間にはほとんど見えないぐらい小さなリンクを隠しページに貼っていたとしても、作者の意図とはおかまいなしにBOTは検索エンジンに登録してしまう。このことは、「隠しページ」とかで検索してみればよく分かる。
このようなBOTの習性は、リンクを辿った人には見てほしいけれど検索エンジンから直接見られたくない、という時には困ったものとなってしまう。この場合は、ページのソースに検索エンジン除けの記述をすればよい。多くの検索エンジンBOTは、この記述が有るページを収集したりそれ以上リンクを辿ったりしないようになっている。
ネットゲームにおけるBOT
コンピュータープログラムを使用する以上、コンピューターゲームの中でもBOTを使用することは可能である。
オフラインゲームの場合、仮にBOTを使用したとしてもその影響は自分のゲーム内に留まる。
古くは、コントローラーのAボタンと十字キーの1方向を固定したまま1晩放置しておいての自動レベル上げなどが該当すると言えるが、他人のプレイを直接的に妨害する訳でもなし、大して問題にならない事が殆どであった。
しかしオンラインゲームとなるとBOTがもたらす影響は自分だけでなく他人にも及ぶ。
オンラインゲームは他人との比較・競争と言う概念が常に存在するため、プレイに費やした時間が成果に直結するようなゲームバランスになっている事が多い(最近はアイテム課金の関係で崩れているところも少なく無いが)。当然人間によるプレイでは限界があり、それを見越したバランスになっているのだが、ここにBOTを投入するとそれが根本から覆る。
あるゲームの実例を挙げると、ドロップ率0.02%のアイテムは期待値としてそのモンスターを5000匹倒せば入手出来る計算である。1時間に300匹倒せるとしたら、17時間弱そのモンスターを倒し続ければアイテムが1つ手に入る事になる。もちろん普通の人間ならば同じモンスターを17時間も倒し続けるなど狂気の沙汰なので1日に2~3時間程度にするとしても、アイテムを1つ手に入れるのに1週間前後はかかるという事になる。
しかしBOTの場合は、PCが熱暴走を起こして落ちる等と言った事が無い限り半永久的に動き続けるため、17時間どころか24時間ぶっ続けでモンスターを倒し続ける。しかも、特定の目的に特化されたBOTはプログラム本体はあまり大きくなく、ものによってはゲームクライアント本体を介さずにゲームサーバーと直接通信する事が出来るものもあるため、10単位で複数同時起動出来る。1時間300匹のモンスターを倒すBOTを、30体同時に24時間×1週間稼動させた場合、1,512,000匹のモンスターを倒す。普通のプレイヤーが自力でアイテムを1つ手に入れている間に、BOT(を使う人間)は同じアイテムを300個以上手に入れている事になる。
また、対象のモンスターがそこそこに強いモンスターであった場合、手動でのプレイでもそれなりの緊張感が生まれるため飽きにくく、キャラクターへの経験値と言う面でも期待が持てるため好んで倒しに行くプレイヤーもいるが、最弱の初級モンスターだった場合は「当たり」が出るまでは何の見返りも無い苦行である。しかし、BOTならばどんな苦行でも文句一つ言わず、飽きる事も無く黙々と作業をこなし続ける。
これではまるで勝負になる訳もなく、ゲーム内での経済バランスはあっという間に「BOTによってアイテムを集めてくる」事が前提のバランスに塗り替えられてしまう。
経済活動に参加するプレイヤー全てがBOTを使い始めるという意味ではなく、全く同じアイテムが10分の1以下の値段で大量に販売されていた場合、殆どのプレイヤーはそちらを買うため、正当な手段で手に入れ相応の見返りを求めてアイテムを売りに出すプレイヤーのアイテムは一切売れなくなり、嫌でもBOT基準の相場に合わせるしかなくなってしまうのである。
このためネットゲームにおけるBOTの使用は非常に大きな問題を抱えていると言ってよい。
多くの場合ネットゲーム上でのBOTの使用は規約によって禁止されている。一部のFPSなど公式でBOTの使用が認められている場合も例は少ないが存在する。認められている場合はBOTの存在を前提にゲームバランスが調整されているため問題とならない。
ニコニコ動画ではネットゲームにおけるBOTを指していることがほとんどであるため、ラグナロクオンラインやリネージュ2といった動画が出てきます。
TwitterにおけるBOT
Twitterでプログラムによって自動的につぶやきを発信するアカウントをBOTと呼ぶ。天気予報や時報、鉄道の運行情報のような役立つ情報を自動的に配信するBOTはTwitterに数多い。アニメキャラクターや有名人を模して、定期的に台詞をつぶやいたり他のユーザの発言に反応して発言するBOTもある。中には人間そっくりのつぶやきをするBOTも居て、BOTと知ってショックを受けた例も有るようだ。暗号通貨の送金を行う「tipbot」など、何らかの実用的な機能を果たすBOTも存在する。
BOTを作りたい場合には、「Twitter BOT 作り方」などで検索すると良いだろう。PerlやRubyのようなプログラム言語で実装されている例を数多く見つけることができる。しかしながら、凝ったBOTを作る場合にはある程度のプログラミングの知識が必要となることもある。また、通常BOTを動かすためには定期的にBOTプログラムを実行するためのサーバが必要である。
ただ、画像をひたすら貼っていく等の面白系BOTは、広告に利用されていることもあるので注意が必要である。
僕がツイッターの面白系botをRTしないワケ(不破雷蔵) - Y!ニュース
関連動画
関連項目
- 11
- 0pt