開発合宿にいってきました 前篇

developcamp_summary1

お久しぶりです!
約2年放置してましたが久々にネタができたので書いてみました

先週末土曜から月曜にかけて熱海で開発合宿をしていました
そこで作ったアプリ開発についてのレポートを前/後篇に分けてまとめようと思います。

開発合宿とは

開発合宿 – Wikipedia

温泉やリゾート地などのホテルや旅館に出向き、
合宿のように寝泊りしながら集中的にソフトウェア開発をする行為のこと。

みたいです。ハッカソン+旅行みたいな感じですね

成果物について

まず最初に成果物の紹介から
Unityちゃんが幅跳びするゲームです
タイミングに合わせて画面をタップして正確なほど加速し、差が大きいと減速します
ジャンプ位置が近くなるとジャンプ角度を定めるモードに入り、飛びたい角度で画面をタップし続けて決定です
より遠くを目指してジャンプしよう!
developcamp_info1developcamp_info2developcamp_info3

WebGLでプレイ
Android apkダウンロード

残念ながらまだ完成してません
最低限失敗判定だけでも入れたかったのですが、そこまでたどり着けませんでした

ゲームとしてはダメなところばかりですが、それについては後程・・

熱海について

初熱海だったのですが、温泉!魚介!坂が多い!(つらい)と魚介好きとしては一部を除き満足でした
今回の宿は徒歩2分でコンビニもあって開発合宿的にもありがたかったです
宿にはインターネット設備はなかったので、WiMaxとテザリングを使用して通信しました
softbankはLTEで電波良好だったので問題ナシでした

基本は宿に引きこもってたのですが、唯一昼だけは外に食べに行っていたので良かった店を紹介します

熱海魚市場
developcamp_uoichiba
2か月に1度マグロの解体所ショーがあるらしく、ちょうど合宿の日にやってました(開発の事情と雨で行かなかったのですが・・)
昼過ぎに行くとちょうどタイムセールをやっていてアジのつめ放題をやっていたのですが、
5匹だけほしいというと5匹50円でサービスしてくれました(不安なぐらいやすい)
網焼きコーナーが併設されており、その場で網焼きしておいしくいただきました

和食処 こばやし
developcamp_kobayashi
初日に行こうと思っていたのですが、結構混んでいたのであきらめて最終日に再び行きました
この日も月曜にもかかわらず、並んでいて30分ぐらい待ってから入店しました
熱海では毎食魚を食べていたのですが、ここの刺身が一番おいしかったです
刺身以外のものも質が高く、熱海行く機会があったらぜひとも行ってほしいお店です

作業環境について

developcamp_env

  • Surface Pro
    初代のSurface Proです。最近熱を持つようになってきて性能もかなり落ちてきました
    熱さえ持たなければUnityも快適です
  • GeChic On-Lap1303H
    サブのモニタです。前回はSurface単体だったのですが、モニタが小さくて辛かったので持ってきました

  • USBサーキュレーター
    自分のためじゃなく、アツアツのSurfaceのために持ってきました。大活躍です

  • キーボード・マウス
    Surface付属のカバーにも付いてますが、常用はつらいので無線タイプのものを持っていきました

  • Kindle Fire
    今回Android向けに作ろうと思い直前に購入しました。
    Android向けストアは見れないですが、apkのインストールは行えるので開発用としては問題ナシ
    Prime会員で5000円程度で買えて割と動いてくれたのでAndroid開発入門機としてはいいかも

  • おやつ
    開発には欠かせないやつです。ぼくは最近BAKE茎わかめが好きです

  • コーヒー
    深夜作業に備えて持って行ったのですが、飲みすぎて逆につらくなりました・・

作業時間内訳

1日目

  • 14:00 宿に到着
  • 14:30 プロジェクト設定(0.5h)
  • 15:30 アセット準備(1h)
  • 22:30 背景作成・追従スクリプト実装(2.5h)
  • 25:00 カメラ制御・入力制御・シーケンス管理実装(2.5h)
  • 27:00 仮シーケンス実装(2h)

2日目

  • 07:00 起床
  • 09:30 ビルドエラーと格闘(1.5h)
  • 11:00 シェーダーUI実装(1.5h)
  • 16:00 やっぱりテクスチャUIにする(2.0h)
  • 25:00 走る部分の実装(6h)
  • 25:30 ジャンプに移行する部分実装(0.5h)
  • 26:30 角度決定部分実装(1h)

3日目

  • 07:00 起床
  • 09:00 ジャンプ着地部分実装(2h)
  • 09:30 着地アニメ調整(0.5h)
  • 11:00 シーケンス整備(0.6h)
  • 11:20 本番用パラメータ設定(0.3h)
  • 11:30 プレゼン

実作業時間約25時間、合計21コミットでした
今回はシンプルなゲームにしたつもりだったのですが、Unityでの実装方法の面での調査の時間が多く
結局深夜まで作業をする羽目になってしましました

ゲーム的にアカンところ

作ってみて分かった改善したいなーと思ったところについて
やりたいことはいくらでもあるので実装の都合などのものについては省略します

タイミングUI

developcamp_badcircleui
特定のタイミングに合わせてタッチするUIを考えた結果、サークル型で
内側からくる円と重なる時を狙ってタップするものにした(ポケモンGOもこのスタイル)のですが、
単発だとわかりやすいのですが、複数出たときに何を見るべきなのかわからなくなってしまう問題が発覚しました
特定の方向にだけオブジェクトが移動するスタイル(maimaiみたいな感じ)も考えたのですが、
方向が意味を持っていると捉えられかねないため、
今回の画面上どこでもTapしたらOKというルールには合わないと思ったのでやめました。
まだいい解決方法がみつかってないですが、表現が難しければルールを変える方向もありかなーと思っています

スピード感がわからない

背景の変化が少なく、スピードが上がっている感じが伝わらないので、
背景に適当なモデルを配置したり、エフェクトを付ける、髪の揺れ方を極端にするなどやるといいかもなーと思いました

ジャンプの決定方法

developcamp_info2
ジャンプする直前まで連打しているので、タップで決定だと誤爆してしまいます
そのため、長押しで決定にしたのですが、いまいち伝わりにくいうえに
数回は無駄タップ前提になっていてスマートではありません
単純に入力を受け付けない期間を設けるだけでよかったのかも?

前篇は以上です!
後篇は開発するうえで気づいたことやTips的なものを紹介します!

© Unity Technologies Japan/UCL


コメントを残す

メールアドレスが公開されることはありません。