Unity1週間ゲームジャム(2017/11/13〜)に参加しました
Unity1週間ゲームジャムとは?
- @naichilab さんの運営する unityroom というサイトで開催されたイベント
- 1週間でお題に沿ったUnity製のゲームを製作する
- 6回目である今回の課題は「space」
成果物「HayoDokeElevator」
HayoDokeElevator | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
遅刻しましたが投稿しました!今回もお疲れ様でした! | HayoDokeElevator | 無料ゲーム投稿サイト unityroom #unity1week https://t.co/lDmdQirwan pic.twitter.com/1HSyvv4ENs
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月19日
はい私が遅刻しました
使用アセット
発想
そういえば最近、Unity認定者試験に合格しました (唐突な近況報告)
証明者届きました🍣 pic.twitter.com/2OcL3RYLjQ
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月2日
ずっと2Dゲームばかり作ってきたのですが、Unity認定者試験でライティング周り等を勉強したので、3Dゲームも何か作ってみるかなという気持ちでいました (とはいいつつ見れば分かるのですが、結局そんなにライティング頑張ってないです)。
さらに今回はエレベーターのゲームを作りたいというところが先行しています。エレベーターは「何が出入りするか分からない/階数でレベル表現が出来る/空間に限りがある」等、かなりゲームに適した題材だと思っていたので、いつかゲームを作るときに使おうと思っていました。
そこに「space」というお題を掛け合わせるのですが、エレベーターの限られた空間を有効活用するゲームにするということで、無難に倉庫番/箱入り娘といったスライドパズルを組み込んでみました。今思うとちょっと没個性だったかもしれないので、 クソ物理ゲー に倒しても面白かったかもしれない。
今回はもうどうしたらいいのか分からない #unity1week pic.twitter.com/VrRXVkc3vU
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月15日
デザイン
待ってました! pic.twitter.com/nSmC9Y2MWk
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月6日
MonumentValleyが好きなので参考にしました。
(MonumentValleyに限らず、ローポリであったり、抽象的/幾何学な世界観が好きです)
パステルカラー調にし、オブジェクトや装飾は最小限に、Cameraの設定はOrthographicにして平面に見えるようにしてどの角度から見てもポスターのような馴染み方をするみたいな心がけでした。そんなに複雑なものを用意しない分、アートワークは初日に落ち着きました。
CameraのProjectionをOrthographicにしているので3Dですが平面のような見え方をします #unity1week pic.twitter.com/SPsrLKKCVH
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月15日
実装
二次元配列のFloorクラスを用意して、初期配置/移動時にそこにオブジェクトが存在しているか否か、ゴールか否か等を管理するようにしました。 オブジェクトを1マスずつのみ移動可能にして、都度移動先に対して既にオブジェクトが存在していないかを参照しています。1マス移動なので被る可能性のあるのは上下左右のいずれかの列なのでそこだけ参照すればよいのですが、ゲームジャムクオリティでそのオブジェクトの占めるマス全て参照しています。南無。
また選択したオブジェクトがどのカメラ角度においてもドラッグ方向に移動して欲しいのです。
これが Camera.main.ScreenToWorldPoint(Input.mousePosition)
だとやりにくいので、TapAreaというColliderを保有する不可視オブジェクトを敷き詰めて、ドラッグ開始時のTapAreaとドラッグ中のTapAreaを比較し、その差分を参照してオブジェクトを移動させてます。今思えばわざわざオブジェクトを敷き詰めなくても1つ当たり判定を持つオブジェクトを用意して、Ray飛ばした時のCollider座標を比較するで問題なかったですね...。
もともと想定していた動きに近づいてきた #unity1week pic.twitter.com/3i9je9iD24
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月17日
ここまで色々悩み悩みやって、結果最低限の動きができたのが金曜日でした。 クソ物理ゲー で実装する楽さを痛感しています... (ツミアゲタワーもDIGROLLもonelineも物理ゲーで2日目くらいには基本動作の実装が終えていた)
土日はあまり時間を使えなかったですが、csvからステージを生成する仕組みを用意して、ステージのレパートリーを増やしていきました。
Editor拡張でツール作るのが最高にCOOLだったのですが、イラレでステージ組んで動かして見てクリアできそうならSpreadSheetに座標/大きさ/種別を記載し、csv出力するというなんとも泥臭いフローで解消してしまいました。がっつりステージ組むツールは、スマホでリリースするときとかに取っておきます///
ステージ
時間なかったのでやっつけ感強くて申し訳なかったです...。
最初の3面くらいはチュートリアルで、あとは正直難易度に大きな差はなかったと思います。
(最後のステージだけ時間を短くして差別化してみましたが、じっくり考えられないのはストレスであまりいいやり方ではなかった)
カメラの回り込みや高低差を利用したステージを意識しましたが、フォーカスしにくい、真横にカメラをつけた時のオブジェクトの違いが分かりにくい等、UXの課題が残る感じになりました。
UI/演出
角度によって見えないのはどうかなとは思いつつ、実験的にせっかくの3DゲームなのでUIもWorldSpaceで配置してみました (がどうだっただろうか)
演出周り (移動時のカメラのシェイク/エレベータの移動/ドアの開閉) などは例によって DOTween で実装しました。いつもありがとうございます。
全体の雰囲気作りに毎度おなじみ Post Processing Stack を利用しています。Bloom(発行)/AmbientOcclusion(環境閉塞/物体の境目の暗がり)/Vignette(角を暗くし中心に視野をフォーカス)を有効にしています。
📝Post Processing Stackを有効/無効にしたときの違い #unity1week pic.twitter.com/4dbgwSRHSR
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年11月23日
音
リリース後にFLStudioで適当に作って付けました。そういえば最近ガッツリ曲作ってない...。
感想
上にも書きましたが、結構実装に躓いて悶々としていたのですが さらに今回は他の人のクオリティ/レベルの高さに圧倒的に驚き、非常に焦りを感じました。 (個人的に面白いと思ったゲームの紹介も機会があったらやりたい)
何はともあれ、6回目の今回も無事に提出できて良かったです。 皆勤賞だ!遅刻したけどな!
いつもこのイベントやるたびに自分のことを (Twitterで) フォローしてくださる方がいて ゲームクリエイターとの繋がりを作る大切な機会になっています。 今回も @naichiさん、参加者の皆さんに感謝します。ありがとうございました!
デジゲー博2017に「ツミアゲタワー」を出展します
デジゲー博とは?
- 同人ゲーム、インディーゲームの展示・頒布のイベントです。
- 今年は11/12(日)に開催されます。
- 会場は秋葉原UDXです。
出展します!
- 場所は "C-08b" になります。
ツミアゲタワー
▲こんな雰囲気のゲームです。あなたはタワマンを作る職人になります。
ブースにお越しください!
- 初めてのイベント出展で不慣れではありますが、何卒宜しくお願いいたします。
- プレイしていただいた方にアプリアイコン缶バッチを差し上げます。先着です。
- 数に限りがあります(30前後)。予めご了承ください。
Unity1週間ゲームジャム(2017/08/21〜)に参加しました
今月はお休みする予定です...!! #unity1week
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月16日
.
.
.
.
.
.
.
.
見てたらやりたくなりました。て、てへ...
Unity1週間ゲームジャムとは?
- @naichilab さんの運営する unityroom というサイトで開催されたイベント
- 1週間でお題に沿ったUnity製のゲームを製作する
- 5回目である今回の課題は「フロー」
成果物「oneline」
oneline | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
今回もお疲れ様でした! | oneline | ゲーム投稿サイト unityroom #unity1week #oneline https://t.co/3iUTQ4mKpv pic.twitter.com/jJopBUbC56
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月27日
使用アセット
発想
最初作りたいと思ったものに近いのは @daiki_all さんのStream Flow です。
STREAM FLOW #indiedev https://t.co/JXyvQw1pH1 pic.twitter.com/QqCirtNHOw
— DAIKI (@daiki_all) 2017年8月29日
見た目綺麗ですし、加速した時の爽快感も含め、とても良いゲームです。こんな感じで線を操作してビル群を避けるようなゲームを作ろうと思ったのですが スタートも遅れたので、間に合うかなーと思った挙句断念。出来る限りのものを作る方向に舵取りを変えました。
また、ちょうどアイデアを考えていた頃に @kan_kikuchi さんの以下のツイートを見かけ...
明かりを付けるというより、光が当たっているかの判定や、影を作りたい場合等に超有用なアセットでした(:3っ)∋〜
— カン神巫女 -KAMIKO- (@Kan_Kikuchi) 2017年8月21日
「2D環境にて高品質な光と影の演出」
が出来ると謳われている2DDL Proを試してみた
【Unity】【アセット】https://t.co/PUzJCywPmf pic.twitter.com/MTGgcP1eP9
2DDL、即買いしました!!!!!!!
楽しい!| 「2D環境にて高品質な光と影の演出」が出来ると謳われている2DDL Proを試してみた【Unity】【アセット】 - (:3[kanのメモ帳]@Kan_Kikuchi https://t.co/cqx4lafxdE pic.twitter.com/ymU0xMmp5D
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月21日
この2DDLを使って、光と影が綺麗なゲームを作りたいなぁというのが今回のゲームの着想です。具体的な条件として「オブジェクトが多数登場する」と見応えありそうだと思ったので、今回のフローの条件と合わせて「砂/水のような物体がゴールに向かって流れていく」ゲームに倒しました。
ネタ被りお許しください…!! #unity1week pic.twitter.com/2n6qZsRkU4
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月22日
最初、直線で流すのがシンプルだと思っていたのですが、直線だと跳ね上げる動作がどうしても難しく自由度を制限してしまうため、フリーハンドに倒しました。逆にある程度制限が無いとゴリ押しができてゲームとして成立しないとも思ったので、一筆書きスタイルになりました。結局、一度引いた線の上を戻ることが出来るなど、制限として機能していなかったなぁとは反省。
2D物理演算周りの挙動
この辺りの技術を使いました。Unityの標準機能なので気軽に試すことができます。 (今回のゲーム中で使用したのはAreaEffector2D/PointEffector2D)
アイデア投下。昔作ったゲームですが BuoyancyEffector2D(浮力) を使うと簡単にXY軸ゲームで、水が流れるような動きを作ることが出来ます。 #unity1week https://t.co/Eq89VLbYJu pic.twitter.com/jwFvVqS57w
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月20日
AreaEffector2Dを地味に初めて使った。Collider2Dと一緒にアタッチし、Collider側の IsTrigger / UsedByEffector を有効にすることで指定した角度に対して力を働かせる君 #unity1week pic.twitter.com/qqy45k2yf1
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月24日
PointEffector2D ( https://t.co/zJbvr4qsui ) は中心点に対して引き付ける/引き離す力を設定できる。磁力/ブラックホール … etc #unity1week pic.twitter.com/GNal20WEFB
— 青木とと(ˊ~ˋ*) (@lycoris102) 2017年8月24日
頑張りましょう
- オリジナリティ
- 今回のアプリのような線引き物理演算パズルは既にストアには溢れ返ってる
- もう1歩オリジナリティを足せると良かった...
- パフォーマンス
- 一部結構雑に書いたところがあるので...
- レベルデザイン
- テストプレイ (主にしてもらうの) 大事
- 今回は妻に提出直前にプレイしてもらって、ギリギリで難易度調整を行なった
- その後も2回くらい調整したが、未だにクリアツイートを見かけない
- STAGE13が意地悪過ぎたので、もう少し軟化して良かった
- どこで離脱したかトラッキングしたい...
感想
今回で5回目の1週間ゲームジャムの参加になります。参加するたびにゲーム製作者の方と繋がれるの、いつも本当に嬉しく思います。
特に今回、Twitterで上で魅力的な作品を多く見かけたので、製作中もとても刺激を受けました。特に自分はイラスト周りは全然ダメなので、世界感のパワーを持つ作品はとても尊敬しています。
1週間ゲームジャム
— VeLTiNA@Pandoraid開発 (@veltina_soft) 2017年8月22日
とりあえずモック#unity1week#PixelArt pic.twitter.com/98R3qDKHyR
そして動画を貼り忘れる #unity1week pic.twitter.com/Me0wJUo7EV
— kumokera (@kumokera) 2017年8月25日
元気があったらこういう感じのつくるよ#unity1week pic.twitter.com/CD9D0FP5rr
— E.G. (@EdwardGeraldine) 2017年8月21日
#unity1week
— ライナ (@raina2395) 2017年8月23日
今日の進捗
移動の部分はとりあえずここまで、次はゲーム部分作っていこうかな pic.twitter.com/v5KqohNrtW
イメージ的にはこんな感じでいってみますがアセット間に合うのか…#indiegame #gamedev #unity1week pic.twitter.com/pG3hjOgkT1
— UMINEKO STUDIO (@UminekoStudio) 2017年8月21日
そんな中ですが、恐れ多くも人気TOP2位になれました。
今回アイコンもパッとしなかったので、あんまり期待してはいなかったのですが、Twitterでの進捗報告と第1回~4回にセルフブランディングできている結果かなとも思っています。自身のゲームクリエイターとしてのプレゼンスを上げるために参加しているところもあるので、このように評価していただけるのはとても嬉しくあります。感想や改善点などありましたら、頂けますと幸いです。
今回も @naichiさん、参加者の皆さん、ありがとうございました!
おまけ
ウォークスルー動画作りました。クリアできない方はどうぞ!ネタバレ注意!