原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【レポート】OSAKA INDIE GAMES SUMMIT 2025 出展振り返り

注文

折角大阪に来たのだからとお好み焼きのお店に入ったらQRコードを読み取ってスマホから注文するよう案内され、素直にQRコードを読み取ったら今度はLINEを起動して指定のURLにアクセスするように誘導され、だったら最初からそのようにアナウンスしとけ、と少し苛立った気の短い皆さんこんにちは。ちなみに私のスマホにはLINEは入ってないので店員さんを呼んで直に注文しました。世の中全ての人間がLINEを使っていると思うなよ

 

OSAKA INDIE GAMES SUMMIT 2025

というわけで10/4~5 大阪のグラングリーン大阪で開催された「OSAKA INDIE GAMES SUMMIT 2025」に出展してきました。

funky802.com

インディゲーム展示会への出展は8月に開催された東京ゲームダンジョン9から2か月ぶりとなります。
展示した作品は「Under A Groove」という作品で、基本的にリズムゲームなんですが『遊べるMV』をコンセプトに操作の正否に応じてアニメーションが分岐するのが特徴のゲームです。展示したバージョンはこのイベントに向けに作成した新ステージを試遊ステージとしたバージョンとなります。
今回のバージョンのプレイ動画をYoutubeに上げていますので、気なった方はご確認いただけると幸いです。

youtu.be

このイベントは10/4(ビジネスでー),10/5(一般でー)の二日間にわたり開催され、二日間合計でのべ120~130人の方に遊んでいただく事が出来ました。ありがとうございます。缶バッチやステッカーなどのノベルティを展示するわけでもなく、大きなモニターや派手なポスターを掲げるわけでもない地味なブースだったのですが想像以上の方が目を止め、試遊して頂けて非常に有難かったです。

配布用のA4クリアファイル、ポスタースタンドにノートPCを置いたらモニター台を置くスペースがなくて机の上に14incモニターを直置きしています、非常に窮屈。

ちなみに会場は天井が高くてお客さんが通る通路は広めでした。

 

ビジネスデイ(10/4)

一日目はビジネスデーという事で会場にゲーム業界の関係者やメディア系の方々がメインとなる日...だったと思うのですが、何故かメディア系の方は殆どいなかったような印象です。単に見かけなかっただけかもしれませんが。

代わりに動画撮影用のカメラを抱えた配信者?の方や学生のような一般の方々が多く(チケット高いのに)、その為か一部のブースだけが賑わっていた東京インディーゲームサミットの時は違って、どこのブースにも試遊の方がいたように思います。

事前の予想では「どうせ手すきになるから適当に他のブースへ遊びに行こう」とか思っていたのですが、良い意味で裏切られました。配布用のクリアファイルや缶バッジは一般デー用の数しか用意していなかったので配布できなかったことが悔やまれます。

閉場後に同じビルの地下1Fで行われた親睦会は人がギュウギュウ詰めになるぐらいの持ち上がりで楽しい会でした。かつ、縫いぐるみ&Steamコードのお見上げ付きで至れり尽くせり、有難い限りです。

 

出展サポートブース

今回の展示会では「出展サポートブース」なるブースが用意されていました。

見るに展示作品と配布物だけ用意して会場での対応は学生スタッフが代行している、ブースのようでした。ざっと見渡して全体の1/4ぐらいのブースはその言った類のブースだったのではないでしょうか。

会場が大阪、かつ日程が二日間なので予算やスケジュール的に参加できない開発者の為に用意されたサービス?なのかもしれません。
私のブースの真後ろのブースの方は一日目だけ会場に顔を出して二日目は学生スタッフが代行していたので、そういった出展の仕方が他の展示会でも許されるなら地方の方々も参加しやすくなるなぁ、と感じました。

また東京以外の地方開催の展示会ではそういった今後そういったサービスを使った展示が増えるかもしれないですね。

 

一般デイ(10/5)

