2013-09-17

クッキー・クリッカーについて

昨日、筆者はクッキー・クリッカーなるゲームを体験した。このゲームは、ゲームの本質を非常によく抽象化している。ここではそのゲームについて述べるが、読者には実感のため、並行してゲームを行なってもらいたい。

このゲームのプログラムはHTML/CSS/JavaScriptと、その他のリソースで構成されていて、ストールマンの自由四原則に合致する自由ソフトウェアではないが、一応は、制限的ながら、forkや改変を許諾している。このプログラムを動作させるには、まともなブラウザーが必要である。

Cookie Clicker

まずみると、左に素晴らしくうまそうなクッキー、中央によくわからない列、右によくわからない小物が並んでいる。操作方法がよくわからない。まず、左にこれみよがしに配置してある、うまそうなクッキーをクリックしてみよう。

+1

なんと、クッキーが一枚得られた。続けてどんどんクリックしていくと、数十枚のクッキーが得られることだろう。なるほど、これはクッキーを得るゲームなのだな。そして、クッキーを得る方法とは、クリックなのだ。と、こう納得するはずである。

なるほど、基本はレベル上げゲームだ。クッキーは経験値やゴールドの抽象化であり、クリックは戦闘の抽象化なのだな。しかし、これは極めて退屈である。通常は、数十枚のクッキーを得たところで、飽きてくるはずだ。これ以上続けたければ、通常は、自動的にクリックするプログラムを書くか、あるいはこのゲームのソースコードを書き換えるだろう。まともなプログラマーならもちろん誰だってそうする。

そこで、右に目を向ける。なにやら不思議なものが選択可能になっている。得られたクッキーと引き換えに購入できるそうだ。「カーソル」なるものが購入可能となっている。

カーソル(Cursor)

このゲームは、そのような自動化を最初から提供している。カーソルは、10秒間に一回、自動的にクリックしてくれる。すなわち、10秒間に1枚クッキーが得られるのだ。これを持っていれば、放置していてもクッキーは自動的にたまる。しかし、その速度は10秒間に1枚と、極めて遅い。

カーソルは複数買うことができる。もちろん、効果も重複する。しかし、カーソル自体にクッキーを支払わなければならないので、意味がない。まだ手動でクリックしたほうが速い。

そうこうしているうちに、次に購入可能なものが出てくるはずだ。ババアである。

ババア(Grandma)

もちろんそうだ。ババアは、昔からクッキーを焼くものと相場が決まっている。ババアがクッキーを焼く速度は、2秒間に1枚である。カーソルよりはマシだが、まだ手動のクリックより遅い。ババアはこの時点では使えないので、即座に売り払ってもよい。ババアを売るとアチーブメントが得られるので、ぜひとも売るべきだ。やはりゲーム外の自動化ツールを書くべきだろうか。

そう思いながら右を眺めると、様々な「アップグレード」が目に入る。どうやら、ババアは麺棒をアップグレードすることにより、クッキーを焼く速度が上がるようだ。ここで、このゲームの効率において非常に重要な単位、CpS(Cookie per Second)を見出す。

CpS(Cookie per Second)

CpSとは、一秒間に得られるクッキーの枚数である。この値が高いほど、クッキーを得る時間効率がいいことになる。現時点では、手動によるクリックが、最も高いCpSを実現できるはずだ。カーソルやババアはCpSという点でとても劣っている。しかし、手動によるクリックは面倒だ。アップグレードでも、もともと小数点以下のCpSなカーソルやババアに、さらに低い小数点以下のCpSを増やすだけだ。しかも購入にはクッキーが必要となる。意味がない。やはり自動化ツールを書くべきだろうか、

と、思っているうちに、次のビルディングが購入可能になっているはずだ。

農場(Farm)

もちろん、クッキーは栽培可能であり、農場で収穫できる。子供でも知っている常識である。そのため、農場に投資することは意義のあることだ。農場は、なんと2 CpSを実現してくれる。これまでのゲーム内自動化は、小数点以下のCpSしか提供していなかったのを考えると、とても時間効率のいいクッキーの大規模栽培をしているとみえる。しかし、結構な人間とマウスは、頑張れば一秒間に3回以上クリックできるので、依然として手動クリックの方が時間効率の点では上だ。とはいっても、農場は放置していても現実的な時間効率でクッキーを収穫できるという点で革新的だ。しばらく放置すれば次のビルディングが買える。だが、その前に、気休めだがアップグレードも買ってみよう。

強化人差し指(Reinforced index finger)
腱鞘炎防止クリーム(Carpal tunnel prevention cream)

