15期のドッグウッドと申します。
今回はメトロイドヴァニアのマップ機能についてです。
メトロイドヴァニア。ボスを倒す、宝箱を開ける、購入するなどの手段で移動能力を増やすことで、探索可能な場所を増やして進んでいく2Dアクションです。
世の中のメトロイドヴァニアには多様なマップ機能があります。アイテムの位置が表示されていたりいなかったり、一部屋が単なる四角だったり地形に合わせた形だったり……。詳細に書かれていればいるほどいい、というわけではないのが難しい所です。
メトロイドヴァニアにおけるマップの機能は単なる「迷わないようにするための道具」ではありません。それなら最初から完全に埋まったマップを用意すればいいだけの話ですからね。
僕は現実の地図とは大きく違って2つの役割があると思います。
1.探索のモチベーションを向上させる。
メトロイドヴァニアといえば「探索」の楽しさがゲームの根幹の楽しさの内の一つになっています。
では、「探索の楽しさ」とは何か。
それは、未知を既知に変えるプロセスそのものでしょう。
「未知」の魅力を増すために、レベルデザインをする人は「宝箱」「変な地形」「倒すのが難しい敵」「頭を使わないと先へ進めないギミック」を用意します。ずっと同じ平坦な道では、「未知」の先の予想がついて退屈になってしまいます。
マップはその「未知」を示す機能だと思います。
マップがなければ、一度通った道を忘れてもう一度通り、「なんだまたここか」となってしまいますね。また、アイテムを探すのにもある程度の位置がわかっていないと探す行為が苦痛になってしまいます。
この辺りはEnderLiliesが上手いですね。
「未探索な場所」のエリアの色が変わる仕様になってはいますが、エリアのどこにあるのか、何があるのかは表示されません。
エリアを限定して「未知」の存在を示しながらも「何があるか」は示さない、見事な塩梅です。
「このエリアの中のこの場所に食料素材のじゃがいもが7個ある」なんて詳細にマップを示したら、ただのおつかいになってしまいますね。
2.探索の集積としてのトロフィー
厳密には1に含まれますが、1は未来向きの役割、2は過去向きの役割ということで分けてあります。
自分はこんなに広い地形を全て踏破してきたんだぞ!という実績の表示としてのマップです。メトロイドヴァニアのマップならマップの拡大/縮小機能は(個人的には)絶対に欲しい所です。
ここを意識しているゲームは割と少ない気がするのですが……どうでしょうか。探索率100%のエリアができたら虹色に光るくらいやっていい気がします。
単に実績が解除されるだけというのが多いイメージですね。
これらのマップの役割を前提として、マップの仕様でよくぶち当たる問題をいくつか論じてみましょうか。収集要素の多寡など、規模によって結論は異なることがあります、ご了承ください。
・マップを手に入れるタイミングについて
マップ自体を最初に保持しておらず、各エリア内で購入することで初めてそのエリアのマップを見ることができる作品があります。
これは非常に合理的な仕様だと思います。
最初は事由に探索をさせ、だんだんマップが覚えきれなくなってきたところでマップを得る……そして、「あそこに行けるのか」などの驚きを得る。
これは「マップが欲しいから探索をする」のようにモチベーションになる上に、実装の工数も少なくて済む工夫だと思います。(「Near The Sun」ではテンポが落ちるため入れていませんが……)
しかし、マップをもらえる場所を見逃すと大きなストレスになり、一つのエリアから次のエリアへ移動する時に「マップを覚える」負荷をかけることになります。
マップをもらえる場所をわかりやすくすること、ボスなどで一つのエリアから次のエリアの区切りをわかりやすくした上で何らかの探索のモチベーションを用意すること、そしてマップを手に入れたとき、すでに通ったことがある場所はもう一度通って埋める必要がないようにすることは気を付けたいですね。
・探索中に死んだとき、マップの埋まり具合も巻き戻るべきか?
これは巻き戻るべきではないと思います。
死ぬたびに地形が変わるなどの要素があれば話は別ですが……。
この仕様が入っているゲームはデスルーラ対策で、チェックポイントの価値をあげたいのかなと思うのですが、ストレスの方が大きいでしょう。
既知を忘れたことによる未知はたいして価値のある未知ではありません。
ということで、マップについて書いてきました。
マップは実装が大変で、地形を変えるとマップも変えないといけないので工数も大きく増えますが、ゲームをプレイしてくれる人の遊びやすさを向上させる意味でも入れたい機能ですね。
次は「Near The Sun」のステージ装飾について話します。
15期のドッグウッドと申します。
今回は「Near The Sun」におけるイベントシーンの作り方について話します。
2Dアクションにおけるイベントシーン。
作り方をどのように設計するのが良いでしょうか。

