夏のブログリレーだと思った?残念!ハッカソンの記事でした!
ということで6月22日に開催されたハッカソンの記事となります。
もっと早く書かなければいけなかったのですが、非常に遅れてしまいました。過去の記憶すぎて間違いがあるかもしれませんがご了承ください。
チーム紹介
チームid 3
チーム名 全強
- topaz(プログラミング)
- manyato(プログラミング)
- fuji(プログラミング)
- hinaruhi(プログラミング)
- WhiteFox(グラフィック)
ゲーム
ハッカソンのテーマが「あい」と「わ」だったので虚数単位のiと回転で輪を描くような何かを取り入れたいと思いました。東工大生なら一度は考えそうなアイデアとか言わないで。
タイトルは
「Escape From A Black Hole」
という宇宙船がブラックホールに飲み込まれないように宇宙に散らばるエネルギーを取り込みながら脱出を図るゲームです。(当日決まったのでメモがなかった。意見が割れているかも。)
とりあえずどんなゲームになったか見てみましょう
宇宙船が回転して得点のノードを取ると実部と虚部に別れたScoreに加算されているのが分かりますね。そして複素数の加算乗除で計算されていきます。最終スコアは実部と虚部の積となっており、より大きい方が最終スコアが高いことになります。
それはそうと、あるノードを取った時に不思議な動きをしていることが分かるでしょうか?そうです、×iと-iを取った時にノードが勝手に移動するようになっています。(本当は×iを取った時は左回転するのが正しいんですが上手くいってないことに今気づきました)(細かいことは気にしないで)
複素数の積は複素数平面上でも回転を表しますよね。そういうことです。(雑な解説)
あと最後の画面に「†Tweet†する」というボタンがある通りツイートできるようになっており、ツイ廃の皆さんが得点を競いあうことができるようになっています。僕はTwitterやってないんでよく分かりません。
最後まで完成とはいきませんでしたが普通にゲームとして遊べるくらいにはできていると思います。みんなすごい。
ちなみに開発環境はUnityでした。
感想
各個人の感想を貼っていきます。
Hinaruhi
Unityでの開発が初めてだったということで前日に全然関係ないミニゲームをつくってなれておこう(特にプレファブに)と思ったのですが、あんまり効果なかった人ですw
とりあえず今回の感想なんですけど、まず仕様がちゃんと固まっていなかったことがおそらく一番の失態だったのですが、おそらく他のメンバーが書いてくれると思うので書きません。
僕なりの失態としては、保冷バックを持ってこなかったところですね。当日(僕魔剤飲めないので代わりに)オロナミンCを三本もってきたのですが、後半の追い上げに飲もうとしたら、見事に温くなってしまいました(かなしい)。なのでこんどからはおとなしく自販機で買います
あと、コーディングが統一できてなかった…ていうか自分のコーディングがイレギュラー過ぎたのにより、同じグループのtopaz君にほぼ1から解釈してもらうはめになりました。(常識を知りたい(切実))
ただ、悪いことばかりでもなく、すぐそばに自転車を止めていたために、マクドへの大幅な時短ができたの気持ち的には大きかったです。そして、チーム名が†全強†なだけにみんな強強だったので、実装がいい感じにでき、ゲームとして割りと成り立っていたのが今回ハッカソンやって一番感動したところです。やはりコーディングによるコンフリクトなど、共同開発あ大変なことはおおかったのですが、それでも想定以上のものができて、ぼくはかんどうしました。グループのみんな、ありがとうございました!
manyato
ハッカソンでは得点の計算部分を担当しました。
今回は得点が複素数になっていたのでC#でいい感じの何かないかと思って調べたらありました。(Complex Structというらしい)
それからTweet機能をfuji君が調べてくれたのでそれをコピーしたら動きました。(ただWinとmacで挙動が違ってfiji君が直してくれました)
あと、簡単なスタート画面の実装もしました。
ゲームの原案?という感じのiで90度回転とかは僕が出したのですが(安直)、最初の案では割と破綻していたんでみんなで話しあって細かい仕様を詰めていきました。
あんまり大変な部分は担当しなかったのでみんなに頼りきりでした。チーム開発はほとんどしていなかったのでいい経験になりました。ありがとうございました!
topaz
僕は以前にも部内ハッカソンに参加したことはあったのですが,その際にはTAがいてほとんど頼りっきりの状態でした.今回のこのチームにはTAがいなかったので,メンバー全員で作り上げることになりました.
ハッカソンのお題を出されてから当日までに数回顔合わせとどのようなものを作るかの決める集まりがあったのですが, TAがいないためどこまで決めれば良いのかわからずふんわりした形のアイデアで本番を迎えました. その結果,当日にはゲームの内容づめから始まり, それぞれがどこをどこまでやるかもガバガバになっていたのでチームでまとめるのに苦戦しました.
今回のハッカソンでは仕様を事前に細かく決めておく大切さを学ぶことができました.
何はともあれゲームとしての形が作れたのは非常が嬉しかったです. チームのみんなと楽しく制作ができてよかったです.ありがとうございました!
fuji
ぼくはプレイヤーの回転移動を担当しました。
Unityを用いた開発はこれが初めてではありませんでしたが、何も覚えていなかったので前日までに色々と準備して当日に臨みました。
そのせいか遅刻しました。
そのおかげで担当箇所はすぐに実装することが出来ました。
その後は、ゲームの本筋に関係ないところをあーだこーだ言ったり、ノードをいい感じに(回転しながら小さくして)消す処理を書いたり、自分が書いたコードと自分が書いたコードをコンフリクトさせたりしていました。
今思うと、色々と変なことをしたハッカソンでしたが、個人開発しかして来なかった僕にとってチームでの開発は楽しいものでした。
チームの皆さんありがとうございました。
WhiteFox
メンバーの中で唯一グラフィック担当だったWhiteFoxです。
このチームの中でハッカソン初参加だったのが僕だけだったので、 最初は、ハッカソンの流れがよく分からなかったです。
取りあえず、Gitが開発で重要な役割を果たすことを聞いたので、Gitの練習を裏で行ってました。また、自分なりに描く絵を決めていたので、後は当日で開発するだけだと思っていました。
しかし、ハッカソン当日まで、メンバー間でギミックなどの細かい仕様が異なっていたことが発覚、最初の30分くらいは細かい仕様をメンバー間で話し合っていました。今考えると、グラフィックでゲームの挙動を把握していた僕が情報共有を怠っていたので、実質**僕が元凶です。**本当にごめんなさい...。
それでも、前日までのGit練習と絵の決定が効いたのか、ゲームに必要な絵を作成しても時間が余り、心に余裕を持てました。
最後のマージの時にトラブルがありましたが、ゲームが完成できたのは本当に良かったと思います。
今回作成した絵
主にInkscapeというソフトを使って作成しました。
-
自機
真ん中でぐるぐる回っているロケットです。30分ぐらいでできました。
本作でプレイヤーが動かす自機になる予定でしたが、謎のコンフリクトにより、日の目を見ることはありませんでした。('_') -
エネルギー
ロケットに充填されるエネルギー的なやつです。14個ぐらい作りました。1時間くらいで完成しました。(実質コピペでいける) -
宇宙
ゲームの背景に使われた宇宙です。すっごい重いです。Inkscapeでこのファイル開くとパソコンの速度が10%ぐらい落ちます。
作成後の画面がこんな感じ。グラデーションとかを多用していたんですが、pngにした瞬間グラデーションが消えました。また、最初正方形で作っていたものを無理やり長方形に伸ばしたため、星のところが楕円形になって不自然になってしまいました。ベクター絵とpngの違いについて、もう少し学べばよかったかな~って思っています。
-
ブラックホール
真ん中にある謎のブラックホールです。
ネットにある画像を見ながら描いたのですが、少し渦感が足りなかったですね。 -
補助線
エネルギー並ぶ部分やロケットの動く軌道が見える補助線です。(白地だと見えにくい?)
プログラムの挙動を見て、エネルギーが動いてるように見えなかったので急遽付け足しました。今思えば、ゲームらしく見えたのもこの補助線のおかげだと思っています。
チームで開発をすることによって、グラフィックがゲームで重要な役割を果たしていることを改めて認識することができました。長くなりましたが、一緒に開発してくれたチームの皆さん、ありがとうございました!
最後に
みんなは記憶から忘れるまえに記事を書くようにしようね!!