二日目の一般デーは10:00開場という事で出展者は9:00ぐらいからの入場が必要となり、内心「早すぎんか?」と思っていたのですが、結果的には10:00開場で正解だったと思います。開場と同時にお客さんが来て、それからず~っと、お客さんが途切れない。どのブースも試遊される方で席が埋まっていて、手隙になる事は殆どなかったのではないでしょうか?

また、大阪という土地柄なのか試遊台の席に積極的に座る方が多く(東京ではまず様子見する方が多い)、中には出展者が席を開けてブースが空になっているのも構わず試遊台の席に座ってゲームを始める方がいたり、こちらから声を掛ける必要がないぐらい多くの方が遊びに来て頂いて大変ありがたかったです。

あと日曜日という事もあってか親子連れの方が非常に多かった印象です。特に小さいお子さんを連れた方が多かった。缶バッジ目当てに兄妹で三、四回遊びに来た子もいたし、閉場の17:00までがあっという間に感じるぐらい忙しくさせてもらいました。試遊された方々、本当にありがとうございました。

 

今後の予定

Under A Groove」の次の出展は11/29に福岡 九州産業大学で開催されるCEDEC + KYUSHU 2025となります。

cedec-kyushu.jp

 

去年に続いて二回目の出展となります。ただ、OIGSからこのイベントまで期間が短いので他の展示会と同じようにこのイベント用に新しステージを用意する、という事はちょっと無理そう。

今までの展示したバージョンを手直して臨むことになるかと思いますが、地元開催の貴重な展示イベントなので多くの方々に喜んでもらえるような作品に仕上げたいと思います。

 

 

【告知】大阪インディゲームサミットに出展します

 

社員旅行

ちょっと長めにテレワーク勤務を続けたらいつの間にか社員旅行が終わていた愛社精神の薄い皆さんこんにちは。まぁもともと不参加の予定だったので日程を把握してなかったのですが、久しぶりに出勤したらお土産が配られていてちょっとビビった。

 

2Dアクションの指標となるべきゲーム

元々2Dアクションは苦手ながらも、最近流行りのリブートもので各所での評価も上々という事で購入、結果、評判通りに大満足なゲームでした。

スピード感と爽快なアクション操作が特徴のステージクリア型2Dアクションです。とにかく爽快に敵をザックザック切り捨て、トラップをかわし高所を駆け上がり空中を舞う。移動や攻撃操作に癖がなく、弱攻撃と強攻撃を組み合わせたコンボは用意されているものの、そんなことはお構いないしに自分の好きなようにボタンを押してNINJAらしい派手でイカした戦闘を体験ことが出来ます。


またステージクリア型でありながらメトロイドヴァニア的な探索要素もあり高難易度なアスレチックをクリアする必要がありますが、基本的にそういった場所は避けて先に進んでもストーリーのクリアには問題ないというもの特筆すべきだと思います。

難しい複雑な操作を要求せず、コンボの試行錯誤をしているだけで気が付けばクリアまで駆け抜けられる、こういった難易度のバランス調整は今後の2Dアクションの指標となるべきゲームだと思います。

 

大阪インディゲームサミット

以前からそれとなく告知していましたが10/3(土)~10/4(日)にグラングリーン大阪で開催される大阪インディゲームサミットに出展します

funky802.com

8月の東京ゲームダンジョン9に続いて制作中のゲーム「Under A Groove」を出展予定ですが、今回もこの展示会に向けて作成した新しいステージでの試遊版となります。
東京ゲームダンジョン9から約二ヶ月と短い期間でしたが、夏休みおよび秋のシルバーウィークをフルに活用して何とか展示できる段階まで仕上げることができました。パチパチ、自分をほめたい。

前回はプラットフォームゲームをモチーフにキラキラ系EDMでポップなステージでしたが、今回は3dシューティングゲームをモチーフにしたステージとなります。
BGMにはUniquGear氏の「Gear Shift」を使わせて頂きました。

www.youtube.com

使用した楽曲は戦闘向きで非常にカッコいい楽曲なので、それに合うような演出、カメラワークを頑張りました。爆発の演出が多めです。


