WWNトップ » プログラマー経営学

プログラマー経営学

プログラマー経営学

Minecraftとプログラミング教育、サンタクロース、そして2020年

2014.12.26


 一部の中学生の間でMinecraft(マインクラフト)というゲームが流行しているらしい、と聞いて私は耳を疑いました。


 Minecraftは決して新しいゲームではなく、2009年から開発されているゲームで、私もなんどか遊んだことがありますが何が面白いのかいまいちわからないままやめてしまった経験があります。


 会社でその話を振ると、一人の社員が「あ、ウチの息子やってますよ」と言います。


 「毎週末、友達と家に集まって、"パパ、サーバー立ててよ"と言うんです。たまにMOD入れてくれとか頼まれたりしますね」


 なんと、21世紀はパパとキャッチボールするのではなくパパにサーバを立てさせて友達とパソコンで遊ぶ時代なのか!

 すると会社と関係のない他の知人の息子さんも、Minecraftにハマっているといいます。学校ではMinecraft派とモンスターハンター派に別れるほどの人気なのだとか。Facebookでこの疑問を投げかけたところ、「うちもやってます」「うちの娘もやってます」「僕もはまりました」という声が多数寄せられて仰天しました。

 そこまでの魅力がなぜMinecraftにあるのか、私にはどうしてもわからなくて、もう一度腰を据えてMinecraftをやってみることにしました。



スクリーンショット 2014-12-05 12.01.21.png

 MinecraftにはPC/Macで動作するフル版と、iPhone/iPad/Androidで動作するPocket Editionがあり、最初はPocket Editionで遊んでみることにしました。


 すると、以前遊んでみたときには存在してなかった「Survival mode(サバイバルモード)」というのが追加されていて、どうもこれが面白いらしい、ということがわかりました。


 まず、プレイヤーはいきなり何もない場所に放り出されます。
 そこにはたいてい木と、水と、山がありますが、それ以外なにもありません。


 とりあえず歩いているとだんだん夜がふけてきて、どこからともなく現れたモンスターに殺されます。
 なんじゃこりゃ


 説明もへったくれもありません。しかも全部英語です。


 「こんなん、どうやって日本の中学生が遊ぶんだ?」


 と疑問に思いましたが気を取り直してまずは攻略サイトを見てみることにしました。


 攻略サイトによると、最初の一日目の夜をいかに乗り越えるのか、ということが肝心なようです。
 まず、木を見つけたら、木の幹を殴ります。殴るにはマウスを長押しします。


 すると、画面の右側から四角い棒のような手が伸びて、木の幹を繰り返し殴ります。
 しばらく殴るとポンっと木が割れて小さな立方体をした切り株みたいなものがうまれます。これが「木」のブロックです。

スクリーンショット 2014-12-26 7.41.37.png


 Minecraftでは全ての世界がブロックで構成されており、基本的にほぼ全てのブロックは破壊することが可能です。


 このゲームはまず環境を破壊し、次に環境を構築することによって自分の意志を示していきます。
 その第一歩が木の破壊というわけです。


 この、「環境に作用して破壊する」という原理的な部分が、そもそもMinecraftの面白さの根幹を担っています。実際、小学生女子にやらせてみたら、木を切ったり土を掘ったりできる、ということだけで夢中になっていました。どうもこのあたりに第一の秘密がありそうです。


 木のブロックを沢山とったら、次に木から木材を作ります。

スクリーンショット 2014-12-26 7.46.03.png

 Eキーを押すと自分のアイテム一覧が表示されるので、「Crafting(工作)」というボックスに木を持っていくと、右側に「Acacia Wood Planks(アカシア材木)」が現れるので、そちらをとります。


 最初は意味がよくわかりませんが、一度意味がわかれば単純明快。今日びの運任せのアイテム合成をするゲームとは根本的に異なります。


 材木を作ったら、次に工作台を作ります。

スクリーンショット 2014-12-26 7.46.13.png

 工作台は、材木を4つ、正方形状に配置すると現れます。

 作った工作台は右クリックで世界に出現させることができます。

スクリーンショット 2014-12-26 7.46.18.png


 工作台を世界に配置し、工作台を右クリックすると、今度は「Crafting」が3×3の広さになります。
 そこで次に材木を縦に二つならべて木の棒を作り、木の棒を縦に二つ並べ、その上に材木を並べてピッケルを作ります。

