はじめに
どうも、こんにちは。新2回生になります、ともと申します。 この記事は、後期入部&コロナウイルスで大きなイベントに参加できていなかった筆者が、2021年3月のハッカソンにて初めての共同開発を行った経験を書き連ねるものです。筆者には文才というものが存在しないので、拙い文章や間違いがある可能性がありますが、温かい目で見守っていただきたくお願い申し上げます。
ハッカソン概要
- 期間
2021年3月21日(日)~2021年3月27日(土) - テーマ
「かわり」 - 参加人数・チーム
ランダム 10人/2チーム
チーム1
チーム2(筆者が参加したチーム)
アプリNavi 5人/1チーム
チーム1
やったこと
各日の1行下(2行目)に書かれているのは、<僕(筆者)が関係した仕事 / 他の方の仕事>です。
- 0日目 前日談
<チーム決定>
ランダムからは計10人が参加し、5人2チームに分かれました。筆者が参加したチーム2(通称:ふわふわくまちゃん)は、1回生が1人(僕だけ)、2回生が2人、3・4回生が1人ずつというチーム編成になりました。 - 1日目(3/21) 開会式
<テーマ決定、タスク割り振り>
ランダムとアプリNaviの参加者が集まり、開会式が開かれました。開会式では、ハッカソンの概要・採点方式の確認、テーマ決定が行われました。テーマは、前日までに募集した案から抽選で「かわり」が選ばれました。発案者曰く、コロナを念頭に、わざと抽象的にすることで「変わり」の他にも「代わり」「替わり」など複数の解釈ができるようにしたらしいですが、正直聞いたときは「何じゃこりゃ」としか思わなかったです。
開会式が終わった後、各自チームに分かれて製作のコンセプトと各自の担当を決めていきました。「かわり」という抽象的な題をどうするか話し合った結果、なぜかテーマを「すいかわり」にすることになりました。どうしてそうなった。スイカ割りをどうゲームに落とし込むか話し合い、2Dアクションとして作ることと、ゲームのだいたいの形ができました。タスクについては、基本的に1・2回生がコードを担当して、デザインはできる人が、上回生の先輩方はアドバイスや分からないときに参加することになりました。 - 2日目(3/22)
<キャラ移動、簡単なアイテム・ステージ作成 / キャラクター・アイテム・ステージ素材制作>
作業初日、2dアクションの基礎となるキャラ移動、簡単なアイテム・ステージを作りました。僕は高校時代にしょぼん風のしょぼい2Dアクションの製作経験があり、それを活かすことができると思いましたが、意外に忘れており作成に手間取ってしまいました。なお、この時点ではまだキャラやアイテム、ステージタイルの素材が出来上がっていないため、ネットから拾ってきた素材を流用しています(後々この辺が面倒くさくなる)。とはいえ、この時はまだ僕はある程度製作に関して楽観視してしまい、制作ペースもまちまちという状態でした。 - 3日目(3/23)
<キャラ移動・アイテム続き / ステージ制作、素材続き>
3日目は2回生の先輩方の開発がメインで、僕自身の活動は他の用事が入っていたこともあり、前日の作業の修正をする程度でした(もっと作業しなきゃいけないんだけどね)。 - 4日目(3/24)
<アニメーション作成 / ステージ続き、素材続き>
4日目は、キャラクターの素材がそろったのでアニメーション作成をしました。僕はアニメーションについてはあまりいじったことはなく一つ一つ調べて、先輩方の力を借りながら実装していきました。先輩のコードきれいでしゅごい(語彙力喪失)。しかし、やはり初めてということもあるのか、問題が発生しかなりてこずり翌日に持ち越してしまいました。この辺から余裕がなくなってきます。 - 5日目(3/25)
<アニメーション続き、ゲームシステム作成 / コード(github)の調整、素材続き>
アニメーション制作での問題の続きと、今回の作品の肝となるゲームシステムの制作に取り掛かりました。ゲームシステムの製作自体は順調に開発できていました。しかし、各自の作業をgithubで統合するようになれば次第に雲行きが怪しくなり始め、コンフリクトしエラーがかなりの数発生するようになりました。そのため、先輩方に調整の助力を頻繁にいただくことになりました。感謝してます。しかしそれらに時間を取られ、計画からはだいぶ遅れてしまいました。やばいです。 - 6日目(3/26)
<メインページ作成、アイテム・ステージの追加、ゲームメイク(ボス製作中心) / コードの調整続き、デザイン制作・実装、サウンド作成、プレゼン作成>
何とかゲームの流れがようやく完成し、デザイン面(UI)の実装を先輩方も含め全員で大急ぎで実装していました。ほぼ先輩方のおかげで何とか形になってきたという感じでした。他にも、ほとんど手つかずだったゲームメイク、特にボスの動きのパターンを増やすなどをしました。もうこの時点で相当ヤバくて完成するか怪しい状況でした。こうならないよう制作期間には余裕をもって取り組みましょう。 - 7日目(3/27) 発表会
<ボス制作続き / コードの調整続き、全体ビルド、プレゼン練習>
発表会の日にも開発が続き、githubのコンフリクトも続き、先輩方の力でプレイできるレベルにはなりました。実装力高くて尊敬デス。それをプレゼンにし、何とか発表会に間に合わせることができました。発表会では、他の2班もすごい作品を作ってきて完成度も高くて驚きました。結果は3班中2位でしたが、三者三様の作品が見れて、いい経験ができたと感じました。
今回作ったゲーム
- 名称
「かち割れ!上司」 - あらすじ
新卒で無い内定の中、必死の覚悟で入ったブラック企業。しかし、待ち受けていたのは労基もむせび泣くほどの激務だった。しびれを切らした新入社員たちは、夏合宿で行う”スイカ割り”にてクソ上司の頭をカチ割り、代替わりを起こすことを目論んでいるが… - 内容
横スクロール2Dアクションで、道中で上司からの指令(アイテム回収)をこなし、現れた上司を倒すことでステージクリアとなります。作品の特徴として、「さつ意ゲージ」というパラメータがあり、一部の例外を除き道中のアイテムを回収することで下がり0になるとゲームオーバーになります。この数値はアイテムを得ることでもらえる”スコア”とトレードオフの関係にあります。スコアを取ってゲージを減らすのか、スコアは少なくなるがアイテムをスルーするのかの判断が求められます。 - リンク
学祭の時に公開予定です。今しばらくお待ちください。
まとめ
- 合作初経験で分かったこと
- テーマ設定、タスク割り振り・計画は大切
- github難しい・共同開発の計画難しい
- 1週間でゲーム制作は初心者にとってきつい
- わからないことは調べるor聞く
- 完走した(してない)感想
キツイがunityとgithubについて色々学べたので、いい経験だったと思います。正直githubについてはもう一回一から勉強しなきゃならないですが、ゲーム制作に関しては次はもう少し楽にできそうです。 - 最後に ここまで見てくれた方、このような長ったらしい駄文を読んで下さり誠にありがとうございました。次の記事はもう少し見やすく、画像などを多めにするよう努力してまいります。
後日談
終わった翌日に結構な勢いで体調崩して39.2℃出ました(コロナではなかった)。皆さんはきちんと制作の計画を立てて徹夜はなるべく控えましょう。