MILK編集部モノづくりのヒントになるような記事をお届けします。近年ではプログラミングをゲーム風に楽しく学べるサービスが増えていますが、中には「ゲームっぽい」だけでフタを開けてみたらただのプログラミング講座だった...というものも多いです。コードを書く部分はただのプログラミング講座にはなってしまうのですが、いわゆるゲーミフィケーションとよばれる報酬制度や世界観の演出は大事です。そこで今回はゲーム好きな筆者が試して、実際記事執筆を忘れて遊んでしまいそうになったサービスを厳選してご紹介します。海外のものも多く、ローカライズされているものを極力選びましたが、されていないものも、頑張れば読める程度の英語のものに絞っています。CODECOMBAT言語:Python、JavaScript、CoffeeScript、Luaキャラを選んでダンジョンを進める、本格的なブラウザゲーム風の学習サービスです。キャラをコードで動かしてミッション達成を目指します。一応日本語化されてはいますが、クオリティは怪しいです。Adventures題材:vimエンジニアに愛用される高機能エディタvimの操作を覚えるためのゲームです。黒い点滅が自分の操作するキャラクタなのですが、開始早々十字キーを押すと、「h」「j」「k」「l」を使って動かせと怒られる徹底っぷりです。独特なvimの操作を覚えるには最適です。自キャラを実際のカーソルになぞらえているので、ワード単位でカーソルを動かしたり、文末のカーソルを縦移動した時の挙動などを駆使しないと進めない構造になっていて非常にユニークです。Saga言語:JavaScriptエレベーターを制御して、制限時間内に規定の人数を希望のフロアに運び届けるというゲームです。地味なゲーム画面ですが、コンセプトが明確でわかりやすく、面白いです。エレベーターの台数や階数が増えるに連れて難しくなっていきますが、色々と試行錯誤しながら試してみたくなります。Diner言語:CSS左上の目的文にしたがってCSSを指定していきます。/>にスタイルを指定するつもりでセレクタを指定します。正しい場合アニメーションが再生され、次の問題にうつります。code言語:JavaScript自分のロボットを予めプログラミングしておき、他のユーザーのロボットと戦わせることのできるゲームです。弾に当たった時にどういった挙動をするのかなどを決めておくなど、戦略を練ってプログラミングするのが楽しいゲームです。RubyWarrior言語:Ruby戦士をコードで動かしていきます。基本一本道でゴールを目指しますが、ステージが進むと色々な仕掛けが増えていき、悩まされます。初心者にはちょうどいい難易度でおすすめです。コード・ガールこれくしょん言語:PHP、Rubyいわゆる日本のソーシャルカードゲーム風の学習サービスです。「探索」でコードを問いてアイテムやポイントを貯め、ガチャでキャラをコレクションしていきます。早く問題を問いてコンボを繋げたり、ゲーム要素が強いです。Studio言語:複数Blockyというシステムを使って初心者でもわかりやすく、命令ブロックを組み立ててプログラミングの仕組みや概念を学ぶことが出来ます。Wars、アナと雪の女王などとのコラボもあって、子供向けではありますが、もちろん初心者の大人でも楽しく勉強できます。Monkeyこちらもキャラクターに命令を出してミッションを達成していくタイプのゲームです。まとめ多くのプログラミング学習ゲームはキャラを動かしながら命令を書いていくタイプですが、vimのゲームなどはかなり移植で、とっつきづらいvimの操作を覚えるにはいいですね(厳密にはプログラミングではないですが...)。後半のふたつなどはお子さんにもおすすめなものなので、ぜひ試してみてください。MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。