強化人差し指を装着すると、なんとクリックすることで得られるクッキーの数を+1してくれる。なんと、一度クリックすれば2枚のクッキーが得られるのだ。腱鞘炎防止クリームを塗ると、クリックの効率が2倍になる。なんと、一度クリックするだけで4枚ものクッキーが得られるのだ。ここに、再びクッキー効率は逆転し、手動によるクリックが時間効率で上回ることになる。そして次のビルディングに手が届く。

工場(Factory)
鉱山(Mine)

歴史で必ず習うように、工場による集約労働はクッキーの大量生産を可能とした。クッキー鉱脈は産業革命を支えた。クッキーを各家庭で焼くのは非効率的である。労働者は一箇所に集めて、効率的な巨大オーブンを使って一斉にクッキー製造にあたらせるのだ。クッキーを焼く上で時間がかかるのは、クッキー生地とチョコチップの準備である。クッキー生地は寝かせなければならないし、チョコチップを作るのは手間がかかる。しかし、ご存知の通り、その両方ともが、いつでも焼ける状態で鉱山のなかに埋まっているのである。これを掘り出せば、クッキーの生産速度は大幅に短縮できる。鉱山は、なんと40 CpSを実現できる。再び自動化の時間効率が手動クリックを上回ったのだ。短い天下だった。

この時点において、もはやクリックはあまり効率的にクッキーを得る方法ではなくなる。そのため、クッキーを掘るのは鉱山に任せて、しばらく放置しよう。

筆者は、この間に、レイ・カーツワイルの著した本、"The Age of Spiritual Machines"を読んだ。カーツワイルは、混沌から秩序が生じるにはとてつもなく長い時間がかかるが、秩序からより秩序化された秩序が生じるのは、短い時間しかかからないと述べた。秩序から生じたより秩序化された秩序は、さらなる秩序を生じる。したがって、秩序が生じる時間は、指数関数的に短くなる。カーツワイルはこれを、利益加速の法則(Law of accelerating returns)と名付けた。

我々の進化は、秩序からさらなる秩序が生ずるものである。生物は、秩序ある存在である。これは、熱力学の第二法則、いわゆるエントロピー増大の法則に反するようにみえる。生物が低エントロピーを保てるのは、生物が閉鎖系ではなく、外部のエントロピーをさらに高めることにより、全体の収支を保っているからである。したがって、生物は熱力学の第二法則に違反しない。

我々生物の進化は、まず単純な分子化合物から始まり、次第に複雑になっていった。進化は、秩序の記録として、DNAを発明した。DNAは記録である。DNAはプログラムコードである。生物はリボソームを使い、DNAのコードに従ってタンパク質を生成する。DNAは複製されるが、極めて低確率でランダムに変化する。この変化は環境でテストされ、もし固体の生存に支障がなければ残る。DNAの変化は、時として支障がないどころか、利点であることすらある。ランダムな変化が、より秩序ある方向へ進化するときの記録を、細胞自体ではなく、DNAに託したのは、進化の上で非常に重要だった。

と、ここまで読んだところで、新たなビルディングを購入可能になった。

輸送(Shipment)

天文学者の観測により、以前からクッキーで構成された惑星が存在することは明らかになっていた。このクッキーの惑星からクッキーを出荷することにより、地球に大量のクッキーがもたらされた。なんと、100 CpSである。時間効率は鉱山の2倍強でしかないが、100 CpSという分かりやすい単位で、クッキーの生産速度の向上はとても実感できるようになった。気休めのアップグレードを買う余裕もできた。

ここで悟る。他のゲームで、「経験値」とか「ゴールド」とか「HP」とか「攻撃力」とか「守備力」とか、様々な仰々しい名前をつけていた数値は、すべて本質的にはクッキー枚数だったのだ。いや、フィールドを移動して次の街に行くとか、ダンジョンを攻略するということすら、本質的にはクッキーなのだ。名前の違いは、プレインクッキーとかレーズンクッキーとかチョコチップクッキー程度の違いだ。本質的には、すべてクッキーなのだ。そして、「レベル上げ」とか「稼ぎ」などと称するものは、すべてクッキーを焼くことと同義だったのだ。すべてはクッキーだったのだ。ああ、なんということだ。