楽曲のBPMが高い為、上の動画のようにキャラクターの動きが早く一見難しそうに感じるかもしれませんが、個人的には東京ゲームダンジョン9のステージよりは簡単だと思います。きっと気軽に楽しんで頂けるステージになっている思います。

 

まぁ、この記事を書いている時点(9/30)ではブース番号が発表になっていないので、どこのブースにお越しくださいと伝えられないのが非常に残念ですが(しかも2ホールあるらしい)、グラングリーン大阪 南館4Fのどこかの場所で展示していると思うので、当日会場にお越しなられた際に見かけたら暇つぶしにでも立ち寄ってください。よろしくお願いいたします。
(それにしてもイベント開催の4日前になってもブース番号が発表にならないなんてなぁ・・・)

【Unity】Cinemachineカメラを振動させるImpulseComponentは簡単便利

Steamレビュー

気になったゲームのSteamレビューは最初に「お勧めしません」のレビューからチェックする性悪な皆さんこんにちは。ここ数ヶ月は話題になるような大作が発売されていないこともあって主にインディゲームを中心に色々なゲームをチェック&購入していますが、そういった時には必ず不評側のレビューから確認します。不評レビュー中に不具合報告が多いと購入を止める判断にできるし、何より巷のゲームユーザが好む趣向を推し量ることができるのでゲーム開発者として結構な勉強になると思います。まぁ、性格が悪い事は否定しませんが。

 

ナラティブを磨いたゲーム

周回性の低さやクリアまでの時間が短いことが不評の理由に上がっていましたが、それ覆い隠す程の神秘的で幻想的な体験を提供してくれるゲームを購入しました。

砂漠、雪山、火山などの荒廃した世界を剣の形をしたホバーボードで探索するアクションアドベンチャーゲームです。アクションアドベンチャーとジャンル分けされていますが、アクション要素もアドベンチャー要素どちらもやり込みを要するような濃いものではなく、ひたすら荒廃した異世界をめぐってエメラルドグリーンと海洋生物であふれる美しい世界を取り戻していく、という形でゲームは進行します。

ストーリーは登場人物がセリフもなく何も喋らないので、キャラクターの表情、動作と道中に発見する石碑に刻まれた文章から断片的に推し量るだけとなりますが、圧倒的に美しい自然と海洋生物達の中を剣の形をしたホバーボートに乗って自由自在に移動して冒険する楽しさの前には気にならず、逆に何も知らないことで未知の世界を探索する探検者としての気分を十分に味わうことができます。
一見、単調になりそうなゲームデザインですが、ホバーボートを操る爽快感と「美しい」といった感情の方が先にでてくるビジュアルを前に単調に思うようなことは殆どありませんでした。心を落ち着かせたい秋の夜に是非遊んでいただきたいゲームです。

 

カメラを振動させる

ゲーム中に操作している自キャラが衝撃を受けたらそれに合わせて画面も揺れる、といった演出はゲームの迫力を増す効果もあるので色々なゲームで採用されています。
UnityではカメラのTransformの位置をTween系のアセット等を使って細かく変動させることで実現できますが、Cinemachineカメラの場合はImpulseComponentを使うと簡単最速で導入することができます。

docs.unity3d.com

docs.unity3d.com

ImpulseComponentは主に以下の2種類のComponentに別れています。

  • Cinemachine Impulse Source:振動を発生させる発生元の設定
  • Cinemachine Impulse Listener:振動する側の設定

「Cinemachine Impulse Source」には振動の大きさや時間、減衰方法を指定し、「Cinemachine Impulse Listener」は Impulse Sourceから発生した振動を受け取るか、受け取らないかの設定をレイヤーを指定して行います。

 

設定方法

振動の発生元となる「Cinemachine Impulse Source」は任意のGameObjectにアタッチします。発生元とは言いますがCinemachineカメラとの物理的距離は関係ないので適当なGameObjectで構いません。

ImpulseSourceでは振動のタイプ(Impulse Type)や衝撃の形状(Impluse Shape)を指定し、振動の方向速度をDefault Velocityで指定します。

振動受け取る「Cinemachine Impulse Listener」は実際に振動させたいCinemachineカメラにアタッチします。Cinemachineカメラが複数台ある場合には、振動させたいカメラだけImpulse Listenerをアタッチします。