スクリーンショット 2014-12-26 7.52.06.png

 ピッケルが作れたら、今度はピッケルで石を掘ります。
 石を素手で殴るより遥かに効率的に石がとれます。

 石を8つ集めたら、工作台に四角状にならべて、今度は釜を作ります。

スクリーンショット 2014-12-26 7.58.40.png

 釜に材木と原木を入れると、火が起きて木炭になります。

スクリーンショット 2014-12-26 7.57.05.png

 この木炭と木の棒を組み合わせると、たいまつになるのです。

スクリーンショット 2014-12-26 7.57.53.png


 たいまつがあれば、夜を過ごすことが出来ます。
 
 というのも、この世界では灯りのないところにモンスターがランダムに発生するからです。

 たいまつを作ったら、今度はその辺の山に横穴をあけて洞窟を作ります。
 平地しかなかったら、地面を掘って地下洞を作ってもいいです。


 洞窟の周辺と内部にたいまつを配置し、ようやく一安心です。

スクリーンショット 2014-12-26 8.02.58.png

 しかし、これでも夜はモンスターがやってきてしまいますので、材木に余裕があれば、2×3にならべるとドアをつくることができます。


スクリーンショット 2014-12-26 8.03.32.png

 こうしてドアを作って、入り口においておけばモンスターは入って来れません。

 洞窟とたいまつ。まるで人類の進化を一晩で経験するようです。


 このサバイバルモードを遊んでみて、ゲームデザインの秀逸さに思わず唸りました。
 いまどきのPS4のゲームのように遊び方を手取り足取り教えてくれるわけではないけれども、一度ルールが解ってしまえばいろいろな遊びを試してみたくなります。


 そして同時に、環境の破壊から始まり、自らにとって快適な、生存のための環境構築を自発的に促すという意味で優れたゲームデザインになっていると思います。


 実際、Minecraftを初めて遊んだ小学生を観察していると、彼女は自発的に「私が安心して夜を過ごすには洞窟が必要」と言い出し、山の土手っ腹を掘り始めました。


 たいまつを配置すると、「これで安心だけど、夜を無為に過ごすのもつまらないから、もっと山を掘って鉱物を探そう」と、もうひとつドアを作って掘り進みました。

スクリーンショット 2014-12-26 8.12.12.png

 上の図が小学生が初日に自分で作った家です。
 上の方に見えるドアは外界へ、左手に見えるドアは坑道へと続いています。


 夜が開けると、今度は「もっといい色の木材が欲しい」と冒険にでかけました。
 
 そのうち、「きちんとした家が欲しい」と掘った石を並べて洞窟ではない、住居を作り始めます。


 Minecraftは自分を変化させるのではなく、環境を変化させるゲームです。
 ここが旧来のロールプレイングゲームとは大きく違います。


 PC/Mac版にはいちおう経験値の概念がありますが、レベルの概念はありません。経験値を貯めればそのまま強くなっていくのではなく、実際にこの世界でサバイバルを経験することによって自分自身が賢くなっていくのです。


 このように、Minecraftは人間の創造性を引き出すようにデザインされています。非常に見事だと思いました。


 ゲームを進めていくと、ある程度の作業を自動化したりする、魔石レッドストーンを用いてレッドストーン回路と呼ばれる自動化装置を組み立てることが出来ます。

