この記事は冬のブログリレー2025の24日目の記事です。
やほやほ、そらねだよ〜
というわけで、夜月そらね (やづき空音)です。
今回は、新入生唯一の冬ハッカソンのソロ参加ということで、ブログにまとめました。
これからソロ参加する方の助けに…ならない気がする…まぁ、反面教師っていう最強の言い訳をすることにして、早速本題へ。
作ったゲーム
作ったゲームはローグライクのオートバトルパーティー構築です。
メンバー紹介
・リーダー
@sorane_yaduki
・プランナー
@sorane_yaduki
・プログラマー
@sorane_yaduki
・サウンド
@sorane_yaduki
・グラフィック
@sorane_yaduki (サボり)
・雑用
@sorane_yaduki
スケジュール
準備期間1日目 お題「ちょう」「あん」でなにも思いつかず、絶望
準備期間3日目 お題は後でこじつければいいやと思い、パーティー構築のオートバトルを作ろうと決める
ここまでは良かった。しかし、もともと「短期間でドはまりして一気に進捗を生む」「その後興味が失せ、完全ストップ」となりやすいタイプのそらねさんに、事前準備1週間は長すぎた。
そらね「オレはやるぜオレはやるぜ」
そらね「そうかやるのか」
そらね「やるならやらねば」
1週間前にこの状態に入ってしまったのである。
そしてこの元ネタ(動物のお医者さん)をご存じの方であれば、この後の展開は想像に難くない。
そう、時間がたったことでモチベーションが消えかけていた。
その結果、開発期間の最初の3日くらいは、ほとんど進捗が無かったのである。
かろうじて3日目夜に完成したのは、互いに通常攻撃だけを打ち続ける戦闘部分だけ。
だが、この時私は焦っていなかった。
ローグライク部分を作るのは簡単だと思っていたのだ。
そして金曜日にローグライク部分を作り始め、土曜日の昼前ごろに「あれ、まずくね?」と気づき始める。
ある程度形になった土曜日の夜、18時間後には発表という時間になって突然思い立った。
流石に戦闘部分にUIつけたいな
突然の、プランナーのそらねさんによる方針変更の提示。
プログラム担当のそらねさんが少し困惑したものの、サウンドを実装したかったサウンド担当のそらねさんがプランナー側についたこともあり、結局強行。
UIを作り終えた頃には、夜の2時を回っていた。
だが、ここで見落としていた…いや、忘れようとしていたことが1つ。
スキル数が足りねぇ!!
もともと、ウリは大量のスキルとその組み合わせによる戦略性。
確かに、「あとからいくらでもスキルを追加できるし、簡単に追加できる」ことを最優先にしていたため、ここからの追加に労力はかかりにくい。だがそれ以上に、スキル作成にかけられる時間がほとんど残っていなかった。
そして少しでも時間を稼ぎたい当日の発表順。
中間発表の発表順で抽選ということで、最初に抽選を行い、順番は…1番!
なんでや!!
というわけで、急遽スライド作成…を始めたのは、13:50。発表開始は14:00である。召集の時間を考えると、5分。5分でスライドを作り、無事(?)発表をすることができた。
ちなみに、プレイのキャプチャを用意する時間などなかったため、バグが出ないことをお祈りしながら発表する羽目になったのだが、幸いにも大きなバグは出なかった(なぜか戦闘が終わっても戦闘BGMが止まらなかったが些細なことである)
ソロ参戦の辛さ
ソロ参戦は高難易度コンテンツであるらしいが、私は当初その感覚がなかった。
春ハッカソンで、当日の昼に「え?C#なの!?聞いてない!というかC#やったこと無いんだけど!」ということをやらかした私は、「連携取らなくていい分楽じゃないか」、なんて思っていたのである。
だが、そもそも、ソロ参戦の高難易度コンテンツたる所以は、まったく別のところにあった。
モチベーション維持が最大の難関になってくるのである。
進捗0でも誰もとがめないし、誰にも迷惑かけないのである。
これからソロ参戦する人は、モチベーション維持を第一に考えてみてほしい。
「自分はソロでも行ける!」という人。
技術的には確かにソロで十分参加できるのだと思う。
だが、それは作業ができればの話に過ぎない。
モチベーションが無ければ、進捗は無に帰す。
他の人を頼るのも良いだろうし、進捗をどんどん公開していくのも良いだろう。
とにかく、自分に「やらなければならない」と思わせるのである。
ソロ参戦の落とし穴
さて、なんとかモチベーションの維持ができたとして、もう1つの落とし穴にも気を付けなければならない。
安易に要素を追加するな
安易に要素を追加するな
安易に要素を追加するな
安易に要素を追加するな
安易に要素を追加するな
さて、私が発表前日に落とし穴にハマった回数だけ言ったところで、理由を説明しよう。
機能追加は、想像以上に時間がかかる。
それプラス、その部分のバグつぶしなど、想像の2倍はタスクが増える。
というか、私の場合、バグの8割は後から追加した要素が原因であったし、それ以外はほとんどバグは出ていなかった(要素追加前で、バグにかかった時間はプログラムにかかった時間の20%も無かったと思う)
最初から計画してなかったのなら、無くても成立するのだ。思い切って切り捨てよう。
ちなみに、前日にハマった落とし穴は以下の通りである。
・戦闘UIの追加
・敵の編成の自動レーティング
・テキストの色分け
・「戦闘開始前の追加行動」の実装
・音楽の追加
ソロ参戦は意外と忙しい
ソロ参戦では、「誰かがやってくれる」は無い。
「誰もやってくれない」
タイトルを決めるのも、スライドを作るのも、発表をするのも、運営とのやり取りをするのも、全部自分である。
特に、タイトルは忘れがちである。私は、発表5分前にタイトルを決めた。
「ローグ・オートバトル」という、何の面白みもないネーミングである。
ファイル名を使おうにも、「a.py」であったし、フォルダ名は、「戦闘シミュ」であった。
せっかく作ったのだから、名前はちゃんと考えよう。
最後に
今更だが、私がソロ参戦を決めた理由の多くは、「逃げ」の理由である。
「連携を取るのが面倒」
「コードを読みやすく書くのに慣れてない」
「てかunityあんま使い慣れてない」
という、逃げの理由に、
「一応全創作やってるし、ソロ行ける行ける」
という、ソロ参戦をためらう理由の消失が重なり、ソロ参戦にしたのである。
逃げるな。ちゃんとやれ。
というわけで、近いうちにunityでなんか作らないとなあと思っている。
一通り反省もしたので、この記事はここで終わりにします。
明日の投稿者は
です。