どうもみなさんこんにちは。
他の記事同様、当記事も6/20に行ったハッカソンの参加記となります。
チーム名は福岡の姫、
作品名はFlocked Frogs、
メンバーは
- @shigurure
- @shikamemadoka
- @tocky
- @xecua
でした。また、TAとして@Double_oxygeNさんにお手伝いいただきました。
コンセプト
テーマが「蛙」「ます」ということで、最初に私が安直に思いついたのが「枡を操作して蛙をゴールさせるパズルゲーム」でした。
草案はこんなかんじ。
ただ、問題点も多かったためこちらの記事を参考にしつつ...かはわかりませんが既存のゲームのシステム等も考慮して案を組んでいきました。
紆余曲折を経て、最終的に「数匹の蛙を、リーダーとなる蛙を操作してゴールへ導く」といったゲームをつくることになりました。
タイトルである"Flocked(群れた) Frogs(蛙)"はそういったコンセプトからゴロの良さも重視しつつ私が3秒で適当に考えたものです。
開発言語は4人中2人が使えたPythonとなりました。ライブラリはふつうにpygameです。
役割は@shigurureさんがグラフィック、その他3人がプログラマとなりました。この時点で細かな役割は決まっていません(失敗?)。
当日
參加記って言ってるのに当日以外の記録がほとんどないってどうなんだって昨年のHackUの記事を出したあとに思ったんですがまあ全然覚えてないのでしかたないですね。
というわけで当日。
幸いなことに絶起者は出ませんでした。
— ゼミ準備/いすをかう (@xecual) June 10, 2018
まずはチーム名を決めます(今更)。
いろいろ上がったんですが私が適当に上げた「福岡」(ヤクザ(なにかに強い人のことを指す)が多いの意)と私が何故か姫と呼ばれていることから上記のチーム名となりました。謎。
次にプログラマの細かい役割を決めます。
(中略)の結果、私が基幹部分、@tockyさんが操作キャラクター、@shikamemadokaさんが地形管理を組むことになりました。
この時点で30分ほど消費しました(ヤバい)。
その後慣れないgitを手探りで使いつつ開発を進めました。
本来の想定と違うところからブランチを生やすガバプレーをした #traPhacks
— ゼミ準備/いすをかう (@xecual) June 10, 2018
お昼
うちのチームは歌志軒中毒者とかこころ中毒者がいなかったのでコンビニで手軽に済ませました。よって写真とかは特にありません。
ついでにいうとツイッターやってないる人もあんまりいないのでツイートの引用も私しかいない。
午後
ここで革命が起こりました。
それまではキャラクター、地形ごとにpygameが受け取った信号を渡す仕様だったのですが、これらを総括・管理する†神†が生まれました。
よくある仕様変更ですね(そんなこと言ってる場合ではない)。
とはいえまだ各部分が未完成だったため大きな影響はありませんでした。
午後3時くらいで@shigurureさんがほとんどの画像素材を描き上げ、ちょうどその頃プログラム側もプレイヤー/地形部分が完成したためステージ案を練りつつ†神を創り上げる†段階に入っていきます。
ここからが大変でした。
ステージ案が湧かない
パズルゲームの難しいところですね。
ちゃんとゲームとして成り立つようなステージを組む必要があります。
一応ゴールから逆算するという方法がありますので、今回はそちらを使って考えました。
シーン遷移の方法を考えていなかった
私自身、普段Pythonを使っていると言っても競技プログラミングがほとんどなのでこういうのには疎いのです。
というわけでシーン遷移は最悪捨ててもいいかなぁと思っていたんですが。
ステージを読み込む仕様も考えていなかった
これはさすがにヤバい。
とっさに提案したのは(いつぞやの話題になった)jsonファイルとして地形データやプレイヤーの初期位置を決めるというものでしたが、私の説明が下手だったためうまいこと行きませんでした。
神が闇った
仕様を決める段階である程度予測できたんですが、すべてを総括する存在である神は実装力のない人間が組むとコードがやばいことになり、いわゆるスパゲティコードが生成されます。
いままでゲームを作ろうとしてはサンプルプログラムの時点でバグで挫折し、未だに一つも完成できていない私には荷が重かったようで、当然ながら上の現象が発生しました。
特に配列の0-based indexingに未だに慣れていない私はそのあたりで混乱しやすく、闇が生まれました。
そんなこんなで制限時間が訪れ、結論から言って
このゲームは完成しませんでした。
プロトタイプすらできてないです。すみません。
発表
というわけで発表はアイデアの説明による時間稼ぎを@shigurureさんに頑張っていただきました。
私は会場の反応を確認できていないのでなんとも言えません。
特に賞はいただきませんでした。
うちのチーム,アイディアは結構面白いと思ったし,完成させてあげられなかったのが悔しい#traPhacks
— 倍酸化空間(.labguns.) (@Space2O2) June 10, 2018
ありがたいですね
感想
個人的には昨年は参加できなかったこともあり、開発の雰囲気と闇の体感、gitに慣れることができたので参加できてよかったと思います。
また、@shigurureさんはドット絵はほぼ初挑戦らしいのですがクオリティの高いイラストを提供してくださいました。それだけに完成させられなかったのが残念です。