作成の準備に手間がかからず、できることに制限を設けないで手直しが簡単でなければなりません。
「Near The Sun」では次のように作成しています。
まずはイベントシーンへの入り方。
1.シーンがロードされた時
2.プレイヤーがWキーでインタラクションした時
3.プレイヤーが特定の領域に入った時
の3つが用意されています。
そして、イベントシーンに入るとメニューが開けなくなり、プレイヤーの動作が出来なくなり、エネルギー残量が最大になります。
そして、会話はインスペクター上で2つのリストに入力することで作成できます。(翻訳のことを考えるとcsv読み込みの方がいいのですが……csv読み込みの切り替えは最後にまとめて行うことを考えています。いちいちcsvファイルを作るのは大変なので。)
基本的にはこれだけです。
オブジェクトにコライダーとスクリプトをつけて、会話と話者を書き込む。単純ですね。
ビジュアルノベル時の機能とは違い、立ち絵を出す機能はデフォルトでついていません。(無理やり出すことはできますが)
しかし、会話のみのイベントを作成することはほとんどありません。音を鳴らしたり、アニメーションを進めたりなどをする必要があります。
それはこちらの機能で行なっています。

下のEvent int Listはイベントが起こるタイミング、上のLineEventsは起こるイベントの内容を示します。
例えばこの場合、「1」つ目のメッセージでEnterが押された瞬間、Event int ListのElement1が「1」になっているので、LineEventsのElement1が起こります。
実装は簡単で、以下の関数をcallbackとしてEnterが押された時に呼んでいるだけです。

これによって、Enterが押されてた瞬間を基準として好きなイベントを起こすことができるようになります。
それでは、よく使うイベントを紹介します。(コンポーネントのenabledとかSetActiveとかの既存のイベントは省略します。)
・ChangeCam.Change(int id)
本プロジェクトではCinemachineを使っています。VirtualCameraのリストを保持し、リスト内のPriorityを制御して特定のVirtualCameraに切り替える関数です。

