作品紹介yuuこんにちは。記事の作成を担当するyuuです。Ichigojam班のチームの一つとして、私たちはゲームcosmicを作りました。Ichigojamは、ざっくり言えば15日間でゲームを作ってみようという企画です。今回の第1期製作期間は6/19~7/3になりました。cosmicを開発したチームは、gomasio、kakuo、kamasaki、kawamoto、moware、yasu、yuuの7人になります。cosmiccosmicは、ブロック崩しライクなシューティングゲームです。Javaによって開発されました。敵機が撃ってくる弾を弾き返し、逆に敵機を墜落させましょう。敵機を倒すとスコア(撃墜数)に加算されていきます。敵機を撃ち落とせずに、画面下部まで到達させてしまうと、下の赤いバーが減っていきます。これが無くなると、ゲームオーバーになってしまいます。ゲームオーバーにならないように敵機を撃ち落としていき、残りカウントが0になるとゲームクリアです。画面上部に仲間が現れて、アイテムを渡してくれます。仲間もたまにポカをやらかして、弱体化してしまうアイテムを渡すこともあります。うまく見極める必要があります。アイテムは、右から巨大化、縮小化、スピードアップ、スピードダウンです。上手にアイテムを使って、ゲームを有利に進めましょう。cosmicはここからダウンロードできます。開発記cosmicは7人のチームで、うち1人がドット絵を担当し、残りの6人がプログラマーを担当しました。6人中5人までが初めてのプログラミング言語によるゲーム開発ということで、その勉強と並行して進めていきました。開発の初めは、アイデア出しを行いました。その際、ブロック崩しとシューティングという案が出たので、これらをまとめたゲームを作ることになりました。ここで問題になるのが、6人のプログラマーの割り振りです。筆者はJavaゲーム開発の経験があったため、以下のような割り振りになりました。担当が各々のプログラムについて設計しました。して完成したプログラムをgitで管理し、監査の役割を負っている筆者はそれを見てコードレビューとともに指示を出していきました。この時点では各々のプログラム同士の連携は疎であり、ほぼ独立した開発になっています。開発初期は開発とともに勉強機関でもあったため、一般に進捗は芳しくはありませんでした。Javaを体系的に学習するのではなく、実際に書きながら必要になった内容を自習と、コードレビューにより教えるという形になったため、ゲーム開発に必要な知識を効率的に得られた模様です。開発中期コードレビューと指示によってやや慣れてきたメンバーは、それぞれ独自に仕様の完成と拡充に取り組みました。時間が取れなかったメンバーも、コードレビューを通して指示を出し、徐々に完成形が見え始めてきました。開発中期には完成形が見え始めてきたため、各自の担当との連携の指示が出るようになりました。なると、監査役だった筆者もプログラムに参加しました。レビューもかねて、各プログラムのリファクタリングを行いつつ、難しかった連携の例を出していきました。これにはgitのブランチという機能が使われています。この時期にドット絵が上がってきて、一気にゲームらしさが増しました。開発最終日にはできる限りの人数で集まって、最後の進捗を行いました。指示が出せるということもあり、そこで一気に進捗を進め、何とか完成にこぎつけました。反省15日でのゲーム開発では、様々な反省点が見つかりました。最後の進捗会は非常に有意義でしたが、こういった進捗会をあまり設けられませんでした。はじめに集まった際、もっと全員のスケジュールをすり合わせることに重きを置くべきでした。仕様の決定も十全ではなく、その結果各自がやるべきことがやや不明瞭になってしまいました。コードレビューやイシューによってある程度補完できましたが、やはり初めの仕様決定は不十分だったと言わざるを得ません。加えて、Javaの初めての開発の上、gitというシステムも初めての実践導ということもあり、これらへの慣れも問題になりました。どこかで一度、まとめて教えられる機会を作るべきだったかもしれません。最後に、メンバー同士のコミュニケーションが疎でした。チームレベルでなく、個々人レベルでもホウレンソウをきっちりと行う必要があったでしょう。得られたもの一方で、このゲーム開発で得られたものもあります。何よりも、ゲームが完成したということは大きいでしょう。完成したという事実は、成長につながります。コードレビューが役立ったようです。これがJavaの勉強に役立ちました。後記15日のゲーム開発ということで慣れないことも多くありましたが、完成までたどり着いたことで成果としては十分であるように感じます。短期製作は様々なことを学ぶいい機会です。Uというイベントへの参加になりますが、各自今回学んだことを生かせるように祈っています。この記事を書いた人yuu主にプログラマーをしながら、まれに趣味で小説を書いています。ゲームはするのも作るのも大好物です。