ImpulseListnerでは振動の反応設定を行います。Durationで振動する時間を指定できそうですが、公式マニュアルによると「時間はおおよそ」となるようです。

後はスクリプトにて振動を起こさせたいタイミングでCinemachine Impulse SourceのGenerateImpulse()を呼ぶことで振動を発生することができます。

 

実際に作動させた動画は以下になります。

 

【小ネタ】LitMotionを使ってUI画像をスクロールさせる

WindowsUpdate

「更新してシャットダウン」を選ぶのに必ず再起動してしまう不憫属性な皆さんこんにちは。PCを閉じて会社を早く出たいのにUpdate後の再起動に時間を取られて帰れないのはきっとMicrosoftの罠だと思う。

 

CGWord.jp

先月、開発中のゲーム「Under A Groove」を東京ゲームダンジョン9の方へ出展したのですが、その際にCGWord.jp様にインタビューして頂き、その内容と共にCGWord.jpのサイトで「Under A Groove」を紹介して頂きました。ありがとうございます。

cgworld.jp

これまでメディアの方から取材をされるという事はなかったので非常に貴重な経験をさせて頂きました。ゲームの方も好意的に紹介して頂き有難い限りです。
同記事でピックアップされている他のゲームは非常にレベルが高く、それに並んで掲載されている事に肩身が狭い思いですが、この経験を糧に開発の方を引き続き頑張りたいと思います。

youtu.be

背景画像

最近のゲームではメニュー画面やオプション画面などの静的なUIが前面に来る画面では、背景画像にスクロールするパターン画像を使ってユーザの飽きが来ないように工夫されています。

背景のUIにパターン画像を表示されるのは非常に簡単で、最初にパターン表示される画像に対してTexture Type を Sprite(2D and UI)にWrap Mode を Repeat に設定します。

 

次にパターン画像を表示するPanelに対してImageコンポーネントのSource Image に、先ほど準備したSpriteを指定し、Image Type を Tiled に設定すれば

 

画面全体にパターン画像が繰り返し表示されるようになります。


ちなみに、この際、Pixels Per Unit Multiplier で繰り返しの表示サイズを調整することが出来ます。

Pixels Per Unit Multiplierを小さくした場合は・・・

繰り返しパターンが大きく表示され、逆に大きくした場合は

小さく表示されます。

 

画像のスクロール

画像スクロールを行うためにはImageコンポーネントからmaterialを取得し、そのプロパティ「mainTextureOffset」を変更することになります
mainTextureOffsetでは画像の表示開始位置をVector2で定義しているので、水平方向に動かす場合はX成分を、垂直方向に動かす場合はY成分を変更します。

docs.unity3d.com上のリンクでは画像のスクロール処理例としてmainTextureOffsetをUpdate関数内で変更していますが、それでは芸がないのでLitMotionを使った例を紹介します。

 

public float ScrollSpeed_Y = 1.0f;
private Image Panel_image;
private Material Panel_material;

private readonly CompositeMotionHandle Handles = new CompositeMotionHandle();

/// <summary>
/// 初期処理
/// </summary>
void Start()
{
  Panel_image = PanelObj.GetComponent<Image>();

  // 他に影響を与えないためにマテリアルを複製
  Panel_material = new Material(Panel_image.material);
  Panel_image.material = Panel_material;
}

void Update()
{
  // Sキー押下でスクロール開始
  if (Input.GetKeyUp(KeyCode.S))
  {
    Req_UIPanel_Scroll();
  }
  
  // Dキー押下でスクロール停止
  if (Input.GetKeyUp(KeyCode.D))
  {
    Handles.Cancel();
  }
}

public void Req_UIPanel_Scroll()
{
  LMotion.Create(0.0f, 1.0f, 1.0f)
    .WithLoops(-1, LoopType.Incremental)
    .WithEase(Ease.Linear)
    .Bind(value =>
    {
        Vector2 offset = new Vector2(value * ScrollSpeed_X, value * ScrollSpeed_Y);

        // 更新したオフセットをマテリアルに適用
        Panel_image.material.mainTextureOffset = offset;
    })
    .AddTo(Handles);    // Handleに紐づける
}

