どうも、まさとらん(@0310lan)です!
現在、GitHub上には「便利ツール」や「各種フレームワーク」など、多彩なファイルが存在しています。
なかでも、非常にユニークなアイデアで作られた「名作ゲーム」の数々は、遊んでも楽しいし、ソースコードを読むことで学習にも利用できるという、まさに一石二鳥の存在です。
そこで今回は、人気が高くて「時間泥棒」確定の…隠れた名作ゲーム(無料)をピックアップしてご紹介しようと思います!
(※PCブラウザでゲームが楽しめます)
1人用のテトリスで、「2人同時対戦」を可能にするゲーム!
【 Custom Tetris 】パッと見ると、ごく普通のテトリスに見えますが、最大の特徴は「2人同時対戦」を実現している点でしょう。
実は、上から落ちてくるブロックは、別の人間が好きなモノを指定できるという仕掛けがされています。
つまり、テトリスを普通にプレイする側と、好きなブロックを指定する側に別れるわけですね。
ブロックを指定する側は、きれいに積むことが出来ないようなブロックをわざと選び、テトリスをプレイする側はどんなブロックが来ても上手く積んでいかなければいけません。
マウスとキーボードを使うので、1台のPCで2人同時に遊べるようになっており、最速・最軽量のJSフレームワーク「vanilla JS」で作られているので動作もキビキビしています。
<GitHubのソースコードはコチラ>
【 https://github.com/ondras/custom-tetris 】
中毒者続出で、アプリ化も実現された名作「数字パズル」!
【 2048 】すでにご存知の方も多いかと思います。
上下左右にパネルを動かしながら数字を加算していき、「2048」になるまで繰り返すことができるか?というゲームですね。
隣り合う同じ数字は加算できるので、例えば「2」と「2」であれば、上方向へ動かすことで加算されて「4」になります。
この加算を繰り返すことで、数字はどんどん増えていくわけですが、別の数字が新たに出現するので、上手く動かさないとすぐにパネルが数字で埋まってしまい「ゲームオーバー」になってしまうわけです。
このゲームのロジックは、ソースコードを実際に見ながら勉強すると、いろいろ参考にもなりますよ。
<GitHubのソースコードはコチラ>
【 https://github.com/gabrielecirulli/2048 】
特殊なブロックに「変身」しながら進む頭脳派アクション!
【 Trans Cube 】とても丁寧に作り込まれた、パズル系アクションゲームがコチラ!
回数制限のある特殊ブロックを選択すると、任意のタイミングで変身することができます。
この「変身」を上手く使い分けて、仕掛けられた謎を解きながらゴールを目指すゲームになっています。
固いブロックに変身して階段を作ったり、軽いブロックに変身して道を作ったりなど…、なかなか創造性を掻き立てられるゲームかと思います。
<GitHubのソースコードはコチラ>
【 https://github.com/jeroenverfallie/ggo13-transcube 】
「同じ動き」をするボールを、使い分けて操作するシンプルゲー!
【 Swap 】まさに、シンプルゲームの決定版と言って間違いないのがコチラ!
青いボールを操作して「緑のマス」へ進めるだけなのですが、青いボールが1つだけじゃないのがミソ。
複数の青いボールには、プレイヤーと「同じ動き」をするものがあり、そのまま移動すると赤いブロックにぶつかり「ゲームオーバー」になります。
そこで、スペースキーでボールが切り替えられるようになっており、それぞれのボールが赤い壁に当たらないように上手く操作する必要があります。
この「切り替える」という操作が、意外に斬新であり…難しい部分でもあります。
ちなみに、GitHubのソースコードを見ての通り、かなりシンプルなJSで作られているので、ゲーム作りをこれから始める人の教科書としても活用できそうです。
<GitHubのソースコードはコチラ>
【 https://github.com/nmoroze/swap 】
「Processing.js」で表現された3D空間を突き進むゲーム!
【 PolyBranch 】グラフィック描画やアニメーションなどに強いとされる「Processing.js」を使った、ユニークなゲームがコチラ!
画像では分かりにくいですが、3Dで表現された「木の枝」が奥の方から次々と出現するので、それを上手く避けながら進んでいくのがゲームの基本となっています。
俗に言う「避けゲー」なわけですが、実際にプレイしてみるとProcessingを勉強してみようかなぁという気にさせてくれる威力があります。
立体的に見えるステージ構成が面白くて、ついついどんなコーディングになっているのか…ソースを見ながら勉強したくなります。
<GitHubのソースコードはコチラ>
【 https://github.com/gbatha/PolyBranch 】
WebGLで表現された「倉庫番」風の立体パズルゲーム!
【 Zoko 】パズルゲーム好きな方であれば、画面を見ただけで大体の内容が理解できるかもしれません。
かつて「倉庫番」というゲームがありましたが、内容はほぼ同じで指定された場所へ箱を移動させるというゲームです。
しかしながら、難易度はかなり高めに設定されているようで、2〜3面過ぎたくらいからいきなり「無理ゲー」に近くなってしまうので、パズルが苦手な人はスルーした方が良いかもしれません。
WebGLによる3Dのステージは、マウスで360度移動させることができます。また、CoffeScriptでコーディングされているのも特徴的です。
<GitHubのソースコードはコチラ>
【 https://github.com/lulea/game-off-2012 】
色鮮やかな「ライン」を操作する異色の「避けゲー」!
【 Avabranch 】見た目もシンプルな、縦スクロールの「避けゲー」です。
ただ、操作するキャラが「ライン」になっていて、アイテムを取ることで色の違うライン本数が増えていき、だんだんと色鮮やかなゲームに変化していきます。
また、単純にライン本数が増えるだけでなく、スペースキーを叩くことで複数人が同時プレイできる「マルチプレイモード」に切り替えられます。
操作は、上手くキーボードの配列に合わせてくれるので、1台のパソコンで白熱の戦いを繰り広げられます。
上記の例でいくと、赤ラインは「A」が左移動で、「S」が右移動になります。左右の移動だけで、迫ってくるブロックを上手く避けながら進んでいくのが醍醐味です。
<GitHubのソースコードはコチラ>
【 https://github.com/Zolmeister/avabranch 】
「赤」と「青」のキャラを使い分けてゴールを目指せ!
【 Hyperspace Garbage Collection 】空中を浮遊するキャラを移動させながら、ゴールを目指すスクロール型のアクションゲームがコチラ!
スペースキーで、「赤」と「青」のキャラを使い分けることができ、同じ色の「光線」や「ブロック」を弾くことができるようになっています。
その能力を活かしながら、ゴールの扉を開ける「カギ」となる箇所へブロックを誘導するのが難しいポイントになっています。
ステージ数が少ないので、慣れると全面クリアはすぐに可能かと思います。
ソースコードを見ると分かりますが、RequireJSを活用して作られているので、モジュール化などによるJSの分割を学習されている方は勉強になります。
<GitHubのソースコードはコチラ>
【 https://github.com/razh/game-off-2013 】
自分の「クローン」を生成して、敵を騙すゲーム!
【 Clone Man 】シンプルな「ステルス系」のゲームで、いかにして敵を騙してゴールに辿り着けるか?が醍醐味となっています。
面白いのは、スペースキーを叩くことで自分の「クローン」を生成することができる点です。
これを活用して、わざと敵に見えるようにクローンを走らせてから、敵がいなくなった通路を通ってゴールを目指すことができるわけです。
ソースコードを見ると、今ではちょっと懐かしいAction Scriptで書かれているようで、Flashゲームを勉強している方には良いかもしれません。
<GitHubのソースコードはコチラ>
【 https://github.com/adhicl/game-off-2012 】
円形になった「テトリス」風の斬新な、パズルゲーム!
【 Hextris 】六角形の台が回転することで、周囲から迫ってくるブロックを積み上げていく斬新なゲームがコチラ!
6方向から迫ってくるブロックが、かなり緊迫感を与えてくれるのがミソで、2〜3つ同時に迫ってくる場合もあるのでブロックの配置をよく考える必要があります。
基本的に、縦か横方向に3つ以上積むとブロックが消えるようになっています。
これにより、連鎖で消すことも可能になっているので、かなり奥深いゲームに仕上がっています。
個人的には、このゲームが一番ハマってしまいました。
ちなみに、スマホアプリにもなっているようなので、いつでも遊びたい方はダウンロードすることをオススメします。(iOS版/Android版)
<GitHubのソースコードはコチラ>
【 https://github.com/Hextris/hextris 】
おまけ
今回ご紹介したゲームは、すべて「GitHub」のリンクページからすぐに遊べるようになっています。PCブラウザ推奨ですが、なかにはスマホのブラウザでも動くモノがあります。(Hextrisなど…)
仕事の合間にやると、なかなか抜け出せなくなるので注意しておきましょう!
まとめ
GitHubでは、今回ご紹介したような名作ゲームの他にも、多数の優れたコードを紹介する専用ページもあります。そもそも、バージョン管理で利用されている方が多いと思いますが、時間がある時にでも「金の卵」を発掘するような感じで、優れたプログラムを発見するのも面白いでしょう。
ぜひ、みなさんも隠れた名作を見つけてみてください!
written by まさとらん