ぷらこあ

雑記/ゲームアイデア帳/成果物ぺろり

Unity1週間ゲームジャム(2017/11/13〜)に参加しました

Unity1週間ゲームジャムとは?

  • @naichilab さんの運営する unityroom というサイトで開催されたイベント
  • 1週間でお題に沿ったUnity製のゲームを製作する
  • 6回目である今回の課題は「space」

成果物「HayoDokeElevator」

HayoDokeElevator | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

はい私が遅刻しました

使用アセット

発想

そういえば最近、Unity認定者試験に合格しました (唐突な近況報告)

ずっと2Dゲームばかり作ってきたのですが、Unity認定者試験でライティング周り等を勉強したので、3Dゲームも何か作ってみるかなという気持ちでいました (とはいいつつ見れば分かるのですが、結局そんなにライティング頑張ってないです)。

さらに今回はエレベーターのゲームを作りたいというところが先行しています。エレベーターは「何が出入りするか分からない/階数でレベル表現が出来る/空間に限りがある」等、かなりゲームに適した題材だと思っていたので、いつかゲームを作るときに使おうと思っていました。

そこに「space」というお題を掛け合わせるのですが、エレベーターの限られた空間を有効活用するゲームにするということで、無難に倉庫番/箱入り娘といったスライドパズルを組み込んでみました。今思うとちょっと没個性だったかもしれないので、 クソ物理ゲー に倒しても面白かったかもしれない。

デザイン

MonumentValleyが好きなので参考にしました。

(MonumentValleyに限らず、ローポリであったり、抽象的/幾何学な世界観が好きです)

パステルカラー調にし、オブジェクトや装飾は最小限に、Cameraの設定はOrthographicにして平面に見えるようにしてどの角度から見てもポスターのような馴染み方をするみたいな心がけでした。そんなに複雑なものを用意しない分、アートワークは初日に落ち着きました。

実装

二次元配列のFloorクラスを用意して、初期配置/移動時にそこにオブジェクトが存在しているか否か、ゴールか否か等を管理するようにしました。 オブジェクトを1マスずつのみ移動可能にして、都度移動先に対して既にオブジェクトが存在していないかを参照しています。1マス移動なので被る可能性のあるのは上下左右のいずれかの列なのでそこだけ参照すればよいのですが、ゲームジャムクオリティでそのオブジェクトの占めるマス全て参照しています。南無。

また選択したオブジェクトがどのカメラ角度においてもドラッグ方向に移動して欲しいのです。

これが Camera.main.ScreenToWorldPoint(Input.mousePosition) だとやりにくいので、TapAreaというColliderを保有する不可視オブジェクトを敷き詰めて、ドラッグ開始時のTapAreaとドラッグ中のTapAreaを比較し、その差分を参照してオブジェクトを移動させてます。今思えばわざわざオブジェクトを敷き詰めなくても1つ当たり判定を持つオブジェクトを用意して、Ray飛ばした時のCollider座標を比較するで問題なかったですね...。

ここまで色々悩み悩みやって、結果最低限の動きができたのが金曜日でした。 クソ物理ゲー で実装する楽さを痛感しています... (ツミアゲタワーもDIGROLLもonelineも物理ゲーで2日目くらいには基本動作の実装が終えていた)

土日はあまり時間を使えなかったですが、csvからステージを生成する仕組みを用意して、ステージのレパートリーを増やしていきました。

Editor拡張でツール作るのが最高にCOOLだったのですが、イラレでステージ組んで動かして見てクリアできそうならSpreadSheetに座標/大きさ/種別を記載し、csv出力するというなんとも泥臭いフローで解消してしまいました。がっつりステージ組むツールは、スマホでリリースするときとかに取っておきます///

f:id:lycoris102:20171123114722p:plain

ステージ

時間なかったのでやっつけ感強くて申し訳なかったです...。

最初の3面くらいはチュートリアルで、あとは正直難易度に大きな差はなかったと思います。

(最後のステージだけ時間を短くして差別化してみましたが、じっくり考えられないのはストレスであまりいいやり方ではなかった)

カメラの回り込みや高低差を利用したステージを意識しましたが、フォーカスしにくい、真横にカメラをつけた時のオブジェクトの違いが分かりにくい等、UXの課題が残る感じになりました。

UI/演出

角度によって見えないのはどうかなとは思いつつ、実験的にせっかくの3DゲームなのでUIもWorldSpaceで配置してみました (がどうだっただろうか)

演出周り (移動時のカメラのシェイク/エレベータの移動/ドアの開閉) などは例によって DOTween で実装しました。いつもありがとうございます。

全体の雰囲気作りに毎度おなじみ Post Processing Stack を利用しています。Bloom(発行)/AmbientOcclusion(環境閉塞/物体の境目の暗がり)/Vignette(角を暗くし中心に視野をフォーカス)を有効にしています。

リリース後にFLStudioで適当に作って付けました。そういえば最近ガッツリ曲作ってない...。

感想

上にも書きましたが、結構実装に躓いて悶々としていたのですが さらに今回は他の人のクオリティ/レベルの高さに圧倒的に驚き、非常に焦りを感じました。 (個人的に面白いと思ったゲームの紹介も機会があったらやりたい)

