CODE COMBATは、全世界で500万人以上がプレイした実績のある、RPGで遊びながらPythonなどスクリプト系言語のコーディング演習を行うことができるブラウザゲームサイトです。
あるステージをクリアすることで次のステージに進めるようになる面クリア方式となっており、まさにゲームをプレイしている感覚で無理なくプログラミングを学んでいくことができます。
例えばステージ1では、「メソッド」「パラメータ」「文字列」「ループ」「変数」がテーマとなっており、それらを習得することで次のステージに進めるようになるという寸法です。
最初はキャラクターを単純に動かすことから始まり、徐々にメソッドやパラメータ、ループや変数などの概念を組み入れることでRPGの複雑な動きを実現していくので、ともすれば飽きやすいコーディング演習を楽しく続けられるサイトとなっています。
目次
サイトURL | https://codecombat.com/ |
---|---|
対応する言語やスキル | Python、JavaScript、CoffeeScript、Lua |
利用料金 | 基本無料(一部機能は月額9.99ドルの有料会員限定) |
教材タイプ | ブラウザ入力 |
対応レベル | プログラミング初級者?中級者 |
備考 | 日本語対応 |
これまでご紹介したビジュアルプログラミング言語で何かを作成するものとは異なり、CODE COMBATは移動するにも攻撃するにも動きをコーディングする必要があるRPGです。そう聞くとプログラミングに初めて触れる方には難しそうにも思えますが、CODE COMBATは完全なフリー入力ではなく、いくつか表示される解答例の中から正しいと思うものを1つ選んで、それを実際に打ち込んでみるというスタイルです。
さらにコード例をクリックするとそのコードの解説ウィンドウが表示されるので、コードに関する予備知識が全くない状態からでもゲームの中だけで学んでいくことが可能となっています。
デフォルトで設定されている言語は「Python」ですが、それ以外に「JavaScript」やJavaScriptを拡張したスクリプト言語である「CoffeeScript」の演習にも対応しているだけでなく、ゲーム制作に特化したスクリプト言語である「Lua」にも対応しています。
2017年3月現在、筆者が確認している日本語対応の無料プログラミング学習20サイトの中ではLua言語対応は唯一の存在であり、Luaを学びたい方には特におすすめのサイトとなっています。
CODE COMBATはトップページにある「今すぐプレイ」ボタンからユーザ登録なしで開始することもできますが、ゲームの進行状況を記録するにはアカウントの登録が必要です。
アカウントの登録を行う場合、画面上部メニューにある「アカウント登録」をクリックします。
するとアカウントには、「Teacher(先生)」「Student(学生)」「Individuals&Parents(個人&保護者)」の3種類があります。TeacherとStudentは所属する教室を立てて参加し、TeacherはStudentの進行管理などが行えます。
個人でプログラミングを学ぶ場合は、下にあるIndividuals&Parentsを選択します。
メールアドレスを登録するほかに、FacebookアカウントやGoogleアカウントとの連携でもログインが可能です。
ログインせずにCODE COMBATをスタートするには、トップページにある「今すぐプレイ」をクリックします。ログインしている場合は画面上部に「ゲームスタート」というボタンが出現するので、それをクリックすることでゲームが始まります。
トップページが自動で日本語表記になっていない場合は、右上のコンボボックスを「日本語」に変更すると表記が切り替わります。
なおゲームを始めたら音声が鳴りますので、周囲の状況にご注意下さい。
ゲームを始めたら、まずヒーロー(プレイヤーキャラクター)と学習したいプログラミング言語の選択を行います。
右下に7つ並んでいる真ん中にあるキャラクターが描かれているアイコンをクリックすると、選択画面が表示されます。
選択したキャラクターにより、パラメータや特徴が異なります。難易度イージーの4人までは、無料会員でも選択可能です。さらに有料会員登録を行うと、なぜか三国志に出てきそうな衣装の「ハットリ・ハンゾー」など、バラエティ豊かなキャラクターがヒーローとして選択できるようになるようです。
キャラクター選択から下にスクロールすると、使用するプログラミング言語の選択があります。デフォルトでは「Python」が指定されていますので、学びたい言語に変更して下さい。
設定が完了したら、「セーブ」をクリックして状態を保存します。
最初に開放されているステージは、キースガードのダンジョンです。先のステージはロックされており、クリアすることで次のステージが解放されるようになっています。
ダンジョンに入ると、順番に挑戦していくメインのクエストと、メインの進捗に合わせて解放される有料のサブクエストがあります。メインの最新クエストには旗が立っており、グレーの丸が未クリアのメインクエストです。青い炎のところはサブクエストとなっており、メインのクエストを進め、かつ有料会員登録するとプレイできるようになります。
それでは、メインを進めていきます。クエストをクリックすると簡単に演習の内容が表示されるので、ゲームスタートをクリックします。すると先ほど設定した内容でヒーローと使用する言語が表示されるので、特に変更がなければ「次へ」をクリックします。
ヒーローの装備画面が表示されるので、装備するアイテムを選択します。ゲームを進めていくと手に入る宝石で購入するなどで、装備できるアイテムはどんどん増えていきます。アイテムはパラメータを補強するだけでなく、使用できるコードが増えるものもゲームの進捗に合わせて手に入っていきます。
装備が完了したら、真ん中下の「ゲームスタート」ボタンをクリックで、いよいよ演習の始まりです。
ゲーム画面では、画面中央の「METHODS」に使用するコードが並んでいるので、それを参考に画面右のエリアにコーディングしていきます。意味の分からないコードがあったら、クリックすると説明が表示されます。
ちなみに入力エリアには、入力補助の機能もあります。
コーディングが終わったら、実行ボタンを押します。
目標をクリアすると完了ボタンが表示されるので、クリックするとリザルトが表示され、次のステージへ進めるようになります。
アカウント設定画面にあるメール設定の項目には、「求人:上手にプレイしてくれる場合、(更に良い)仕事を紹介するためにこちらから連絡を差し上げる場合があります。」というチェックがあります。
ここにチェックを入れて高スコアを出すと、企業からスカウトメールが届くかもしれません。
個人かつプログラム初心者らしき方がプレイした感想を中心に、CODE COMBATの口コミを集めてみました。
特に今プログラミングを学んで何かを行うことは考えていないので、どんなもんかを確かめる意味でpythonを選択。
感触としては、ゲームを好む人ならすぐに慣れると感じる。
実際にコードを入力してキャラクターを動かしていくので、反映されるコードがよくわかる。本格的にプログラミングを学ぶ人で、かつ文系人間にはうってつけだろう。
英語みたいなものだと思う。
(出典:地球外系女子?一人っ子の実情?)
実際、2年前、8歳でCode Combatに挑戦したときは、しばらくやった後行き詰まって止めてしまっていた。
Code Combatでは、RPGゲームのようにステージをクリアして、お金と経験値を貯め、武器や道具を買って、レベルアップして強くなっていく。ステージのクリアのためには、自分のキャラにプログラムで命令を与えて、目的を達成する必要がある。
今回は、2年前よりも遙かに先まで自力で進むことができていて、成長を感じさせる。ただし!
今夢中になっているのは、プログラミングそのものが面白いというよりは、キャラを強くしていきたい、というRPGならではの楽しみのためだ。
(出典:なおろぐ ?毎日、気楽に親子で英語?)
これらの感想からすると、CODE COMBATはゲームのプレイに熱中しているうちに演習もできてしまうという感じのようです。例えるなら、タイピング練習ソフトのようなイメージでしょうか。実際に割とゲーマーな筆者もかなり楽しくプレイできましたので、ゲーム好きの方には特におすすめかもしれません。
口コミにもあるように10歳の小学生でも夢中になれるCODE COMBATは、初めてプログラミングに触れる方でも躓くことなく親しめる内容となっています。
アルゴリズムを勉強したり作品を作りたいという場合はビジュアルプログラミング言語、ゲームのプレイを通して実践的なコード演習も行いたいという場合はCODE COMBATというように、お好みで使い分けてみてはいかがでしょうか。
INTERNOUS,inc. All rights reserved.