・ChangeBlendTime.SetBlendTime(float duration)
Cinemachineのblendtimeを設定します。よくカメラ切り替えと同時に設定します。(VirtualCameraのブレンド方式を変更する関数もたまに使います。)
・SimpleMessage.WaitSec(float time)
指定の秒数だけ待った後次のメッセージを表示します。アニメーションを流している間待つのに使います。
・SimpleMessage.TextTmpUnVisible()
次のメッセージまでテキストボックスを非表示にします。
・ChangeAnimatorState.ChangeStateWithId(int id)
あらかじめ指定されたAnimatorのInt型パラメータの数値を設定します。
・LateUnityEvent.Play()
指定秒数後にEventを起こします。
・ImpulseSourceManager.GenerateImpulsewithForce(float force)
画面を揺らします。
・PlaySE.PlaywithClip(AudioClip clip)
SEを再生します。
・FadeController.StartBlackout/FinishBlackout(float duration)
画面の暗転/明転を行います。
・WarpController.Warp()
主人公の位置を移動させます。
正直、これらの機能があれば大抵のイベントシーンは作成できます。
あとはパーティクルの再生、Timelineの再生くらいですが既存の関数が用意されているのでありがたいです。
現在のイベントの作成方法にはかなり満足しているのですが、一つ不満点を挙げるとすれば、複雑な処理をしたくなったときにインスペクターが長くなってしまうことですね。各Elementで折りたたみをしたい……。
他のプロジェクトだとイベントの作成ってどうやっているんでしょうか?
次はマップ機能について考えたことを話します。
15期のドッグウッドです。
今回はゲームの大会に申し込んだ話です。
2024年の7月、コナミ主催の学生ゲームコンテスト、「IndieGamesContest」に応募をしました。
応募をする直前にステージを1つ仕上げ、ほとんど入っていなかったSEを入れて完成度がかなり上がり、かなりの自信と共に臨んだのですが……。
結果は1次予選落ち。
そもそも1次で20作品まで絞られるので狭き門ではあったのですが、かなりショックでした。人間ってショックなことがあると本当に気絶するんですね。
一日悔しがりに悔しがった後、「実装が大変だがあったほうが必ずゲームが良くなる」マップ機能の実装に踏み切りました。これによりゲームは確実にクオリティがアップしました。タイミング的にも、多分大会に出さなかったらこの機能の実装はなかったと思います。
僕自身はゲームを大会に出すのには賛成派です。
「ゲームは比べて順位をつけるものではない」という気持ちもわかります。
ゲームシステムはつまらないけど入っているムービーとストーリーが最高なゲームと、ゲームシステムは面白いけどグラフィックのセンスが壊滅的なゲームを、パズル・ビジュアルノベル・アクション……それぞれのジャンルを超えて絶対的な順位をつけるなんて、まあ前提として不可能でしょう。
なので、ここでついた順位はあくまで参考程度にしかなりません。
しかし、必ず保証されていることはあります。
それは「上位を取ったゲームは多くの人が楽しいと感じられる可能性が高い」ということです。
何を当たり前のことを、と思うかもしれませんがそうですね、重要なのはここではありません。
「上位を取れなかったゲームが面白くないとは保証されない」部分です。
「完成度が高いならば必ず上位に入賞する」は間違いで、「上位ならば完成度が高い」は正しいですね。
それを理解しておけば、大会は「面白いゲーム」を決める場所であり、「面白くないゲーム」を決める場所ではないとわかるでしょう。
ここまで前提です。
なぜ僕がゲームを大会に出すのには賛成派か。
一つは、それによりゲームのクオリティが向上するからです。今回もマップ機能を追加しクオリティを上げました。この部分に関しては入賞しない方が悔しがってゲームをさらによくしようと思うので、入賞しない方がいいですね。
「入賞しないからと言って面白いゲームじゃない」って自分で言ってただろって?悔しいものは悔しいんです。
そして、入賞すれば入賞したことによりモチベーションが湧きます。数年単位の開発が当たり前のゲームにおいて、モチベーションの維持は重要ですね。
そして、学生にとって入賞やプログラムの採択は決して軽視すべきではありません。なぜなら「親や教員からの理解」はこの客観的な評価基準によってでしか得られない場合が多いからです。インディーゲーム業界に詳しい親や教員を期待してゲームを直接見せるよりは優れた説得手段だと思います。
また、ゲームが売れるように宣伝もできるのでいいですね。
これらのメリットがあるので、また懲りずにゲームを大会に出すことになります。その話はまた今度。
次は現在のイベント作成方法について話します。
誰か正しい方法を教えてくれ……。
15期のドッグウッドと申します。
今回はチュートリアルの作成法について話します。
チュートリアルはめちゃくちゃ大事です。
どれだけ頑張って作ったゲームでも、ルールがわからなければ遊んでもらえはしません。
ただ、「人にルールを学習させる」ということで、作るのはとても難しいです。工数もかかります。それでいてプレイヤーが「いいチュートリアルだ、最高!楽しい!」となることは余りないのが辛いところです。
そんなチュートリアルを作成しながら以下のことを考えました。
1.置いてあるだけの文字は読まない。アニメーションさせろ
2.アニメーションしただけの文字は読まない。操作が必要な「壁」を作れ
3.わかりにくいルールは何回でも提示しろ
4.重要なチュートリアルは画面を止めろ
5.操作方法は常に提示しろ
6.文章は短く
です。もうここで記事が終わってもいいのですが……それだと短すぎるのでそれぞれ少しずつ補足します。
1.置いてあるだけの文字は読まない。アニメーションさせろ

「Near The Sun」では文字をステージ上に配置してチュートリアルにしています。
初めてイベント出展したときは驚きました。半分くらいの人が文字を読まずに先に進むか、読んでも理解せずに先に進みます。
これはお客さんが悪いのではないです。チュートリアルの役割はコミュニケーションであり、どういう原因であれそれを果たせなかったのはチュートリアル側に落ち度があります。まあどこまで対応するかは別の話ですが……。
「でかい文字」は別に人の気を引きません。なぜならその下を通るステージの方が重要で、目が行くからです。
では目を行かせるにはどうしたらよいか。
人は動くものを目で追います。そのため、大きさを変えてアニメーションさせるのが一つの手段です。あとは点滅させるのも効果があると思います