何はともあれ、6回目の今回も無事に提出できて良かったです。 皆勤賞だ!遅刻したけどな!

いつもこのイベントやるたびに自分のことを (Twitterで) フォローしてくださる方がいて ゲームクリエイターとの繋がりを作る大切な機会になっています。 今回も @naichiさん、参加者の皆さんに感謝します。ありがとうございました!

デジゲー博2017に「ツミアゲタワー」を出展します

デジゲー博とは?

デジゲー博 | 同人&インディーゲームオンリー展示・即売会

  • 同人ゲーム、インディーゲームの展示・頒布のイベントです。
  • 今年は11/12(日)に開催されます。
  • 会場は秋葉原UDXです。

udx.jp

出展します!

  • 場所は "C-08b" になります。

f:id:lycoris102:20171107010130p:plain

ツミアゲタワー

lycoris102.hatenablog.com

  • 6月の1週間ゲームジャムにて製作したUnity製のスマホ向け物理パズルゲームです。
  • 近日 GooglePlay にてリリース予定です。
  • 今回はブースではこちらのゲームの展示を行います。

f:id:lycoris102:20171107011043p:plain:w300

▲こんな雰囲気のゲームです。あなたはタワマンを作る職人になります。

ブースにお越しください!

  • 初めてのイベント出展で不慣れではありますが、何卒宜しくお願いいたします。
  • プレイしていただいた方にアプリアイコン缶バッチを差し上げます。先着です。
  • 数に限りがあります(30前後)。予めご了承ください。

f:id:lycoris102:20171107010602j:plain

Unity1週間ゲームジャム(2017/08/21〜)に参加しました

.
.
.
.
.
.
.
.

f:id:lycoris102:20170831090245j:plain

見てたらやりたくなりました。て、てへ...

Unity1週間ゲームジャムとは?

  • @naichilab さんの運営する unityroom というサイトで開催されたイベント
  • 1週間でお題に沿ったUnity製のゲームを製作する
  • 5回目である今回の課題は「フロー」

成果物「oneline」

oneline | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

使用アセット

発想

最初作りたいと思ったものに近いのは @daiki_all さんのStream Flow です。

見た目綺麗ですし、加速した時の爽快感も含め、とても良いゲームです。こんな感じで線を操作してビル群を避けるようなゲームを作ろうと思ったのですが スタートも遅れたので、間に合うかなーと思った挙句断念。出来る限りのものを作る方向に舵取りを変えました。

また、ちょうどアイデアを考えていた頃に @kan_kikuchi さんの以下のツイートを見かけ...

2DDL、即買いしました!!!!!!!

この2DDLを使って、光と影が綺麗なゲームを作りたいなぁというのが今回のゲームの着想です。具体的な条件として「オブジェクトが多数登場する」と見応えありそうだと思ったので、今回のフローの条件と合わせて「砂/水のような物体がゴールに向かって流れていく」ゲームに倒しました。

最初、直線で流すのがシンプルだと思っていたのですが、直線だと跳ね上げる動作がどうしても難しく自由度を制限してしまうため、フリーハンドに倒しました。逆にある程度制限が無いとゴリ押しができてゲームとして成立しないとも思ったので、一筆書きスタイルになりました。結局、一度引いた線の上を戻ることが出来るなど、制限として機能していなかったなぁとは反省。

2D物理演算周りの挙動

この辺りの技術を使いました。Unityの標準機能なので気軽に試すことができます。 (今回のゲーム中で使用したのはAreaEffector2D/PointEffector2D)

頑張りましょう

  • オリジナリティ
    • 今回のアプリのような線引き物理演算パズルは既にストアには溢れ返ってる
    • もう1歩オリジナリティを足せると良かった...
  • パフォーマンス
    • 一部結構雑に書いたところがあるので...
  • レベルデザイン
    • テストプレイ (主にしてもらうの) 大事
    • 今回は妻に提出直前にプレイしてもらって、ギリギリで難易度調整を行なった
    • その後も2回くらい調整したが、未だにクリアツイートを見かけない
      • STAGE13が意地悪過ぎたので、もう少し軟化して良かった
      • どこで離脱したかトラッキングしたい...

感想

今回で5回目の1週間ゲームジャムの参加になります。参加するたびにゲーム製作者の方と繋がれるの、いつも本当に嬉しく思います。

特に今回、Twitterで上で魅力的な作品を多く見かけたので、製作中もとても刺激を受けました。特に自分はイラスト周りは全然ダメなので、世界感のパワーを持つ作品はとても尊敬しています。

そんな中ですが、恐れ多くも人気TOP2位になれました。

f:id:lycoris102:20170831234609p:plain

今回アイコンもパッとしなかったので、あんまり期待してはいなかったのですが、Twitterでの進捗報告と第1回~4回にセルフブランディングできている結果かなとも思っています。自身のゲームクリエイターとしてのプレゼンスを上げるために参加しているところもあるので、このように評価していただけるのはとても嬉しくあります。感想や改善点などありましたら、頂けますと幸いです。

今回も @naichiさん、参加者の皆さん、ありがとうございました!

おまけ

ウォークスルー動画作りました。クリアできない方はどうぞ!ネタバレ注意!

youtu.be