たとえば、ドラクエだ。ドラクエでは、経験値やゴールドやステータスといったクッキーがあり、戦闘やアイテム入手といったクッキー焼きが存在する。哀しいかなドラクエの製作者たちは近眼で、クッキー・クリッカーのように本質的なものの見方はできなかったのだ。彼らは、カーソルのまがい物のようなAI戦闘や連射パッドで自動レベル上げできる稼ぎ場所は作ったものの、ついにババアのアイディアに思い至ることはなかったのだ。そうだ。ドラクエのレベル上げはババアにやらせればいいのだ。ゴールドは農場で栽培すればいいのだ。なぜドラクエにはババアがいないのか。なぜドラクエには農場がないのか。

最近のFFは、戦闘が完全に自動的になっていると聞く。詳細は知らないが、彼らはババアを実装したのだろう。だが、残念ながら、もっと効率的な、農場や工場には思い至らなかったようだ。もし彼らが農場や工場を実装していたのならば、移動すら自動化されていたはずだ。

これまでは、クッキー・クリッカーのようなゲームの本質を抽象的に表現した例がなかったので、ババアの発想に思い至らないのも仕方がない。しかし、今後は違う。今後のゲームが、もし機械的な作業を提供するのに、ババアや農場や鉱山を提供しない場合は、そのゲーム作成者はクッキー・クリッカーによって明らかにされたゲームの本質を理解していない近眼者であり、従ってゲームもクソゲーであると酷評されるだろう。

そのようなことを考えていたら、また次のビルディングが買えるようになった。

錬金研究所(Alchemy Lab)

想像して欲しい。金のような無価値でありふれた物質を、クッキーのような高価値、高栄養価の物質に変えることができたとしたら。そのような魔法のような夢を実現する方法は、古くから錬金術として知られてきた。読んで字のごとく、金を練って他のものに作り変えるのである。あたかも、クッキー生地を練って様々な形のクッキーを作り出すように。この錬金術は、決して夢物語ではない。クッキーによって一代で財を成した筆者の投資した錬金研究所により、ついに人類はその夢を叶えることができるのだ。なんと、400 CpSという時間効率でクッキーを錬成できる。

しかし、次のビルディングはかなりクッキーを要する。ここでまた、レイ・カーツワイルの読書に戻るとしよう。

DNAにより記録が可能になったことで、進化の時間効率は大幅に短縮された。わずかの間に生物はその種類を爆発的に増やした。しかし、DNAによる進化も、やはりかなり長い時間がかかった。そして、つい人間が誕生する。人間はDNAに変わる新しい進化の方法を生み出した。技術である。

人間には、技術がある。技術は、道具の加工から始まった。道具の加工自体は、人間以外にもチンパンジーとかカラスでも行うことができる。人間の道具加工が、その他の動物より優れていて、技術という名前になる理由は、人間は歴史を記録できるからである。人間は、記録できる。例えば、道具加工の過程において、どのように加工すればうまく動いたか。どのように加工してもうまく動かなかったか。という情報を記録し、他人に伝えることができる。この情報記録は、技術の発展に多いに役立つ。

かくして、進化はDNAから、技術に移った。

たとえばコンピューターだ。コンピューターの歴史は古い。多くの数学者が、歯車やベルトが組み合わさった機械式の計算機を作成している。残念ながら、当時の工作精度の限界により、優れたコンピューターを制作するのは困難だった。その最も悲惨な例は、チャールズ・バベッジであろう。

チャールズ・バベッジと、そのスポンサーであるエイダ・ラブレスは、その生涯をコンピューターにささげてきた。バベッジからコンピューターのアイディアを聞いたエイダは、資金提供するだけでなく、自らもアイディアを改良し、また現代にまで残る様々なプログラミング技術(ループなど)を考案した。

エイダは若くして癌により亡くなり、バベッジも当時の工作精度の限界から、動作するコンピューターを完成させることなく死亡した。しかし、彼らの研究は無駄ではなかった。最初のアメリカのコンピューター、Mark Iには、バベッジとエイダの残した記録の成果が存分に使われている。開発者であるHoward Aikenは、「もしバベッジが75年後の今も生きていたとしたら、俺の仕事はなかった」とまで言っている。

人間はDNAよりも効率的に情報を記録して残すことができ、これは技術の進化に大いに寄与するのだ。情報が残らない、秘密の技術は、改良されることもなく忘れ去られ、後に独立して再発明されることになる。

秩序はより秩序化された秩序を生じる。生じた秩序は、さらにより秩序化された秩序を生じる。レイ・カーツワイルの提案した利益加速の法則は、さらなる秩序を生じるのにかかる時間が、指数関数的に短縮されていくことを示している。ライト兄弟が始めて空を飛んでから、バベッジがコンピューターを設計してから、エイダが始めてプログラミング言語を書いてから、我々の飛行技術やコンピューター製造技術や、プログラミング技術は、凄まじい速さで進化している。進化により生じた技術は、さらなる進化を促し、結果として、進化にかかる時間が短縮される。

