CodinGameのすすめ
みなさん初めまして!知能情報コース1回生の memories です!(コーディング課を自称しています)
RiG++ には秋学期から加入したため、まだあまりいろんな人と関われてないのですが、この記事を通して皆さんに覚えてもらえたらとってもうれしいです!
さて、今回私が紹介したいのは、「CodinGame」 というサイトと、 12月13日からそのサイトで開催される「FALL CHALLANGE 2022」についてです!
目次
CodinGameとは
ざっくりいうと、「ゲームのAIを作りながら、プログラミング及びアルゴリズムが学べる」サイトです。
無料です(←ココ大事)
「C#」「C++」「Python3」「Java」をはじめとした、約30種類のプログラミング言語が使用できるので、よほどマイナーな言語しか使えない人でない限り、新たに言語を学ぶ必要がないのがポイントです(このサイトを通じて、新たに言語を習得することもできます)。
たくさんの種類のコンテンツがあるほか、discordサーバーなど、プレイヤーたちを支えるコミュニティがとても充実しています。
全部紹介すると長くなるので、今回は COMPETE の BOT PROGRAMMING と、QUEST MAP の概要を説明します。
BOT PROGRAMMING について
「BOT PROGRAMMING」 では、与えられたゲームに関して、いい動きをするようなAIを作り、対戦をします。
対戦をできるゲームは、現時点で約80種類ほど用意されています。
各ゲームはリーグ制になっていて、同じリーグ内で1位をとることによって、次のリーグに進むことができます。
今回は、その例およびチュートリアルとして「hypersonic」に挑戦してみたいと思います。
ルールはほぼ「ボンバーマン」です(BOT PROGRAMMINGには、現存するゲームを真似たゲームがたくさんあります)。リーグが上がるにつれて難しくなっていきます。
https://www.codingame.com/multiplayer/bot-programming/hypersonic
hypersonicのリーグ構成は、Wood3→Wood2→Wood1→Bronze→Silver→Gold→Legendという順になっています。
具体的には、wood3とwood2リーグのルールと、どんなプログラムを組んだかについて書いていきます。
Wood3
- プレイヤーは爆発に巻き込まれない
- 箱をたくさん爆発させた方の勝ち
- 爆弾は9ターンで爆破する
- それぞれ、爆弾は同時に1個しか置けない
というルールでした。適当に箱のそばに誘導し、そこに爆弾を置いてあげるプログラムを組んで、1位を獲得できました。
Wood 2
新たに
- 箱を爆破させたときに、「爆破範囲を広げるアイテム」か「爆弾所持上限を増やすアイテム」
が登場するようになりました。(箱の中身は最初の時点でわかっています)
先ほど書いたプログラムを、できるだけアイテムをとるようにしながら移動するようにすることで、1位を獲得できました。
リーグを登っていくにつれて、ルールが本物のボンバーマンに近づいていきます(壊せないブロックが追加されたり、ボムで死んだりなど)。ちょっとずつ修正しながら、強いAIを作っていくと、愛情がわいてきて、非常に楽しいです!
QUEST MAP について
CodinGame にはたくさんのコンテンツがあり、何をすればいいのか迷ってしまうかもしれません。
ですが、以下の画像のような「QUEST MAP」というものを確認することで、「強くなるために次にやるべきこと」が簡単に確認できます。
カーソルを合わせてみると、お題がわかります。
FALL CHALLANGE 2022 について
私が今回メインで紹介したいのはこっちの方になります!
冒頭で述べた通り、 COMPETE 形式のイベントが 12月13日から1月6日まで開催されます。
自分で作ったAIを戦わせる形式のプログラミングコンテストは貴重なので、興味を持ったらぜひぜひ参加してみてほしいです!
https://www.codingame.com/contests/fall-challenge-2022
お題に関しては、コンテスト開始と同時に公開されます。
先ほど説明した BOT PROGRAMMING と同様に、WOOD→BRONZE→GOLD→LEGENDリーグの4リーグがあり、リーグ内で一番高いスコアをとることで、次のリーグに進むことができます。(LEGENDリーグは、期間内の中盤でオープンします)
問題文は英語なので、誤読でルールがわからなくなったりしてしまうこともあるかもしれませんが、心配いりません。
過去のイベントでは、問題文を、丁寧な日本語で翻訳してくださった方がいました。多分今回も翻訳してくれることでしょう。
さいごに
今現在、ゲーム制作に忙しいところだと思われますが、息抜きとして、勉強として、あるいは現実逃避としてこのサイトを活用してみるのはいかかでしょうか。
私は、空いた時間を見つけて積極的に FALL CHALLANGE 2022 に取り組もうと思っています。
コンテストが終了したら、友人同士で対戦することも可能なので、参加してくれる人が少しでも増えたらいいなぁと思ってます!良い年末年始を!!
明日の12月7日には、23さんによる「ゲームのサントラっていいよねの話」が予定されています。楽しみですね!