paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

自分でプログラミングした3Dロボットを動かす対戦ゲーム「Code Warriors」で遊んでみた!

f:id:paiza:20170516125220j:plain
どうも、まさとらん(@0310lan)です。

今回は、迫力満点の3Dロボット対戦ゲームで遊びながら、プログラミングも勉強できてしまう一石二鳥のサービスをご紹介しようと思います!

操作するロボットは、JavaScriptでプログラミングしないと動かないようになっているので、効率の良いプログラムを書けるかどうかも魅力の1つと言えるでしょう。

Code Warriors (Hakitzu Battles)

f:id:paiza:20170516125428j:plain
2017年5月現在、「Code Warriors」はiOS / Android対応のスマホ用アプリか、PCのブラウザからプレイできるWebアプリが用意されています。


スマホ用アプリを利用される場合は、以下のURLからインストールしましょう!
iOS版】【Android版

ブラウザから遊べるWebアプリを利用する場合は、公式サイトにアクセスして無料のユーザー登録を済ませておきましょう。


スマホ用アプリ・Webアプリでは、ゲームモードに若干の違いはありますが、基本的な内容は同じなので、自分の好きなプラットフォームを選択すればOKです!(Webアプリは、プログラムの読み込みに少し時間がかかります…)

■基本的な遊び方!

ゲームを起動することができたら、まずは簡単に遊んでみましょう!

トップ画面で、「SINGLE PLAYER」モードを選択します。
f:id:paiza:20170516125714j:plain


4つの難易度を選択できるので、最初は「Beginner」ランクから始めてみましょう。
f:id:paiza:20170516125851j:plain


複数のミッションが用意されているので、最初から順番にプレイしていきます!
f:id:paiza:20170516125900j:plain
チュートリアル用のミッションも用意されているので、初回はそちらを選択するのが良いでしょう。

■ゲームをプレイしてみよう!

それでは、実際にゲームをプレイしながら、さらに詳しく解説していきたいと思います!

まず最初に、対戦バトルを繰り広げるステージの紹介シーンが表示されます。
f:id:paiza:20170516125916j:plain


そのあとに表示されるのが、メインの「ゲーム画面」となります!
f:id:paiza:20170516125924j:plain
上空からステージを見下ろしたようなマップ画面になっており、青色が自分(プレイヤー)で、赤色が敵です。

目的は、この敵キャラクターを破壊することなのですが、右側の「コードエディタ」にプログラムを書かないとロボットは動いてくれません。


そこで、「Beginner」ランクでは簡単にプログラミングできるように、「ツールバー」を利用する方法が用意されています。
f:id:paiza:20170516125934j:plain
「移動」「自機の回転」「攻撃」…など、さまざまなアクションを簡単にプログラミングできるようになっています。


例えば、「移動アクション」を利用して、敵の前に移動させます。
f:id:paiza:20170516125943j:plain


さらに追加で「攻撃アクション」を選択しておけば、右側の「コードエディタ」にプログラムが生成されているのが分かります!
f:id:paiza:20170516125951j:plain
移動であれば「Move()」で、攻撃は「Smash()」…など、あらかじめロボットの動きを関数化しているわけです。


そして、「EXECUTE」ボタンを押せば、プログラムが実行されます!
f:id:paiza:20170516130000j:plain


すると、3Dビューに切り替わり、先ほどプログラミングした通りにロボットが動いてくれます。
f:id:paiza:20170516130008j:plain


しかし、このままだとミッションはクリアできません。
f:id:paiza:20170516130018j:plain
ミッションを成功させるには、単純にプログラミングを行えば良いわけではなく、効率の良い正しいプログラムを書く必要があるのです。

■効率の良いコードを書こう!

各ミッションには、必ず守らなければいけない「司令」が用意されています。

先ほどのミッションであれば、1ターンだけで全部の敵を全滅させる必要があったわけです。
f:id:paiza:20170516130035j:plain


そこで、もう一度マップをよく見ると、敵キャラクターが2体存在するのが分かります。
f:id:paiza:20170516130042j:plain
この2体を、1ターン内で全滅できるようなプログラムを考える必要があるというわけですね。


さらにユニークなのが、「AP(アクションポイント)」というパラメータが用意されている点です!
f:id:paiza:20170516130050j:plain
これは、プログラムが増えれば増えるほど減少していくポイントになっています。

つまり、少ないコード量で敵を全滅させるプログラムを作成しなければいけないというわけです。


