1 00:00:01,750 --> 00:00:04,910 Game Maker's Toolkitへようこそ 僕はマーク・ブラウン 2 00:00:04,910 --> 00:00:10,250 僕が他のどれよりも多くプレイしたゲーム それはSpelunkyだ 3 00:00:10,250 --> 00:00:16,020 高難度のアクションゲームで、マリオやドラキュラなど 横スクロールの面白さを受け継いでいる 4 00:00:16,020 --> 00:00:22,380 だが、死ぬたびにマップを変化させることで ステージ構成や敵配置を覚える要素を排除している 5 00:00:22,620 --> 00:00:27,660 しかしSpelunkyを特別な作品にしているのは ステージがランダムにつなぎ合わされているのに 6 00:00:27,660 --> 00:00:32,780 常に公正で楽しめる作りになることだ 僕は1000回もプレイしたが 7 00:00:32,780 --> 00:00:35,460 1度もひどいステージには遭遇しなかった 8 00:00:35,460 --> 00:00:40,230 とてもアルゴリズムによって作られたとは思えない アルゴリズムでステージを作るゲームには 9 00:00:40,230 --> 00:00:46,070 行き止まりだらけの雑なステージも多い Spelunkyの自動生成されたステージは 10 00:00:46,070 --> 00:00:52,080 下手な手作りのステージよりも完成度が高い 11 00:00:52,080 --> 00:00:59,840 それは開発者のデレク・ユーがランダム要素と 手作りの要素を絶妙なバランスで調整しているからだ 12 00:00:59,880 --> 00:01:04,989 彼はその方法をSpelunkyという題名の 本の中で説明している 13 00:01:04,989 --> 00:01:10,299 デザインに興味がある人はぜひ手に取ってほしい だが君が配達を待っている間に 14 00:01:10,299 --> 00:01:16,659 僕は本に書いてある情報を引いて、Spelunkyの面は ランダムとデザインが半分ずつという説明をしよう 15 00:01:16,660 --> 00:01:21,760 その上で、この作品にとってユニークな面構成が 非常に大事な理由を考えてみよう 16 00:01:21,760 --> 00:01:26,520 しかしまずは、全てが始まった地点に戻る必要がある というのも、皆はSpelunkyを 17 00:01:26,520 --> 00:01:31,820 こういう見た目だと思っているだろうが 実は当初、これはフリーのドット絵ゲームだったのだ 18 00:01:31,820 --> 00:01:34,160 これは現在Spelunky Classicと呼ばれている 19 00:01:36,840 --> 00:01:42,760 Spelunkyの面はどれも、同じ基本的な形状と サイズから開始するスクリプトで生成される 20 00:01:42,760 --> 00:01:46,290 箱型4×4マスで16部屋だ 21 00:01:46,290 --> 00:01:51,580 このスクリプトが最初にやるのは、最上段から ランダムに部屋を1つ選択し、入り口にすることだ 22 00:01:51,800 --> 00:01:57,720 それから部屋の方向をランダムに左か右 あるいは下に設定する 23 00:01:57,720 --> 00:02:01,990 このプロセスは部屋ごとに繰り返される 道がステージの端に到達すれば下に向かう 24 00:02:01,990 --> 00:02:06,000 最下段に行きつくまでこれが続き そこからさらに下へ向かった場合 25 00:02:06,000 --> 00:02:07,619 そこが出口となる 26 00:02:07,619 --> 00:02:11,150 このメインルートの部屋は全て、左右に通じている 27 00:02:11,150 --> 00:02:17,000 これに加えて、下に向かう部屋は底の部分に出口がある 降りた先の部屋は上から出られるわけだ 28 00:02:17,000 --> 00:02:21,030 その結果、ロープや爆弾を使わなくても 29 00:02:21,030 --> 00:02:26,340 確実に通行可能な面が生成される 他の部屋はメインルート上にはないので 30 00:02:26,340 --> 00:02:30,160 通じていることもあれば、形状次第で 塞がれていることもある 31 00:02:30,160 --> 00:02:36,870 次に全ての部屋はランダムなテンプレートを与えられる デレク・ユーは一部の部屋のデザインを手作りし 32 00:02:36,870 --> 00:02:41,459 部屋の種類ごとに異なるレイアウトを用意している 下に向かう部屋、降りた先の部屋 33 00:02:41,459 --> 00:02:44,650 通路や進行に関係のない部屋などだ 34 00:02:44,650 --> 00:02:49,230 だがテンプレートは完全固定ではなく 部分的にランダム生成される 35 00:02:49,230 --> 00:02:54,650 場合によっては全てのタイルがランダムで配置される 36 00:02:54,650 --> 00:02:59,099 このため似たような配列は出てくるが 常に少しだけ違っている 37 00:02:59,099 --> 00:03:03,909 スクリプトは次にマップ上の全タイルをチェックして ダイスロールを行う 38 00:03:03,909 --> 00:03:09,190 モンスターや財宝、他のオブジェクトの配置を 決めるためだが、これも完全ランダムではない 39 00:03:09,190 --> 00:03:14,349 宝石や木箱は壁に囲まれた空間に出現する 可能性が高いし、敵は通常、狭い空間には出ない 40 00:03:14,349 --> 00:03:19,409 そして全ての物には重さがある だから爆弾ガエルやジェットパック入りの木箱で 41 00:03:19,409 --> 00:03:22,580 ステージ全体が埋まるようなことはない 42 00:03:22,580 --> 00:03:27,700 デレク・ユーは自分の面生成アルゴリズムについて こう述べている 43 00:03:27,700 --> 00:03:32,659 「このシステムが生成する洞窟はあまり自然に見えない プレイヤーは地形が一部使い回されていることに」 44 00:03:32,659 --> 00:03:37,180 「すぐに気づくし、面がグリッド単位で生成されている こともわかるかもしれない」 45 00:03:37,180 --> 00:03:42,409 「だがテンプレートとランダム変化の量が十分なら かなりの多様性を得られる」 46 00:03:42,409 --> 00:03:47,040 「それ以上に大事なのは、面白くかつ 進行不可能にならない面を作れることだ」 47 00:03:47,040 --> 00:03:51,879 「没入できる体験を演出するためには、リアリズムより こちらの方が遥かに意義がある」 48 00:03:51,879 --> 00:03:57,010 Spelunkyの面にはもちろん、他の要素もある メインルートから外れた部屋には 49 00:03:57,010 --> 00:04:01,830 大岩のトラップを誘発する金の偶像や 死体を捧げて有用なアイテムを入手できる 50 00:04:01,830 --> 00:04:03,830 祭壇が配置されている可能性がある 51 00:04:03,830 --> 00:04:09,330 部屋はアイテムを買ったり盗んだりできる 店になる可能性もある 52 00:04:09,330 --> 00:04:13,640 「欲しいアイテムを全て買うと得点が減るので…」 (最終的な得点は入手した財宝で決まる) 53 00:04:13,640 --> 00:04:18,410 「…店でアイテムを盗む誘惑が強くなっている」 と、ユーは述べている 54 00:04:18,410 --> 00:04:22,660 アイテムを盗むと、店主はショットガンで 攻撃してくるだけでなく 55 00:04:22,660 --> 00:04:26,720 そのプレイ中は全ての面の最後に出現して 56 00:04:26,720 --> 00:04:29,430 予測しづらい攻撃を仕掛けてくる 57 00:04:29,430 --> 00:04:35,160 また、全ての面には美女が存在しており 体力を1つ増やしてくれる 58 00:04:35,160 --> 00:04:39,800 他のゲームにおける体力回復アイテムは キノコでも肉でもピザでも即座に効果を発揮するが 59 00:04:39,800 --> 00:04:44,860 Spelunkyでは美女を出口まで運ぶ必要がある 60 00:04:44,860 --> 00:04:48,750 予測のつかない迷路で、時には複数のアイテムを 担いでいかなければならない 61 00:04:48,750 --> 00:04:52,880 最後に、ゴーストの存在だ 同じ面に長時間居座ると幽霊が出現し 62 00:04:52,880 --> 00:04:55,590 触れると即死する 63 00:04:55,590 --> 00:05:02,020 これらの追加要素は全て厳密にデザインされたものだが ランダム生成されたゲーム世界に散りばめられており 64 00:05:02,020 --> 00:05:05,400 選択肢の比較考量を可能にしている 65 00:05:05,400 --> 00:05:09,680 ユーは「(プレイヤーに)難しい決断をさせることで 選択をうまくした時の達成感と」 66 00:05:09,680 --> 00:05:13,979 「失敗した時の後悔の両方を味わわせたかった」 と語っている 67 00:05:13,979 --> 00:05:18,289 店で金を払って得点を犠牲にするか、それとも 盗みを働いてその帰結に対処するか 68 00:05:18,289 --> 00:05:22,660 危険を冒して美女を投げ込むか それともショットガンを諦めるか 69 00:05:22,660 --> 00:05:27,389 金の偶像を取って、大岩に潰される危険を冒すか 70 00:05:27,389 --> 00:05:29,669 ゴーストが出現する前に宝石を回収できるか 71 00:05:29,669 --> 00:05:33,630 こうした決断はどれも、プレイヤーがすでに面を プレイしていて 72 00:05:33,630 --> 00:05:38,760 正しい道や、金の偶像を取ると何が起きるかを 知っていたら、面白さが大きく減じていただろう 73 00:05:38,760 --> 00:05:42,160 だがプレイヤーは面の構造を知りえないので 74 00:05:42,169 --> 00:05:47,550 状況を読んで計画を立てることを強制される それがとんでもない失敗に終わることもある 75 00:05:47,550 --> 00:05:50,710 そうなったら苦痛は大きい ゲームの開始地点まで戻されるからだ 76 00:05:50,710 --> 00:05:55,820 また新たな面を攻略しなければならない このゲームにおいてリスクは非常に高いのだ 77 00:05:55,820 --> 00:05:59,840 加えて、面をマスターさせてくれないということは プレイヤーは代わりにシステムをマスターする 78 00:05:59,840 --> 00:06:04,600 必要があるということだ プレイヤーはジャンプの 妙な慣性や、鞭の短い射程を理解しなければならない 79 00:06:04,600 --> 00:06:08,419 それぞれの敵が持つ特性を把握し、近づいた時に 何が起こるのかを予測できなければいけない 80 00:06:08,419 --> 00:06:12,160 またアイテムや隠し要素も覚えなければいけないし 81 00:06:12,160 --> 00:06:15,080 長時間生き残るための小技も必要になる 82 00:06:15,080 --> 00:06:20,240 Spelunkyが証明しているのは、アルゴリズムだから 無機質なステージになるとは限らないということだ 83 00:06:20,240 --> 00:06:25,069 デザインされた要素とランダム要素のバランスを 取ることで、遊んでいて達成感のある面を作れる 84 00:06:25,069 --> 00:06:31,020 そして面構成を学ぶ要素を排除することで 2回目のプレイも1000回目のプレイでも同じになるので 85 00:06:31,020 --> 00:06:35,590 このゲームはその背後にあるシステムを学び 注意して状況を読み取った上で 86 00:06:35,590 --> 00:06:38,970 困難な決断をすることを奨励しているのだ 87 00:06:40,380 --> 00:06:42,080 視聴してくれてありがとう! 88 00:06:42,080 --> 00:06:45,780 Spelunkyは僕が最高に好きなゲームの1つだ だからこのゲームを名作にしている要素を 89 00:06:45,780 --> 00:06:48,440 一部分だけでも分析できるのはとても喜ばしいことだ 90 00:06:48,440 --> 00:06:52,539 そのうち他の要素も扱うことになると思う エマージェントなゲームプレイや驚愕の隠し要素とか 91 00:06:52,539 --> 00:06:54,539 将来のエピソードでやるつもりだ 92 00:06:54,539 --> 00:06:57,819 この番組を支援してくれるなら、新しいエピソードを 直接表示できるようにチャンネル登録をよろしく 93 00:06:57,819 --> 00:07:02,970 Patreonでエピソード単位でいくらかの資金を 援助してくれてもいい 94 00:07:02,970 --> 00:07:04,910 ここに表示する登録者たちがしているようにね