2.アニメーションしただけの文字は読まない。操作が必要な「壁」を作れ
1で文字をアニメーションさせましたが、まだ足りません。プレイヤーは文字を(そもそも読まないか)読んだ気になって先に進みます。そのため、幾度かその操作を実際に行わせて覚えさせるのが重要です。
上の例では左右移動、ジャンプだけでは超えられない壁を用意しています。
ただ、「○○でゲームオーバー」は実際に体験させるのが難しいですよね……。ここの解決策は僕自身見つけられていません。
3.わかりにくいルールは何回でも提示しろ
座学、実践ときたら次はそう、反復です。ある程度時間がたってからもう一度チュートリアルを提示しましょう。
4.重要なチュートリアルは画面を止めろ
しかし、「アイテムの取得」などはゲームシステムの都合上一度しか提示できない、次に提示されるのはもっと後の方になってしまう、という操作もありますよね。その時は奥義、「画面を止めて文字を読み、特定のボタンを押さないと再開できない」です。これをやると(理解させるかはともかく)プレイヤーは確実に文字を読みます。
ゲームのテンポ?知ったことではありません。ルールの理解の方が何百倍も大事です。
むしろ、止めすぎると学習されて読み飛ばされる方を恐れたほうがいいです。その意味で「ここぞ」という時に使うのが良いのではないでしょうか。
5.操作方法は常に提示しろ
一度途中までやって積んでいたゲームを再開したら操作方法がわからない、という経験はありませんか?私たちが作っているゲームも当然そうなる可能性があります。インタラクションの方法は常に表示しておきましょう。
本筋からは逸れますが、再開時にできれば「ここまでのあらすじ」みたいな機能を入れたいですよね……。しかし工数が……。
6.文章は短く
多少正確性が落ちても直感的に理解できるチュートリアルの方が格上です。
チュートリアルは「仕様を伝える場」ではありません。
具体例をお見せしましょう。
「空中ダッシュ中は敵の視界の中でエネルギーを消費しない」
↓
「空中ダッシュ中は無敵」
下の方がいいですよね。実際は空中ダッシュでトゲに突っ込むと死んだりしますが……それでも上の「理解できない文字列」よりはだいぶマシです。
短く仕様を完璧に伝えられるならそれに越したことはないんですけどね。
いろいろ書いてきましたがまあ、結局は工数との戦いでもあります。
逆に言えばどれだけ適当に作られていても伝わりさえすればなんでもいいわけですし。
チュートリアルアニメーションの細かい動きにこだわるくらいなら、ボスの動きをゴージャスにした方がいいですね。
なんにせよ人とのコミュニケーションは難しいということで……。
最後に、SANABIのチュートリアルの見せ方はとても参考になります。
アニメーションする看板、半透明なプレイヤーのアニメーション、足を止めさせてのチュートリアル、というかチュートリアル用のステージがきちんと複数用意されていてすごすぎ……。一度プレイしてみてください。
次回はInideGamesContest2024への申し込みとその結果について話します。
15期のドッグウッドと申します。
本日はUnityのエディタ拡張、タイルブラシについて話します。
Unityのタイルマップ、という機能をご存知でしょうか。
画像をグリッド上に並べることで簡単に地形を作ることができる機能です。

とても便利です。大抵のゲームエンジンには似たような機能がついているんじゃないかと思います。
さて、「Near The Sun」もこのタイルマップの機能を活用しています。

足場や装飾はかなりタイルマップで作成しています。
そしてなんと、背景の洞窟もタイルマップで生成しています。
わかりづらいので、前に出てきてもらいましょうか。


こちらの濃い鼠色の画像はタイルマップで作成しています。よく見ると同じタイルが使われていることがわかると思います。
しかし、このタイルを全て並べるのは……手作業ではさすがにきついですね。
そこで、タイルを並べる機能、「タイルブラシ」を拡張して「洞窟ブラシ」を作成しました。

まずは、「x→yタイル」、を、「x→yに線を引いた時に、その左側を塗りつぶしタイル」と定義します。
「a→hタイル」は以下のようになります。

「h→a」タイルは以下ですね。

まずは、「x→yタイル」はxが8通り、それぞれについてyが7通り(「x→xタイル」は存在しない)、あるので、56枚の画像を用意します。

これで前準備は完了、それぞれのタイルをスクリプタブルオブジェクトにまとめておきます。

いよいよ洞窟ブラシの実装です。まずはブラシ、次に消しゴム、最後にCleanボタンを実装します。
①ブラシ
まず目標グリッドの上下左右4つのタイルを確認して、a,b,c,d,e,f,g,hのどこが埋まっているかを確認します。
下の例なら、右をチェックしてe,hが埋まっていることがわかります。


では、上図のように上下左右を確認したところ、a,b,d,e,f,g,hが埋まっていて、cが 埋まっていないことが分かったとしましょう。
そしたら次は角の周辺が全て埋まっているかをチェックします。まずはcから。
c,e,b……cが埋まっていない
次はhの周辺がすべて埋まっているかをチェックします。
e,h,g……全て埋まっている
これで、少なくともe,h,gが埋まったタイル、つまり「e→gタイル」を設置できることがわかります。
a,c,f,hの角の周辺が一つも埋まっていない場合、タイルを設置しません。
あとは簡単、hから右回り、左回りに点を見ていって「x→yタイル」のxとyを決定するだけです。
h…埋まっている、e…埋まっている、c…埋まっていない
よってx=e
h …埋まっている ,g …埋まっている ,f …埋まっている ,d …埋まっている ,a …埋まっている ,b …埋まっている ,c …埋まっていない
よってy=b
「e→bタイル」を設置すればよい

