ぷらこあ

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

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

【Unity道場】使って覚えるTileMap に参加しました

概要

イベント

kenjin.unity3d.jp

Unity 2017.2bでUnityEditorに組み込まれたTileMap機能について講義/ハンズオン形式で学ぶイベント。 @tsubaki_t1 さん(テラシュールブログ) が講師を務めてくださり、更にハンズオンということでUnityスタッフが分からない部分を教えてくださる、至れり尽くせりな会でした。

会場

www.bellesalle.co.jp

会場の「ベルサール六本木コンファレンスセンター」は「住友不動産六本木グランドタワー」の9階にあります。これまで渋谷のTECH PLAY SHIBUYA (旧dots.) で開催されることが多かったが、六本木の会場になってからは初参加。

迷いました。

資料

www.slideshare.net

内容

2D Experimental Preview

Unityにおける新機能は、クオリティ向上やバグを防ぐ目的で、いきなりリリースするのではなく、Experimental Buildという形式でユーザに試してもらうケースが多くなっている。最近 2D Experimental Preview で検証されている内容は以下を参照。

https://forum.unity3d.com/forums/2d-experimental-preview.104/ www.youtube.com

Experimental Buildの段階を経て、次はベータリリースされるが「TileMap」の機能は、先日リリースされた unity2017.2b に含まれている。

TileMapの使い方

上記でやっているのは以下の一連の流れ。

  • TilePaletteの作成
    • Window > TimePalette
    • CreateNewPaletteを選択
  • TileAssetの作成 (ワークショップでは対応済みだった)
    • Textureの設定
      • タイルマップに使用したい画像アセットを選択
      • TextureTypeをSpriteに変更
      • SpriteModeをMultipleに変更
      • PixelPerUnitをタイル1枚における一片の長さを指定
      • (FilterModeをPointにすると補間が無くなり、ドット感が増す)
    • Spriteの設定
      • SpriteEditorを開く
      • Sliceでタイル毎に画像を分割 (GridByCellSizeを使うと楽)
  • TilePaletteへの登録
    • 先ほど設定したSpriteをTilePaletteウィンドウにドラッグ/ドロップ
    • TileAssetをどこに保存するか聞かれるので適当に指定
  • TileMapを埋める
    • Hierarchy上で 2DObject > TileMapを選択
    • 塗りたいTileMapオブジェクトをHierarchy上で選択
      • (TileMapオブジェクト自体を複数生成できるため)
    • TilePaletteから “ブラシ” (筆のアイコン) を選択
      • 塗りたいタイルを選択
      • Sceneビュー上のグリッドを選択して塗る

また、塗りたいタイルを回転させる手段は、マシン/バージョンによって微妙に異なるっぽい。正式リリース時のドキュメント化に期待。

上記のフローにも記載したが、TileMapオブジェクトを複数用い、Order in Layerを変更することで、レイヤーを扱うことも出来る。

TileMap上にアイテムなどのオブジェクトを設置する際には、Grid以下に置くとGridに沿って移動させることが出来るのでオススメとのこと。

TileAssetと当たり判定について

SpriteMaskと組み合わせると楽しい

tsubakit1.hateblo.jp

SpriteMaskに関してはテラシュールブログ上の記事を参考に。 uGUIのMask機能がMaskコンポーネントを持つGameObjectの子要素に対してMaskが適応されるのに対し、こっちはSpriteRendererにおいてMaskの影響を受けるか/受けないかを設定する感じになった。 これをTileMapと組み合わせて、以下のようなものが作れた。

ProgrammableTile / CustomBrush

タイル描画時の挙動を改造することが出来る。今回は用意されたサンプルプロジェクトに付随された、AutoTileを使用した。これは、配置されたタイルの左右/上下のつながりの関係に応じて、どのタイルを利用するかを決めるというもの。 また ProgrammableTile を使えば、ランダムにタイルを配置することも、SpriteAnimationを適応することも可能。 また、CustomBrushを用意することで、TileMapの塗り方にパターンを持たせることが出来る (ランダムに配置したり、直線上に配置したり)。

以下がUnity公式が発表しているProgrammableTileのサンプルおよびサンプルプロジェクト。

github.com github.com

今回の会について

mrstar-logs.hatenablog.com

上記の @RyotaMurohoshi さんの記事でも触れられている通り、1度説明後に講師の方を真似して一緒に作業するフロー/質問しやすい環境で、とても理解が進む会でした (MakerFaire/デザフェスと日程が被ったこともあり、あまり人数は多くなかった感じでしたが、ワークショップ形式であることを考えたらちょうど良い人数だったかも)

タイルマップ使って何か作ってみたいところではあるのですが、タイルマップの弱点は素材が整わないと何も出来ないというところ… 何かフリーの素材漁ってみようと思います。