と、ここまで読んだところで、問題が起きた。

なんと、ニュースによると、錬金研究所が、ひそかにクッキーを無価値の金に変えていることが発覚したのだ。考えてみれば、錬金研究所はかかるコストの割にCpSが低いし、この際売り払うことにした。そして、ポータルを購入した。

ポータル(Portal)

宇宙は一つではない。我々の住む宇宙の他にも、様々な宇宙がある。その中には、宇宙の物質がほとんどクッキーで構成されているような宇宙、すなわちクッキー宇宙(cookieverse)もあるだろう。もし、クッキー宇宙へのポータルを開くことが出来れば、莫大なクッキーを得ることができる。ポータルは、6,666 CpSを実現する。ここに、ババアを始めとしたポータル以前のビルディングの価値が極端に下がる。ポータルさえあれば後は何もいらないのだ。どんどんポータルを開こう。

ポータルを開いたことにより、各国政府はポータルから続々と出現する怪物について懸念を示しているが、彼らとて所詮、クッキーの価値には抗えない。そして次のビルディングだ。

タイムマシン(Time Machine)

これまで、我々はクッキーを時間効率良く手に入れるために、実に多くのクッキーを消費してきた。消費したクッキーは、大抵、誰かによって食べられている。何という無駄なのだろう。もし、過去のクッキーが、食べられることなくそのまま残っていたならば、我々は今頃、大クッキー持ちになっていたはずであろうに。この夢に魅せられた我々は、ついにタイムマシンを発明した。タイムマシンにより、過去のクッキーを、食べられる前に現代に持ってくるのだ。なんと、これはポータルをはるかに超える量のクッキーを現代にもたらした。その時間効率、なんと、98,765 CpSである。

ニュースによれば、タイムマシンの操縦者は、我々の未来をみたと報告した。我々の未来に何が待ち受けるのかは語られなかったが、「二度と行きたくない」と証言している。

反物質変換装置(Antimatter Condenser)

ついに未来がやってきた。宇宙に存在する反物質を、クッキーに変換する装置の購入に成功したのだ。反物質変換装置は、脅威の999,999 CpSをもたらしてくれる。だが、これは終わりではない。始まりに過ぎないのだ。まだまだやるべきことはたくさんある。各種ビルディングは大量に購入することで変化がある。まだ購入していないアップグレードが山ほどある。まずはババアを100人雇うことだ。

このような物事の本質を抽象化したゲームをやりたければ、以下のようなゲームもオススメだ。

The Linear RPG - Sophie Houlden

Progress Quest

なお、クッキー・クリッカーの作者Orteilは、にわかの日本からのアクセス急増に対して、以下のように述べている。

Orteil

aussiemediahunter : どう思う?

このゲームを「美少女がクッキー焼く」ゲームにしなかったのが悔やまれるね。ああ、アクセス解析によると、日本からの閲覧が急増している。pixivでは徐々にクッキー・クリッカーの絵が増えつつある。この広がりをみるのは、なんとも言えない気分だ。

クッキー生産の道はまだまだ終わらない。続きがある。

本の虫: ババア補完計画

本の虫: クッキー・クリッカー物語

3 comments:

  1. Raph Kosterは『「おもしろい」のゲームデザイン ―楽しいゲームを作る理論 (A Theory of Fun for Game Design)』の中で、「ゲーム」とはプレイヤーが学んで最終的には攻略するというパターンが徐々に難易度を上げながら続くインタラクティブな体験であると定義している。
    コスターの主張によれば、そのパターンに気がついて「わかった」瞬間に冗談が面白くなるのと同じく、「面白さ」の中心にあるのは学習と攻略だという。

    ReplyDelete
  2. >いや、フィールドを移動して次の街に行くとか、ダンジョンを攻略するということすら、本質的にはクッキーなのだ。

    次回メジャーアップデートはダンジョンのようです。
    クッキークリッカー自体も下記のプロトタイプを経て現行版があるので当初はそうでもないクオリティだと思いますが、
    やがてダンジョンゲームの根底を覆してくれることを期待します。

    http://orteil.dashnet.org/experiments/cookie/
    (放置すると現行版より遥かに早くGrandmapocalypsが発生します)

    ReplyDelete
  3. 開発者よ、冗談で言っているかもしれないが一言言おう。
    ババアが焼くからクッキーなんだ。クッキーだからババアなんだ。

    2次元美少女がやくのはデレ以外は犬も食わん。ジャップからの忠告だ。

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.