さて、もうお気づきかもしれませんが、この方法は全ての場合には対応していません。以下のような周辺状況の場合、設置すべきタイルはa,b,d,e,h,gが埋まった以下のようなタイルです。

しかし、思い出してください。このようなタイルはそもそも作成していません。存在しないタイルは配置することができないので、この場合はe,h,gが埋まっているため「e→g」タイルを設置するので良いのです。最後の「Cleanボタン」でここの解決方法を示します。
次に消しゴムです。
こちらは簡単。まずは半径から円形範囲を計算して、円形の内側のタイルを消去します。そしたら赤色のタイルをある場所から左回りに順番に見ていきます。

水色のタイルに注目しましょうか。

こちらの場合は下と上にタイルが入るので、「(a,b,c)→(f,g,h)タイル」を設置すればよいですね。(a,b,c)はランダムに選んで、左回りなので下側の(f,g,h)はもう決まっているはずです。
その次は下と左にタイルが入るので、「(a,d,f)→(f,g,h)タイル」を設置すればいいですね。先ほどランダムに選んだ(a,b,c)がそれぞれ(f,g,h)に対応しています。
そして最後に「Cleanボタン」です。いままでのアルゴリズムは全パターンを網羅したものではないので、消しゴムを左右に振ったりすれば以下のように不適当なタイルが設置されてしまいます。

そこで「Cleanボタン」です。すべてのマスに対して最初の「ブラシ」の操作、つまり「周りの状況を見て自分のタイルを決める動作」を行います。
こちらのボタンを2、3回押せばこの通り