ポイントはLitMotionの繰り返しの指定(LoopType)に「Incremental」(加算方式)を指定する事です。

動作確認するとこんな感じです。LitMotionで永久ループしているので、これを止める場合はLMotionからの戻り値のハンドルに対してCancelメソッドを実施してください。

 

非常に簡単に実装出来るのでお試しあれ。

【Unity】CinemachineカメラをSplineに沿ってターゲットと並走させる。(Cinemachine 3.x版)

健康診断

会社から年に一度の健康診断のお知らせが来て恐怖におののいている不摂生な皆さんこんにちは。健康診断を受診するたびに「これから減量頑張ろう」と心に誓うのに年を跨ぐとなぜか綺麗さっぱり忘れて、健康診断の通知が来ると日ごろの不摂生を後悔するというパターンを繰り返しているはきっと何かのデバフに掛かっている所為だと思います。お祓いにでも行こうかな。

 

大阪インディーゲームサミット

先日東京ゲームダンジョンに出展したばかりですが、この度10月に大阪で開催される「OSAKA INDIE GAMES SUMMIT 2025」への出展が決まりました、ありがとうございます。

funky802.com

自身初の関西圏での出展となります。この展示会自体も初開催という事でどんな感じになるのか分かりませんが、他の出展予定作品を見るとレベルの高そうな作品ばかりなので東京の展示会と同様に盛り上がる事でしょう。この展示会に向けた新ステージも作成中なので多くの方に楽しんでいただけるように頑張りたいと思います。
10/4~5にコングレスクエア グラングリーン大阪で開催され、10/4はビジネスデーで10/5が一般デーとなっています。

 

Cinemachineカメラ

前回の記事で取り上げた通りUnityのカメラ制御用パッケージ「Cinemachine」は現行の3.x版からクラス名やIF、関数の仕様やらが大幅に変わっています。

docs.unity3d.com

特に指定したターゲット(GameObject)を絶えずカメラの画角内に収めながら位置や向きを自動で更新するような設定については、位置と回転(向き)それぞれで独立したコンポーネントになったので戸惑う人も多いのではないでしょうか。

今回はCinemachine 3.x版を使って移動するターゲットを撮影しながらSplinesに沿ってCinemachineを移動させる設定を行います。

 

例として鳥のオブジェクトとCinemachineカメラを用意

二つの楕円系のSplineで鳥が内側、Cinemachineカメラが外側のSplineを使用するとします。

 

Cinemachine Spline Dolly

CinemachineカメラをSplineに沿って移動させるには「Cinemachine Spline Dolly」コンポーネントを使用します。

メニューのGameObjectから Cinemachine > Dolly Camera with Spline を選択すると自動的に「Cinemachie Spline Dolly」コンポーネントがアタッチされたCinemachineカメラが作られます。

既に存在するCinemachineカメラを使用する場合は「Cinemachine Spline Dolly」コンポーネントをアタッチします。

ターゲット(鳥)を画角内で撮影するため「Cinemachine Camera」のTracking TargetにターゲットのTransformを指定し、次に「Rotation Composer」をアタッチします。

自動でターゲットを画角内に収めるようになります。

 

追尾設定

ターゲットを追尾して動くにするにはCinemachie Spline Dolly」コンポーネントの「Automatic Dolly」のチェックをONにします。追尾の手法は二種類あり

  • Nearest Point To Target:Tracking Target と 軌道の範囲内で最も近い点に自動で移動します。
  • Fixed Speed:設定した速さで軌道上を移動し続けます。

となっています。

「Nearest Point To Target」を指定するとカメラの軌道上でターゲットからの距離が最短となる位置を計算して動くため、ターゲットが動くと自動的に並走が始まり、ターゲットが停止すると合わせてカメラの並走も停止します。

ターゲットからの距離を絶えず計算しているせいかあまりスムーズではない感じがします。

 