参加者のみなさん、講師の椿さん、ユニティスタッフのみなさん、ありがとうございましたー! (あと個人的にですが、椿さんに1週間ゲームジャムの実況ありがとうございました!ってお伝えすることができて良かった….)

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

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

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

成果物

夏の花火 彗星の夜 | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

着想

今回のテーマは夏ということで、割と具体的なモチーフが求められるお題でした。

モデリング(まだ)出来ない、イラスト(まだ)出来ないな自分にとっては結構ハードル高く、花火はその中で何とか自分が出来ること (エフェクト/パーティクル) の中で一番マシな感じになるだろうということで採択されました。

花火作るぞ!とデザインを固めた時点ではまだどういうゲームシステムにするかは決まってなく、花火の遅延して発火する特性が活きる「引っ張りゲー」か「音ゲー」で悩んでいました。正直この両者で「引っ張りゲー」を採択したのは何となくではあります (1週間ゲームジャムの初回で音っぽいやつを作ったので、傾向変えようと思ったのかもしれない)

仕様

コントラスト

www.slideshare.net

今回はコントラストを意識するよう心がけました。 今ひとつな部分もありつつ、今後も意識したいことではあります

  • 画面の色彩のコントラスト
    • 黒背景と白い花火 / 補助線 / ターゲットサークル
    • ブルームによる強調 (Post Processing Stack)
  • リスクとリターンのコントラスト
    • 貯めると当たりやすく範囲も広がるが、連発できない
  • チャレンジ/難易度のコントラスト
    • Wave6~8で学習させる (色々なパターンを見せる)
    • Wave9は難易度を下げる (単調だけど気持ちいい/クライマックスに向かう)
    • Wave10はラスボス (やりごたえがある/これまでの学習を活かす)

アップグレードシステム

Downwellプレイしたときから、ずっとどこかでやりたいなぁと思っていました! 徐々に強くなっていく感じが出せ、自分の個性が出せる用にカスタマイズできる素晴らしいシステムです。正直これがやりたくて、Wave制に倒したところはあります。

ただ中身はもう少し精査したかった…。特にランダム制の高い「親子連れ」「たまや」は画面映えするにも関わらず、そこまで役に立たなかったのが反省点。役に立つような (例えば密度が高い巨大な集合がゆっくり降ってくる) ステージを作ってあげる等、できることはあったはず。

ステージ

各WAVE毎にcsvで管理しています。SpreadSheetで発射時間とスタート座標/ゴール座標、下に行き着くまでの時間を設定し、出力したものを使用しています。DOTweenで移動/大きさ/透過度を制御し、遠くから近くに落ちてくる雰囲気を出しています。遠くから来ている感じはEasingにより徐々に加速する要素でも表現したのですが、そのせいでかなり簡単なステージが出来てしまったのが反省点。

進行

今回の作業時間は15時間程でした。会社に着いてから定時までの時間、お昼休み、帰宅後 + 土曜日で作業しました。前回よりは作業時間は確保できた…はず。

タイトル/世界観

夏といえば終焉モノですね!ね! 結構明るい題材が増えそうだったので、少し暗め/切ないトーンに倒してみました。 また、右上のポエムは、ステージが進行していることを分かりやすくするために取ってつけたものでした。あまり読む暇無かったかもしれない (コメント等であまり触れられてない要素)。

タイトルに関しては「彗星花火」という仮名を置いていたのですが、これだとただの漢字の集合として埋もれてしまう可能性があったので肉付けしまして、今まであまり出てなさそうなところ (文学/ラノベっぽさ) を狙いました。あまり詳しくないけど「イリヤの空、UFOの夏」っぽい 。

感想貰った!

開発者さんに評価いただくのめちゃくちゃ嬉しいですね…

また、憧れのUnityTechnologiesJapanの皆さま(ntnyさん/椿さん/そめ先生)にプレイしていただきました! クリアまでしていただき、めちゃくちゃ嬉しかったですー!

www.twitch.tv

頑張りましょう

  • レベルデザイン
  • 常に動いているものを置く
    • 今回でいえばうっすら雲掛ければ良かったなぁと
  • 音(毎度間に合わない…)
  • 新しいチャレンジ

次回の参加

今回で4回目の参加となります。なんとか今のところ皆勤賞です (そんなに多くないかしら…? )

ここまでの参加ですが、割と「出来ること」しかやっていないのが心残りです。安定感を評価していただけて、ブランディング出来ているといえば出来ているのですが、逆にいえば新しいチャレンジが出来ていないというところでもあります。なので、次回やるなら最低1つは新しい要素は組み込みたいし、過去作とに過ぎないようにしたいと思っています。例えば3Dゲーム作る。Shader触る。Meshの頂点いじくる。

この記事ではざっくり感想を書きましたが - UI周りにブルーム(Grow)どういう風に掛けているのか知りたい - 制作フローや実装について というお話も頂けたので、この感想エントリとは別途時間を見つけて記載しようと思います。

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