ぼこぼこだったつなぎ目がきれいになりました。
こちらのボタンがあるので、完璧なアルゴリズムを組む必要がなかったんですね。
エディタ拡張、楽しいですね。タイルマップの背景は情報量も増えていい感じです。
次はチュートリアルの作成について書きます。
15期のドッグウッドと申します。
#11でのイベント出展で大失敗してから半年、ついにゲームダンジョンで一般の方々にお披露目をしました。
参加したのは5/4に浜松町で開催されたゲームダンジョン5。参加団体数260団体以上、来場者2500人以上の大きなゲーム展示イベントです。作品審査が存在しないので、ノンリニアのような学生団体も気軽に参加できるのはとてもありがたいですね。
さて、まずは反省から。
試遊台、動きませんでした!
いや、起動や操作自体はできたのですが、あまりにも重すぎて画面がカクカクしていました。
事前に確認しとけよ!と思うかもしれませんが、事前に確認はしていたのです。事前に確認したときは重くもならず動いていました。
じゃあなぜ本番で重くなったかと言うと、「PCを充電しているときにだけ動作が重くなる」という罠があったからです。
事前に確認したときは電源につなぎながらの確認はしていませんでした。
皆さんは確認するようにしましょう。
また、ゲームダンジョンの机は思っていたよりも広く、PC一台では少し寂しかったのも反省点でしたね……
#東京ゲームダンジョン5
— ノンリニア (@n_linear) May 4, 2024
出展完了しました
試遊もできます!
3H-13でお待ちしています! pic.twitter.com/Ba1UKZEllm
ということで、リベンジ!
7月14日にnote placeで開催された「東京ゲームダンジョン外伝」に参加してきました。
本日はよろしくお願いします!
— ノンリニア (@n_linear) July 14, 2024
設営完了しました
試遊できます!
ステッカーを配布しています!#東京ゲームダンジョン外伝 pic.twitter.com/X7bZ2kSG3w
今度は前回、前々回のイベント参加の反省を踏まえてモニター、ポスターを用意しました。見た目はかなり良くなっていますね。
やっぱりプレイしている様子を横から見るのか席の向こう側から見るのかでお客さんにかけるプレッシャーが違うので、モニターを用意したのは正解でした。
このためにモニター用のバッグも買いました。
ゲームダンジョン外伝は学生ゲームエリアとADVゲームエリアの2エリアで開催され、僕たちは学生ゲームエリアで出展させてもらいました。
きちんとチュートリアルステージを作ったかいがあって、客足が途絶えることがなく試遊をしてもらえました。
こんな無名なゲームを遊んでもらえるのはめちゃくちゃありがたかったですね。
チュートリアルでわかりづらかったところが浮き彫りになり、修正点を把握することができたのは大きかったです。
2回の失敗を踏まえての今回の出展は大成功でした。
もぐらゲームスさんに記事も書いてもらいました!
https://www.moguragames.com/tokyo-game-dungeon-gaiden-report/
チュートリアルの作成、詰んだときの対応、モニターの用意、コードを繋いでの動作確認は大事ということで……ぜひイベントに出展する時は参考にしてください。あと、最悪その場でコードを修正するという荒技もあるので、開発用のノートPCも持ってくるといいかも。
次回はunityのeditor拡張、洞窟ブラシについて話そうと思います。
15期のドッグウッドです。
今回は「Near The Sun」における「敵を倒す意味」について話したいと思います。
一般のゲームでは、敵を倒すと経験値やお金が得られることが多いです。このシステムはよくできていて、「戦闘」という楽しさをプレイヤーが積極的に行うモチベーションになり、プレイヤーの努力がポジティブにフィードバックされる仕組みになっています。「やらされている感のある戦闘」はつまらないですからね。
しかし、「Near The Sun」では敵を倒しても経験値もお金も得られません。
これは本作が分岐するストーリーを基盤とするシステムであり、「戻ってやり直す」ことが想定されているからです。戻ったときに「経験値をためる」「お金を稼ぐ」などの行為がまたやりなおしになるのはきついですよね。
また、敵を破壊することはできず一時的にマヒさせることしかできないので、敵はすぐに復活します。その場ですぐにお金や経験値を無限に得ることができます。「同じ敵は一度しかお金を落とさない」ならどうでしょう。ワールドマップで前のステージに戻って周回ということができないので、詰み状態が発生する可能性があります。それなら、「一度お金を落としたら次のチェックポイントを通るまでお金を落とさない」……複雑すぎますね。
ということで、「敵を倒す」と「お金を得る」のちょうどいいバランスは本作では難しそうです。本作では敵を倒したときに何らかの報酬が得られるシステムは導入しないことにしました。
では、問題があります。「敵を倒すモチベーション」は?
敵を倒したってなにも得られないのなら、無視して先に進めばよくない?
以下が解決策です。
1.敵をストレスの塊にする
2.敵を倒す瞬間を気持ちよくする
3.「無視して先に進む」こと自体をゲーム性にする
(4.ドアを設置して無視できなくする)
まず一つ目。プレイヤーに「敵を倒したい!」と思わせます。「Near The Sun」では敵の視界に入るとHP(エネルギー残量)が削れていくのですが、このときスローモーションになります。これはプレイヤーに次の動作を考える時間を与えるとともに、爽快なゲームプレイを邪魔するものとなっています。
プレイヤーはこの視界に入るとストレスを感じ、排除したいと考えるようになります。

そして二つ目。敵を一撃で倒したときの大量のエフェクト、音、ヒットストップ、画面振動での手ごたえです。これについては前回言及しましたね。視界に入ってスローモーションになっているところをダッシュで駆ける、この爽快感は何度でも味わいたくなるものです。2Dアクション自体爽快感を求めてやっているので、楽しさの原点に戻った感じですね。

3つ目。そもそもステルスアクションというジャンル自体が「敵を避けること」をゲーム性にしています。敵に見つかるか見つからないかのギリギリで先に進む達成感を得られるようなレベルデザインにしたいものです。
4つ目。複数の敵を同時にマヒさせないと進めないギミックがあります。このギミックは「敵の撃破」に対して「先に進める」という報酬を提示します。