「Fixed Speed」を指定するとゲーム開始と同時にカメラが勝手に動き出す為、起動時はenabledのプロパティをfalseにして置き、スクリプト側で必要なタイミングにenabledをtrueにしないといけません
また、一度enabledをtrueにするとずっと動き続けるため、停止するには再度プロパティの値をfalseにします。

 

しかしながら、こちらの設定の方が移動がスムーズなようです。

先ほどのプロパティの操作や速度の調整など手間が掛かるので「Nearest Point To Target」とどちらの設定を使うかはケースバイケースで使い分ける必要があるようです。

 

【Unity】Cinemachine3にアップデートして右往左往

配賦物

一歩も外へ出なかった夏休み明け、久しぶりに出社した会社で配られるお見上げ品の数々を目の前にして心苦しさと一抹の後悔を覚える小心者の皆さんこんにちは。もはや見透かされたかのように「夏休みはどこかへ行きました?」という質問さえされません。いや逆に、あの大雨と猛暑が続く中で外へ遊びに出かけた人たちがいることの方が驚きです。

 

机上のモニターで遊ぶべきゲーム

全く事前情報を持たずに、Youtubeでたまたま流れてきたPVに一目ぼれしてゲームを購入しました。

クオータービュー視点のステルスゲームです。
北欧風の架空の街エリクスホルムで警官らに追われながら失踪した弟を探す少女が主人公。追っ手の視線を建物の蔭に隠れてかわしながらチェックポイントまで向かう事が主なプレイ内容ですが、途中で吹き矢を使って敵を眠らせたり、味方のキャラクターと操作を切り替えてギミックを解除したりとパズルアクション的な要素が多く含まれています。
敵に見つかると即ゲームオーバーとなりますがチェックポイントが細かく設置されているのでリスタートしやすくてストレスはないです。

上のように細部のオブジェクトまで陰影が綺麗に表示された映像は美しい反面、ゲーム機をリビングのTVに接続したような環境(モニターから離れてみる環境)ではちょっと見づらいです。
私はPS5に4K対応のTVモニターを繋げてプレイしましたが画面から離れるとキャラクターが小さく操作しずらくなるため、ずっとTVの近くに席を陣どって遊んでいました。リビングのTVではなく机上のモニターで遊ぶべきゲームです。

しかしステルス要素、グラフィック、シナリオ、世界観とどれもレベルが高くまとまっており、俯瞰視点の美麗なグラフィックスによるゲーム体験は今後のステルスゲームの新たなフレームワークとして活用されそうですね。

 

Cinemachine3

Unity公式からリリースされている「Cinemachine Camera」というパッケージはゲーム内での必要なカメラワークを簡単な設定で作成できる便利なパッケージで、以前から使用している方も多いと思いますが、Cinemachine Cameraの2.x版から3.x版へのアップデートに伴いIFや仕様等が大幅に変わっているため、制作中のプロジェクトで2.x版を使用していて何も知らずに3.x版へアップデートしてしまうとエラー等が発生して右往左往する事になります。

docs.unity3d.com

特にカメラを制御するためのクラス名が2.x版までの「CinemachineVirtualCamera」から「CinemachineCamera」へ変更されているため、スクリプトでそのクラスを使用しているとCinemachine3.xアップデー後は必ずビルドエラーとなります。

また「CinemachineVirtualCamera」コンポーネントをアタッチされたオブジェクトの方は自動で「CinemachineCamera」コンポーネントに置き換わってくれますが、オブジェクトを追従するFollowやLookAtの設定は別コンポーネントに移行して、それらの設定のIFや名称が大きく変わっています

名称の主な変更点は以下の通り

  • VirtualCamera → CinemachineCamera
  • Transposer → Follow
  • Framing Transposer → Position Composer
  • POV → Pan Tilt
  • Tracked Dolly → Spline Dolly

 

CinemachineCamera

「CinemachineVirtualCamera」から置き換わった「CinemachineCamera」ですが、Inspector上でもこれまでの設定(プロパティ)とは異なる箇所があります。