そのため、先ほどは敵の前まで移動して攻撃しましたが、「遠距離攻撃」を使えばまったく移動せずに攻撃を行えます。
f:id:paiza:20170516130100j:plain
移動する処理が必要がないので、コード量も減ってスッキリします。


さらに、もう1体の敵を攻撃する方法ですが、2種類のパターンが考えられます!

1つ目は、前進してからロボットを90度回転させて、さらに前進して攻撃するケース。
f:id:paiza:20170516130111j:plain
この場合、「移動処理」+「回転処理」+「移動処理」と続くので、3つの処理が必要です。


2つ目は、ロボットから見て右方向に並行移動してから前進するケース。
f:id:paiza:20170516130120j:plain
この場合、ロボットは敵方向を見ている状態で移動できるため、「回転処理」が不要になります。

その結果、2つの処理で済むので、後者のプログラムが最適でしょう。


実行すると、ロボットは指示通りに「遠距離攻撃」を行い、
f:id:paiza:20170516130128j:plain


2体目の敵は、近接攻撃で破壊することができました!
f:id:paiza:20170516130137j:plain


そして、最終的にミッションは成功するというわけです!
f:id:paiza:20170516130144j:plain
このように、「Code Warriors」は各ミッション毎に与えられた指示を守りながら、いかに少ないコード量で敵を破壊できるかを考えるゲームと言えるでしょう。

■【おまけ】ゲームモードについて!

最後に、「Code Warriors」の特徴的な機能を少しだけご紹介しておきます。

これまで、プログラムを作成する際は「ツールバー」を利用していましたが、「Beginner」ランク以外の難易度になると、自分で直接コードを入力する必要があります!
f:id:paiza:20170516130200j:plain
スマホ用アプリの場合は、上記のように仮想キーボードが表示されて、そこから入力していきます。(Webアプリでは、普通にPCキーボードから入力できます)

この難易度になると、より一層プログラミングが楽しくなっていくので、ご興味のある方はぜひチャレンジしてみてください。


また、オンライン対戦機能も搭載しています!
f:id:paiza:20170516130210j:plain
「ユーザ名」などを使って、友人・知人とオンラインで対戦を楽しむことができるようになります。

自分が考えたプログラムがどこまで通用するのかを試すには、非常に最適なモードと言えるでしょう。

paizaでもプログラミング×異世界転生ファンタジーRPGロジックサマナー~閃光の召喚プログラマ』公開中!


突然迷い込んだ異世界。
そこではプログラミングコードが『詠唱魔法』だった――
コード詠唱で召喚獣を解放せよ!

ロジックサマナー~閃光の召喚プログラマ』は、さまざまな難易度の封印(※プログラミング問題)を解くことで進める異世界ファンタジーRPGです。

主人公はひょんなことから異世界に迷い込んだITエンジニア。異世界では、なんとプログラミングしたコードが召喚獣を呼び出すための詠唱魔法だった!?

召喚魔法(※プログラミング)が使える主人公は急に世界を救う伝説の召喚士として盛大に歓迎されてしまい……

あなたのプログラミングスキルを駆使しながら、世界に平和を取り戻しましょう!

ゲームはメインシナリオ以外にも、高難度問題の解答スコアを競うランキングモードがあり、世界中のプレイヤーとプログラミングスキル対決ができます。また、プレイスタイルに応じた称号システムやキャラクター・アイテムのコレクションなども可能!

ロジックサマナー~閃光の召喚プログラマ』のリリースを記念して、最大1万円分のAmazonギフト券が当たるリリース記念キャンペーンを実施します。
期間内にゲーム内のTweetボタンからハッシュタグ「#コード詠唱」を付けてツイートした方の中から、抽選で1名様に1万円分、50名様に500円分のAmazonギフト券をプレゼントいたします!

paiza.jp

■まとめ

実は、「Code Warriors」で操作するロボットは、パーツや武器を交換することでアップグレード出来るようになっています。

そのため、ロボットをどんどんカスタマイズしつつ、自分の考えたプログラムで思い通りに操ることで、かなり愛着が湧いてくるのも魅力の1つでしょう。

プログラミング初心者の方にもオススメなので、ぜひご興味ある方はトライしてみてください!

<参考>




paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数用意しております。

もちろん今回の記事で使用したJavaScriptやHTMLなど、言語ごとに基礎を学べる入門講座も好評公開中です!

↓詳しくはこちら
paiza.jp

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
paiza.jp
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza


プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編