ということで、「敵を倒す意味」について話してきました。
単にお金やショップシステムを作るだけでも大変ですよね……買えるアイテムも作らないといけないですし……。本作ではそれで得られる「楽しさ」は少ないと判断して、ステージをすいすいとクリアする楽しさをメインにしました。さて、この選択が吉と出るか凶と出るか……。ビルドをゲームの楽しさの本質とする人とは相性が悪いかもしれないですね。
次回はゲームダンジョン5・外伝出展について話そうと思います。
15期のドッグウッドと申します。
今回は手応えの出し方について話します。
最初に言ってしまいましょう。
ヒットストップ、エフェクト、音、振動です。この4つが入っていれば確実に手ごたえが出ます。
「Near The Sun」はよく手ごたえが褒められます。
#春のゲーム制作者祭り #indiedev #NearTheSun
— ドッグウッド (@dogwood1081) March 27, 2025
爽快2Dステルスアクション「Near The Sun」です!
探索の仕方によってストーリーが変化します!
ポストアポカリプス/サイバー/ドット絵/セカイ系が好きな方はぜひ! pic.twitter.com/Di0iKHsZiS
ヒットストップ、エフェクト、音、振動モリモリですね。
これはプレイヤーの攻撃が基本的に一撃必殺だから入れています。弱攻撃でいちいち全ての要素を入れていたら 画面がうるさくなりすぎてしまいますね。
重要度は 音>エフェクト>画面振動>ヒットストップ だと思います。
手応えというのは、つまるところプレイヤーの行動結果のフィードバックです。
音がなければ、自分の攻撃が敵に当たったのか外れたのかがわかりません。基本的に、どんな小さな攻撃にもあったほうがいいでしょう。
エフェクトは画面のにぎやかしです。あくまでも画面をリッチにするためというのが一番なので、小さい攻撃に大きなエフェクトをつけると画面で何が起こっているのかがわからなくなってしまいます。
画面振動は手ごたえを大きく増しますが、同時に画面の視認性を下げます。エフェクトを併用する時は大きくわかりやすい形のエフェクトを使うといいでしょう。
ヒットストップは手ごたえを増す最終奥義であると同時に、戦闘のテンポを遅らせます。ここぞ!というときにだけ使いましょう。また、画面の経過時間を短時間だけいじるので、バグが少し怖いですね……。
最後にヒットストップの活用についてです。
大きな攻撃をするときは「ため」と「解放」が重要です。これがアニメーションなどであれば、単純に「ため」と「解放」を描けばよいです。しかし、ゲームになると「ため」はそのまま攻撃の入力後のラグになってしまいます。
まあ大きな攻撃ほど「ため」を必要とするのはリスクとリターンにあっているのですが、「Near The Sun」では移動で不快感を与えないため、一撃必殺の協力な攻撃手段に「ため」を設けていません。
さて、突進という攻撃手段を考えると、このゲームでは敵と重なったときにダッシュをして攻撃をすることが多いです。
すると上記の動画の最後のように、ヒットストップが「ため」と「解放」になります。


まあヒットストップ本来の用途が活用されている、というだけなのですが……
この点に着目して、「ヒットしたとき」と「ヒットストップ後」のエフェクトの見せ方にとてもこだわっています。
ということで、手応えの出し方について話してきました。このヒットストップの時間、「次の行動への思考時間」に割り当てることができればさらに活用できるのですが……その意味ではSANABIは「敵に攻撃をした後に飛ぶ方向を考える時間」としてうまく使っていますね。学ぶことは多い……。
次は「Near The Sun」における「敵を倒す意味」について話します。
15期のドッグウッドです。
今回はSNSに出す動画やスクリーンショットの撮り方について話します。
ゲームの宣伝、特に個人ゲーム開発者にとってゲームの宣伝は難しいですよね。
広告を出すのにもお金がかかるし、パブリッシャーなどがついていないと宣伝する場所もありません。ゲーム系の記事サイトにプレスリリースを送るのも節目に限られますし……。
秋葉原でティッシュ配りを行う、などの方法で宣伝している方もいらっしゃるみたいですね。
https://note.com/myu060309/n/n470bd130026f
そんな中、今最も一般的な宣伝方法はSNSでの投稿でしょう。
お金をかけずに、多くの人に見てもらうことができます。
どういう動画やスクリーンショットを撮れば投稿が伸びるのか……というのはまだ僕もわからないですし、世の中に記事があふれていると思うので特に言及はしません。一消費者側の意見として、短い動画が一番見やすいし気になるなとは思います。
今回はスクリーンショットや動画の撮り方についてです。スクリーンショットや動画を撮る方法が面倒だと、撮ってSNSにあげる気がなくなりますよね。Unityに限られてくる方法がメインですがご了承ください。
まず一つ目、単にGameタブを最大化してWindowsの機能でスクリーンショットを撮る方法。Shift + Windows + Sキーで撮ることができます。おそらく一番簡単です。
しかし、この機能は一つ問題があります。それは撮ったスクリーンショットがまとめて一つのフォルダに保存されることです。
わざわざスクリーンショットのフォルダに行って、さっき撮った画像を探して……というのは面倒くさいですよね。クリップボードにも保存されますが、こちらは画像としてエクスプローラーに保存するには外部ソフトに貼り付けて保存しないといけません。僕はDiscordに張り付けてから保存していました。
どうにかできないかな……と思って探したらありました。
https://www.100dof.com/apps/save-clipboard-here
クリップボードの写真を画像として保存できるメニューを表示してくれるソフトです。
Windows10,11は保証されていないので気を付けてください。僕のPC(Windows11)では問題なく動きました。 しかし保存されるパスに日本語が入っているとエラーが出るっぽい?
二つ目はUnity公式パッケージのRecorderウィンドウを用いる方法。
https://docs.unity3d.com/ja/Packages/com.unity.recorder@2.6/manual/index.html
こちらでは動画もスクリーンショットも撮ることができます。フォルダを指定しておけば自動的に保存されるので、スクリーンショット用のフォルダを作成することができます。