特に注目すべきはカメラの切り替え等で頻繁に使用する「Priority」の項目がusing defaultのチェックボックスをONにしないとInspector上で変更できなくなっている事です。最初気づかなくて「Priority」が設定できなくなったと勘違いしそう。

また、これまでFollowやLookAtそれぞれで追従対象を指定した箇所は「Tracking Target」に指定し、位置情報の追従はInspector下部のSet Procedural ComponentsのPosition Controlで、回転の追従はRotation Controlで追従方法や距離、角度の指定を行うようになりました。

 

Position Control/Rotation Control

前述のPosition ControlおよびRotation Controlでプルダウンの中から追従方法を選ぶと、その詳細を設定するためのコンポーネントが自動でアタッチされます。


上の図ではPosition Controlに「Spline Dolly」、Rotation Controlに「Rotation Composer」を指定しています。

■Position Control

  • None: カメラをターゲットに追従して移動させない。
  • Follow: ターゲットとの距離を一定間隔に保って移動する。
  • Orbital Follow: ターゲットに対して可変関係で移動し、オプションでプレイヤー入力を受け入れる。
  • Third Person follow: ターゲットの回転に追従して、トラッキングターゲットをピボットポイントで、プレイヤーの周りを水平および垂直に回転させる。
  • Position Composer: ターゲットに対して固定された画面空間関係で移動(主に2Dカメラや正投影カメラで使用)
  • Hard Lock to Target: ターゲットと同じ位置を保って移動。
  • Spline Dolly: スプラインで指定されたパスに沿って移動。

 

■Rotation Control

  • None: カメラをターゲットに追従して回転させない
  • Rotation Composer: ターゲットをカメラフレーム内に収めるように、ポジションコントロールとダンピングを行う。
  • Hard Look At: ターゲットをカメラフレームの中央に収めます。
  • Pan Tilt: ユーザーの入力に基づいて、オプションで カメラを回転させる。
  • Same As Follow Target: ターゲットの回転に合わせてカメラの回転を行う。

 

最後に

Cinemachineはカメラワークを簡単に実装できますが、バージョンアップにより色々と変わると面倒ですね。また、今後Cinemachineについて調べる場合はその記事が2.x版か3.x版に対するものか確認するよう注意してください

 

【レポート】8/3(日) 開催「東京ゲームダンジョン9」への出展を振り返る

敵情視察?

「出展者」の札をぶら下げてパンフレット片手にピンポイントでこちらのゲームの試遊に訪れる方にビビり散らかしていた気弱な皆さんこんにちは。ダメだしされるか、マウント取られるかと思っていましたが特に何の感想も述べる事なく、そして自分のブースの宣伝をするわけでもなく静かに去って行かれましたが、一体何だったのでしょうか?そういった方が3,4名ほどおられましたね。生憎こちらもコミュ障なので何も聞きませんでしたが「どこのブースで出展しているんですか?」ぐらいは尋ねればよかった。

 

東京ゲームダンジョン9

といわけで以前からこのブログでお知らせしていた通り、8/3(日)に東京・浜松町で開催された「東京ゲームダンジョン9」にリズムアクションゲーム「Under A Groove」を出展してきました。

tokyogamedungeon.com

このイベントへ出展は去年10月の「東京ゲームダンジョン6」以来、三回目となりますが今回が一番、設営から展示までスムーズに運営することができた展示会でした。持ち込んだ試遊版もノートPCで長時間稼働しても遅延することなく、バグも発生せず最後まで動かすことが出来ていたのでほっと一安心。試遊版を遊んだ方の感想も上々だったので、ゲームの方向性、見せ方に間違いがなかった事を確認することが出来、自画自賛ならがも実りの多い展示会になったと思います。

ちなみに今回のバージョンのプレイ動画をYoutubeに上げていますので、気なった方はご確認いただけると幸いです。

youtu.be

今回の東京ゲームダンジョンは3,4Fの2フロアでの開催という事で、私のブースがあった3Fは比較的混み合う事無くいい感じに人が流れていたように思います。

と言っても試暇をもてあそぶわけでもなく、途切れることなく人が訪れる時間帯もあったりして、ワンオペでも適度にこなせる程度の込み具合でした。