スクリーンショット 2014-12-26 8.21.38.png


 これはもうプログラミングそのものです。
 ある作用の連鎖作用によって目的を自動的に達成するわけですから、これがプログラミングでないわけがありません。


 他にも、モンスターを勝手にやっつけてアイテムを自動的に蓄積するトラップタワーというテクニックもあります。


 これは教育的効果から考えても、非常に興味深いものです。



 さらに、Minecraftには多くのMOD(拡張モジュール)があり、そのうち一つでは、Scratchというビジュアルプログラミング言語を使ってMinecraftの世界に干渉できるというものがあります。これは素晴らしいものです。


 プログラミング教育の課題のひとつは、「なんのために教えるか」ということと、「子ども達はなんのために学ぶか」ということの両面が重要です。
 

 Scratchだけによる教育は、親や教える側の「教えたい、学ばせたい」という欲求を満たすために半ば行われているので、子ども達はある意味で受け身です。それでも他の習い事よりはよほど積極的にやると思います。しかし、Minecraftは子ども達が自発的に「やりたい、もっとこうしたい」という内なる欲求からどんどん追求していくものです。Scratchが学校の図工の授業とすれば、Minecraftはミニ四駆のようなものです。とにかく自分から、自発的にどんどん突き詰めて行くのです。


 ただ遊ぶだけでも充分な創造性を引き出されるようになっていて、そしてレッドストーン回路のような、原始的なプログラミングに繋がっています。


 そこにさらにScratchのように入門しやすいプログラミング言語で、さらに高度な作用を覚えさせることができるのであれば、そこがプログラミングへの本格的な入り口になるでしょう。MinecraftとScratchの融合はもっと積極的に勧めて欲しいと思います。


 enchant.jsとMOONBlockの開発者、高橋諒は子どもの頃、MinecraftのMODをJavaでプログラミングして遊んでいたそうです。彼は現在23歳ですから、Minecraftの発表当時はまだ高校生です。

 では私は英語でも日本語でもない、プログラミング言語を第二の母語として習得できたのはなぜなのか、ちょうど同時期に私はBASICというプログラミング言語を勉強していました。これは、もう抜群に解りやすいのです。


 なぜ解りやすいかと言うと、言語体系が非常に限定的だと言うことです。


 それは命令数が少ない、ということでもあります。
 基本的な命令は5種類くらい、特殊な命令を含めても500くらいでほぼ全ての単語になります。英語やその他の言語で覚えなければならない単語の数を数え上げたらキリがありません。大学受験の時は1万語くらい暗記したでしょうか。


 英語の単語を丸暗記なんてことは、当のアメリカ人だってやってはいません。
 日本語の単語を丸暗記するみたいな勉強法も聞いたことがありません。英単語を効率的に覚えたいなら、詩や小説を読みながら辞書を引く方がよほど効率的です。だって日本語だってそうやって覚えるのだから。


 けれどもプログラミング言語、特にBASICは、覚えるべき単語が極端に少ないのです。文法もほとんどありません。
 一度覚えてしまえばたいていのことはできるようになります。そこが素晴らしいのです。


 そしてこれは今やたいていのプログラミング言語に言えます。
 入門書を一通りこなせば、たいていのことができる素地が得られます。


 ただし、「たいていのこと」の内容は、プログラミング言語自体の制約を受けます。
 BASICをマスターしても、iOSのアプリは作れませんし、Webサービスも無理です。


 Scratchも同じです。
 Scratchをマスターしても、iOSのアプリは作れませんし、Webサービスも無理です。それどころか就職にも全く役立ちません。


 Scratchをマスターして得られるのは、「プログラミングとはこういうものだ」という勘だけです。
 ですから、Scratchをマスターしてから他のプログラミング言語を習得すれば、いきなり普通のプログラミング言語を習得するよりも効率的かもしれない、という期待はあります。


 BASICが流行した当時は、プロもアマチュアもBASICを使っていました。私の父もプロのエンジニアとしてBASICでプログラミングすることを生業にしていました。


 しかしその後、プロが使う言語はどんどん細分化されていきました。
 今や無数のプログラミング言語があり、無数の思想があります。


 どれを最初に学ぶべきか、よく聞かれます。
 私の答えは決まっています。


 「自分が作りたいと思えるものが得意な言語から初めてはいかがですか?」


 たとえばWebサービスが作りたいならPHPかRuby、ゲームやアプリが作りたいならJavaScriptかUnity(とC#)、といった具合にです。


 「しかし特に作りたいものはないけれども、プログラミングがどういうものか知っておきたいのです」


 と言われることがあります。
 そのとき私は、ならばScratchか、MOONBlockを勧めます。


 ビジュアル言語はプログラミングの本質を反映していて、なおかつ入門に際して些細なハードルが取っ払われているからです。


 些細なハードルとは、たとえばキーボードです。


 文科系の大学で授業をしているせいか、私は毎回毎回、彼らにキーボードの打ち方を教えるのに非常に苦労します。これは彼らのリテラシーが低いのでは決してなく、電通でプログラミングの研修をしたときも、優秀であるはずの電通マンがキーボードの打ち方で苦戦していました。


 なぜなら、プログラマーが打つキーボードと、それ以外の人が打つキーボードでは使い方が全く異なるからです。


 次に括弧などの記号が問題になりました。
 その次は,と.や"と'と`の違いなどです。これが一目でなんのことだか解らない人には、悪いことは言わないからまずはビジュアル言語で学びましょうと勧めます。


 プログラミングはとても楽しい行為です。
 自分の思い通りにプログラムが動く様は感動的です。


 しかし、その遥か手前にこのキーボードや記号の認識といった問題があり、これをミスっただけできちんと動いてくれません。


 その時点で多くの人が挫折してしまいます。


 ビジュアル言語はそうした挫折を経験させないという一点で、他のどんな言語よりも優れています。


 プログラミング言語の進化としてのビジュアル化は、まだ始まったばかりです。
 実際、このアイデアそのものは遥か以前からあったものの、それを手軽に実行できる環境がなかなか揃いませんでした。


 2020年まであと5年です。
 たった5年しかありません。


 ここをひとつの節目と考えると、今の10歳が15歳に、15歳が20歳に、25歳が30歳になるわけです。
 携帯電話を始めとするハイテク製品の購買層は15〜30歳ですから、私たちはこの世代を中心に研究しなければなりません。


 たとえば今の25歳女性は小学生の時にMDプレイヤーを購入し、ゲームボーイでポケモンを体験し、コンパクトデジカメ、ガラケー、NintendoDS、スマートフォン、そして大学入学と同時にPCを購入しています。


 ところが今の10歳女児は小学校低学年の頃に親からSIM抜きのiPhoneをお下がりされ、サンタクロースにiPod touchを頼んでいるのです。


 子ども達がサンタクロースに何を頼んでいるか、という視点は未来を予測する上で極めて重要です。


 ふと、11歳児に「サンタさんには何をお願いしたの?」と聞くと、「メールアドレス」という答えが返って来ました。


 メールアドレス!!


 なぜ、どうしてそんなものが欲しいのか、と聞くと、「たいていのWebサービスはメールアドレスがないと入会できないから」と答えました。


 それで思ったのです。そういえば私も中学生の頃はクレジットカードが欲しかったと。


 なぜクレジットカードが欲しいかと言えば、それがなければNifty-serveなどの商用パソコン通信サービスに入ることができなかったからです。


 つまり今の小学生にとってメールアドレスは「未知への扉」を開けるための鍵なのです。

 
 一方、小学校ではスマートフォンを禁止する学校も増えてきました。
 禁止されるということは、逆に言えば、それがもの凄く流行っているということです。


 実際、彼らがスマートフォンで何をしているかというと、LINEやYoutubeを見ているだけなのだそうです。
 メールアドレスがないとニコニコ動画を見ることが出来ないので、Youtubeに人気が集まるのだそうです。


 Youtubeが小学生に流行ってしまった時代というのは、我々日本人が次に迎えるのは多チャンネル時代だということです。アメリカのように、価値観が多様化し、無数の文化が産まれる可能性があります。


 私自身、なにか新しいこと、知りたいことがあるとYoutubeを探すことが多くなってきました。
 本を読むよりもYoutubeにアップロードされた動画をみるほうがずっと簡単でわかりやすいケースが多いのです。


 Minecraftも、最初は日本の子ども達はこれでどうやって遊んでるんだ?と思っていたのですが、主にYoutubeで遊び方を覚えているようです。


 もう学び方も、学ばせ方も大きく違います。

 5年後には、今Minecraftに熱中している子ども達が二十歳になります。
 彼らは次に何を求めるでしょう。


 それはどんなものなのでしょうか。
 何より彼らが学校の勉強ではなく、Minecraftで潜在的に学び取ったことをどのように花開かせるでしょう。


 その萌芽が5年後に芽生えます。


 想像してみるだけでワクワクしてきませんか?


清水 亮(しみず・りょう)
1976年新潟県長岡市うまれ。6歳の頃からプログラミングを始め、16歳で3DCGライブラリを開発、以後、リアルタイム3DCG技術者としてのキャリアを歩むが、21歳より米MicrosoftにてDirectXの仕事に携わった後、99年、ドワンゴで携帯電話事業を立上げる。'03年より独立し、現職。'05年独立行政法人IPAより天才プログラマーとして認定される。

関連タグ

バックナンバー記事一覧