ぷらこあ

ゆるふわゲームクリエイター / イベントオーガナイザーを目指してます

SPAJAM東京C予選に参加して破れた話

SPAJAMとは

spajam.jp

  • アプリハッカソンイベント
  • 全国の予選で再優秀賞なら決勝(明日)で混浴温泉に入れる!
  • 今回は東京C予選(6/20-21 ドワンゴ社)に参加した
    • 結果は賞無しだった

成果物

www.slideshare.net

使用したミドルウェア

タイムライン

08:30 会場に向かう

09:45 歌舞伎座タワーの入り口に迷う

10:00 開始/説明/テーマ発表/アイデアソン

  • テーマは「デートで使える」
  • イデアソン前半はアイデアの発散

    • テーマに関係あるキーワード/アイデアを3つ記載する
    • 4〜6人班でぐるぐるシートを回し、アイデアや連想ワードを加筆する
    • 1周し終えたら各人が気に入ったアイデアやワードを発表
  • イデアソン後半はアイデアウォーク

    • A4の紙に「アイデアのタイトル」「概要を3行程」を記載し、テーブルに置いておく
    • 最終的に全員で110程度のアイデアが出揃うことに
    • 全員で各テーブルを周り、気に入ったアイデアに☆を付ける
    • 最後に☆の多かったアイデアを発表
    • 上位に入れず悔しい…でも4つ出したアイデア全部にそこそこ☆付いてて安心

12:00 ハッカソン開始

  • セブンでパンを買って作業開始だ!

12:30 そして悩む

  • イデアを2案程度に絞ったが、1つに決めることは出来ない
    • (1) テーマへの親和性は低いが、アイデアソンで(自分の中で)一番☆を集めたアイデア
    • (2) すごいワクワクするが、技術力的に実現性の低いアイデア
  • 結論として、(1)の案を採択したが、悶々と1時間くらい悩んでしまった
  • こういうときチームメイトがいればカジュアルに相談出来たのに…と悶々とする
  • そういえばソロで参加した
  • 全国の予選を通じてソロ参加は自分だけだったらしい、ホントかしら

13:30 大まかな遷移図と素材の書き出し

  • スタッフさんに紙を貰い、大まかな遷移図と必要な要素を書く
  • 記載したら、ネットでテクスチャやフォント等の素材を集めつつイラレでレイアウト作成
  • この時点でアプリに使う素材として書き出してしまうので、結構頑張る
  • 各要素を切り離して、書き出して、終わり

16:00 レイアウト/フロント挙動

  • 各要素をUnityに配置し、レイアウトを調える
  • 今回は(ほぼ全部)uGUIで作成した
  • uGUIのCanvas以下に配置された要素の表示陣所は、Hierarchyの並び順に依存することが分かった
  • 以下のようなコードで前面に要素を持ってくることでタブを実装した
// 選択されたタブのレイヤーを最前面に持ってくる (Hierarchyの最下部に)
targetLayer.transform.SetAsLastSibling();

19:00 要素の取得/リスト表示

  • リスト表示に関しては過去に記事に書いた通り

lycoris102.hatenablog.com

  • リストの要素に関して、一旦モック用のJSONを用意してそれを表示することに
  • JSONのparseには MiniJSON.cs を使った

qiita.com

21:00 会場閉鎖/夕食

  • とりあえずソロなので時間が無いと完成しないの分かってたので寝ないことは決めてた
  • 会場を追い出されたので、作業場所に悩んだが、会社でこっそり作業することに
  • 広州広場の油淋鶏定食美味しいれす
  • 会社に行ったら、先客がいて社内ゲームジャムの作業をしていたので一緒に作業することに

22:30 作業再開

  • リストの細かい要素などを調えつつ、データ管理の手法に悩む
  • 1から環境構築したりするの面倒だったので、結局 mBaaS を使うことに

mb.cloud.nifty.com

00:00 もくもくタイム

  • mobile backend には key-value 型のデータストアが存在する
  • ここに各ユーザ毎の id 毎に癖をまとめた JSON (String) を保存することに
  • 眠気と戦いつつ、とりあえず一通りコードを実装し、Unity上でデータが保存出来ることを確認

03:00 ちょっと寄り道

  • そういえば、ただリスト表示だけだとつまらないので視覚的に分かるようにしたかった
  • 瓶にハートを溜めて行く演出が思い浮かんだので、それを実装することにした
  • (一緒に会社にいたイケメンデザイナーさんにガラス瓶の切り出しを教わりながら)素材を用意
  • uGUIと同じ空間に存在する要素に、RidigBodyを付ける方法としてはCanvasのRenderModeをWorldSpaceにするのが楽
  • しかし、要素の大きさが崩れてしまうので、今回はuGUIとは別途実装して、SubCameraで重ねて表示することにした

06:00 ビルド

  • ここまで来て、一通り実装を終えたのでAndroidにBuildした
  • しかし、mBaaS (mobile backend) との通信が行われない
  • adb logcat で中身を見て、一部の AndroidManifest を修正した
  • しかし、それでもエラーが継続して発生するので、諦めた….
    • (あとでニフティクラウドの人がいたので軽く聴いてみたらUnity5で動作しないケースがあるとのこと)

09:00 シャワー浴びて会場へ

  • とりあえず頭働かなかったので、シャワー浴びた
  • 会場へ向かう

10:00 会場イン〜ラストスパート

  • とりあえず発表資料作ってから軽くリハーサルするところまで
  • 写真の素材は https://www.pakutaso.com/person/ を使用
  • 空を動かしたり、ログイン画面をでっちあげたりしてた

14:30 発表

  • 他のチームの発表素晴らしかった
  • 自分もプレゼンは適度な緊張感でそこそこパフォーマンス出せた気がする
  • お疲れさまでした

感想

  • 今回一人で参加したのは、純粋に一人でどこまでやれるか試したかったため

    • 他人と協調するのが苦手なので色んなこと一人でやろうとするけど、そこには限界がある
    • 実際に賞取れなかったし、取れなかったのは技術的な敷居が大きかった様に思える
  • 色々な人とつながりを持てて良かった

    • 同業者さんやハッカソンの常連さん、学生さん等、色々な人と交流出来た
    • 一人参加ということもあって、色々な人が声をかけてくれた、目立つって大事
  • 次回は…

    • 誰か一緒に参加してください!!