まぁ、今回は両サイドのブースの方が積極的に声を掛けてチラシを配る方々だったので、取り合いを避けて試遊に訪れた方にだけ配賦物を渡したり応対をする方針としたのでそこまで疲れなかった、という事もありますが。
(おかげで配賦物のクリアファイルと缶バッジは余ってしまったけど)

当日のブース。今回からPVを流す為にiPadを追加

 

配賦したクリファイル

 

持ち込んだ試遊版の評判もそこそこ良かったのでここまで苦労して準備した甲斐があったと思える展示会でした。この展示会に申し込んでから約二ヶ月、試遊版の開発は苦労の連続でしたが報われた思いです。
ここから少し試遊版の開発の話になります。

 

開発の振り返り

今回展示した「Under A Groove」はリズムアクションゲームですが、これまでの音楽主体、リズム主体のリズムゲームとは異なり、音楽と映像とプレイヤーの操作が連動することに重きをおいたゲームデザインとなっています。

 

これまでは先に映像(アニメーション)を作り、それに合わせてプレイヤーの操作を誘導するノーツ(音ゲーのノーツと同じ)を配置していたのですが、そうすると場面の転換点やアニメーション動作中にはノーツを配置しずらく、そのためにプレイヤーが映像を眺めているだけの時間が長くなる、という結果になっていました。

下の動画は今年3月の東京インディーゲームサミットで展示したバージョンのプレイ動画ですが、序盤の方はノーツが表示される間隔が長く、映像を見ているだけの時間が長くなっています。

youtu.be

そうするとプレイヤーがリズムゲームに求める爽快感やリズム感といったプレイフィールからは遠いものとなってしまうので、いくら映像に力を入れても遊んだ方に「楽しい」と思ってもらえる事が難しくなります。実際に東京インディーゲームサミットでも試遊された方のリアクションを見るに、こちらが思う「楽しさ」を分かってもらうには厳しい感じでした。
その為、今回のバージョンの開発にあたってはリズムゲームの原点にもどって「リズムに乗って動くことは楽しい」と感じられるよう、楽曲のリズムを主体にノーツを配置して、後から映像を合わせる、という形で開発を行いました。

この為、これまではプレイヤーの操作(ボタン押下)につき1つのノーツを画面に表示する形でしたが、それでは楽曲中のリズムが早い箇所では対応が難しい為、複数の操作を一つにまとめた形でノーツを表現する事になり、結果として場面毎にノーツの表示し方が異なる、という形式になりました。

アイコンを並べたノーツ

 

楽譜風なノーツ

 

こちらは従来の形のノーツ

これによりプレーヤーが映像を見ているだけの時間を減らすことはできましたが、逆に操作を促すノーツの形式が場面毎に異なるのはプレイヤーが戸惑って遊べなくなるのではないか、という不安もありました。

 

結果は上々

色々不安があったのですが当日実際に試遊された方からは「何をしたらよいか分からない」「どこを見てよいか分からない」という声は聞かれず、ほとんどの方が操作に戸惑う様子は見られなかったので、そういった懸念事項は杞憂だったことが分かりました。
小さなお子さんもプレイして頂けましたが(親御さんの補助もあり)最後まで投げ出さずに遊んでもらうことが出来ました。
色々な方から「面白かったです」という感想と共にSteamページやSNSでの情報の有無を聞かれて、気に掛けてもらえたようで嬉しかったです。

まだ開発の初期段階なので特に伝えらえるような情報が無く、その場限りの交流となってしまい心苦しかったのですが、そういった声が今後の励みになりました。
最終的にはおよそ80名前後の方々に遊んでいただけました。改めまして、試遊いただいた皆さん、本当にありがとうございました。

 

最後に

次に参加する展示会は大阪インディーゲームサミットとなります。東京ゲームダンジョンへは来年2月の東京ゲームダンジョン11への参加が目標となりますが、それまでにこのゲームに磨きを掛けて、多くの方々に喜んでもらえるような作品に仕上げたいと思います。

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。