世界で最も売れたインディーズゲームとも呼ばれる「Minecraft」をご存じですか? 有名でプレイヤーも多いゲームではあるが、遊んだことがない人も多いと思います。ITmedia NEWSでも米Microsoftが開発元のスウェーデンMojangを買収した頃から業界動向記事として取り上げてはいるが、内容やゲーム性にはあまり触れていませんでした。 しかし、このゲームはただの遊びと言うにはIT要素が多い。今回はMinecraftがいかにIT要素満載なゲームなのかを紹介します。

そもそもMinecraftってどんなゲーム?

Minecraftはサンドボックスというジャンルのゲーム。始めると森や山、村などがある自然豊かな「ワールド」が生成される。地球の表面積の約7倍にも及ぶワールドに放り出され、後は好きにすればいいという投げっぱなし具合です。 洞窟で鉱物を掘削(mine)するもよし、森を切り開いて建物を建てる(craft)もよし、近場のダンジョンを攻めるもよし、動植物を育てるもよし……。大学生が有り余る時間を全てMinecraftにつぎ込むほどにのめり込んでいる例をよく見ます。 自由度が高いため、逆に何をすればいいのか分からないという意見もあるが、エリアボスやラスボスも用意されているため、オープンワールドRPGとして遊ぶこともできます。

Minecraftはメタバース ゲーム内で人生を歩む「サバイバル」

Minecraftには大きく分けて「サバイバル」と「クリエイティブ」という2つのモードがあります。サバイバルモードは、放り出された世界で資材や食料を集めてサバイバル生活を送るゲームです。 木を切り倒してこだわりの一軒家を作り、羊を育てて羊毛や肉をとり、村人や他のプレイヤーと交流する。夜になると襲ってくるゾンビやスケルトンをあしらい、たまに遠出してレアアイテムを集める――そんな生活を満足がいくまで続ける。任天堂の「あつまれ どうぶつの森」をイメージすると分かりやすいです。 最近は一種のバズワードとして乱用されている感もあるメタバースですが、Minecraft内での生活にメタバースらしさを感じます。ただの3D空間でもなく、イベント開催時にたまに立ち寄る場所でもない。Minecraft内には自分の家があり、食事や睡眠も必要。ちゃんと生活できるのだ。ワールドはオンライン上で公開できるため、世界中の人と同じワールドで暮らすこともできます。

Minecraftは電子工作 限られたブロックでCPUを組む

ここまではゲームらしい遊び方でしたが、MinecraftのIT要素はこの程度ではありません。Minecraftの最も特殊な要素の一つが「レッドストーン回路」です。「レッドストーン」という赤い鉱石を使って地面に線を書くと電子回路の配線になる。ボタンやレバーなどの入力装置や各種センサー、ライトやピストンなど出力装置もあります。 一般的には、自動作物収穫機など自動化の仕組みを作る人が多く、オートメーションの概念も多少学べます。 レッドストーン回路は論理演算が可能なので、ワールド内にCPUや疑似量子ビット計算機を構築する人もいます。電子工作の“縛りプレイ”としても面白い上、同じ仕組みを持つ回路をいかに省スペースで実装するかに挑戦するやりこみ要素が楽しい。

Minecraftはプログラミング教材 JavaScriptでゲームを制御

Minecraftはプログラミング教育の教材にもなります。コードでキャラクターやブロックを操作できるため、あそびながらプログラミングを学べるという寸法です。子供でも理解しやすいビジュアルプログラミングから、JavaScriptでのコーディングまでが可能。 プログラミング学習で挫折する理由には、プログラム言語を理解するのが難しい以外にも、プログラムを書いてやりたいことがないために勉強のモチベーションが上がらないという問題もあります。Minecraftなら「効率的に資材を集めてゲームを有利に進めたい」というニーズが、プログラミングを学ぶ動機になります。 また、プログラミングまでせずとも「コマンド」を使って遊ぶこともできる。Excelの関数と似たシンプルなコマンドで「一瞬にして周囲を平地にする」「隠しアイテムを入手する」「ダンジョンの場所を探してテレポートする」といった操作ができて便利です。遊び方によってはチート行為として禁止されることもあるが、建築などでは当たり前のように使われる。Minecraftでコマンドを使って遊ぶ子供なら、Excelの関数も似たイメージですぐになじめそうです。