スクリーンショットはこれで撮れば問題はないですが……Shift+Windows+Sの方が普段使っていて使いやすいのと、各種設定の確認が面倒くさくてあまり使っていません。まとめて何枚も撮らないといけないときに使いますね。
そして動画についてなのですが、スペックが足りないと下の画像のようにガビガビになってしまいます。ある程度スペックのあるPCでないと活用するのは難しそうですね……

ただ、ImageSequenceの設定で撮れば綺麗に撮れるので、PVなどを作成する必要があるときは使っています。普段のSNS投稿には向いてないですね。
三つ目。では動画はどのように撮るか。Windows+GキーでXboxゲームバーを開いて録画ボタンを押して撮ります。

ただ、画面全体がキャプチャされるので、撮れた動画をGoogleDrive経由で一度スマホに送り、写真アプリで映る範囲と時間をトリミングして、もう一度GoogleDriveで送りなおす……という面倒くさい工程を踏まないといけません。
映る範囲と時間を簡単にトリミングできるPC用のソフトってないんでしょうか……。PVを作るときはaviutlを使っているのですが、こういうちょっとした編集にはあまり向いていない気がします。Windows11ならClipchampを使えばいいのかな……?
ということで、スクリーンショットの撮り方について話してきました。作業履歴を残す意味でも、宣伝用の素材を作る意味でもこまめにスクリーンショットを撮っていきたいですね。
次回は手ごたえを出す方法について話したいと思います。
15期のドッグウッドと申します。
今回は「Near The Sun」初のイベント出展をして失敗した話をします。
そうです。失敗しました……。初めからうまくはいかないものですね。
2023年11月5日、電気通信大学のゲーム制作サークル、X680x0さんとゲーム交流会を行いました。
X680x0さんの公式ホームページ : https://www.x68uec.org/

互いのサークルで作成したゲームを遊びあい、フィードバックしあうことでゲームの完成度を高めつつ交流しようという会でした。
この会で「Near The Sun」は外部に初お披露目となりました。
結果から言うと、かなりひどかったです。
大きな反省点は2つ
・チュートリアル不足
開発中……というのもありましたが、チュートリアルが一切ありませんでした。十字キーで移動、スペースキーでジャンプ/ダッシュくらいならわかるだろうし、わからない人には個別で対応すればいいだろう……とタカをくくっていましたが、チュートリアルは大事です。こちらがなるべく丁寧に伝えようとしても、操作方法やゲームのルールを伝えるのは難しいです。舐めてはいけませんでした。ゲームのルールがわからなければ、遊ぶ気もおきませんからね。
・詰み状態の発生
正直、詰み状態が発生してしまうのはどうしようもないです。開発中ですし、そもそもそのようなバグを発見するためにも展示会に出しています。しかし、詰み状態が発生したときにリカバリーを用意していなかったのが大きな反省でした。ゲームを落とすしかない、そしてまた初めからという状況は単純にストレスです。せめてワンボタンでシーンのリロードくらいは作っておくべきでした。
もらったフィードバックは
・手ごたえはいい
・ヒロインの衣装がおかしい
・ダッシュ距離が伸びた時にエフェクトが変わらないのが違和感
などなど……妥当だしフィードバックはありがたいのですが、それでも1年作り続けたものへの評価はやはりきつかったですね。
まあこの痛みはゲームを作れば作るほど増していくのですが……。
まとめとして、
よかったこと
・客観的な意見が知れた
・自分がゲームを作っていることが外部に公表できた
・他人が遊んでいるところを見ることができた
・修正すべきところが見えた
大変だったこと
・自分が作ったものへの評価をもらうこと
やるべきだったこと
・チュートリアルの作成
・詰み状態からの復帰方法の作成
という感じです。
まだ内輪のイベントであったこと、機材トラブルはなかったことが救いでした。
ただ、出展して後悔はしていないです。少し遅すぎたと思ったくらいでした。
他人に自分の作品を見られるという経験はプラスになる、マイナスになる以前にどこかで戦わなければいけない壁です。
出展する時はぜひ覚悟を持って出展してみてください。
次回は「SNSに出す動画やスクリーンショット、どうやって撮る?」について話そうと思います。
ではこの辺で。