マインクラフトでプログラミングを学ぶメリット

通常、マインクラフト単体ではプログラミングを学習することはできませんが、MODを活用することでプログラミングをできるようになります。
◆遊びの延長として学べる
本格的なプログラミングは難易度が高いですが、マインクラフトでは、ゲームを通じて楽しみながら取り組めます。 実際にMODを活用すれば、使わないときよりもマインクラフトを効率的にやり込むことができます。 まずは、MODなしでプレイしてみて、マインクラフト自体を楽しいと思えてきたら、応用としてMODを使用して、プログラミングに挑戦してみると良いでしょう。
◆さまざまな能力が身に付けられる
マインクラフトに触れることで、創造力やプログラミング的思考を養えます。 基本的にマインクラフトのMODはできること(選択肢)が増えるものであり、何か建造物を作るためには完成形をイメージしなければなりません。 「どのようなものを作るか」を考えることで、創造力を鍛えることができ、プログラミングをする際は、正しく順序立ててプログラムを組む必要があるので、プログラミング的思考を身に付けることも可能です。 一般的には、プログラミング的思考が身に付けば、物事を段取り良く進められるため日常生活でも活かすことができると言われています。
◆ゲーム内で建築物などを効率的に作成することができる
マインクラフトは様々な遊び方がありますが、やはり醍醐味はブロックを積んで好きな建物を作ることでしょう。なかには芸術的な作品として人気がある建物もあります。 マインクラフトでは、ブロックなどをひとつひとつ手動で置いて建造物など様々なものを作ることができますが、大型のものを作りたい時や、多数のものを作りたいときには、プログラミングを行うことでブロックを自動で配置できるようになり、簡単に建造物を作ることができるようになります。 進め方を工夫することで、自分のイメージ通りのものを効率的に作れる力が身に付けられるでしょう。
◆プログラミング言語を学べる
MODを作成するためには、そもそもプログラミング言語が必要です。 もっとマインクラフト上で建造物などを作り込みたいと思った場合、自分でMODを作る必要があり、以下のプログラミング言語を使って開発をおこなう必要があります。
  • Java
  • Python
  • Ruby
  • Lua
以下では、それぞれどのようなプログラミング言語であるか、簡単に紹介します。
【Java】
Javaは世界中で広く使われているプログラミング言語の一つです。 さまざまなプラットフォームに対応している汎用性の高さが特徴であり、Webやスマートフォンのアプリケーション、業務システムなど多くの現場で活用されています。
【Python】
Pythonは比較的初心者向けといわれるプログラミング言語であり、文法がシンプルな点が特徴です。 主にソフトウェアやWebサイトなどに使われており、とくに近年では人工知能であるAI開発の分野で注目されています。
【Ruby】
Rubyは、日本で生まれたプログラミング言語であり、自由度が高いのが特徴です。 日本語で解説されている参考サイトが多いということで、英語が苦手な方や初心者の方に向いています。 さらに、便利なフレームワークである「Ruby on Rails」を使って、効率的にアプリ開発をおこなえる点も特徴です。
【Lua】
Luaは処理速度が速いプログラミング言語で、ゲーム業界をメインとして使われています。 ほかのアプリケーションに組み込む形で使用されることが多く、例えば、C言語で開発をおこなった一部分をLuaに差し替えることが可能です。

まとめ

マインクラフトは、ブロックを積んで建物を作る、単純なゲームと思われがちですが、非常に自由度が高く、工夫次第で楽しみかたが無限に広がる、奥が深いゲームです。子どもから大人まで楽しめるため、世界的に人気があります。 マインクラフトを使えば、気軽にプログラミングに触れるきっかけを作ることができますのでやったことがない方は是非遊んでみてはいかがでしょうか。

株式会社ノードコミュニケーション 寺田永史