Skip to main content

ゲームにおけるフィードバックの研究

ゲーム研究レポート

ゲームにおける入力・出力・フィードバックを調べる

この授業でやること

この授業では、1つのゲームだけを詳しく調べるのではなく、
いろいろなゲームを見比べながら、
入力・出力・フィードバック の関係を調べます。

ゲームでは、プレイヤーがボタンやキーを押すと、
ゲーム内で何かが起こります。

そして、その結果をプレイヤーに伝えるために、
画面・音・エフェクト・振動・UIなどの反応が返ってきます。

この流れを、次のように考えます。

入力
↓
ゲーム内の処理
↓
出力
↓
フィードバック
↓
プレイヤーの理解

ゲームプログラマは、
「入力を受け取って処理する」だけではなく、
「処理結果をプレイヤーに分かりやすく返す」ことも考える必要があります。


今日のゴール

授業の最後に、次のことを説明できるようになることを目指します。

  • ゲームにおける入力とは何か
  • ゲームにおける出力とは何か
  • フィードバックとは何か
  • 視覚・聴覚・触覚のフィードバックにはどんな違いがあるか
  • 入力とフィードバックがどうつながっているか
  • プログラマとして、どんな処理を実装する必要があるか
  • 自分のゲーム制作に、調べた内容をどう活かせるか

授業時間の目安

時間 内容
10分 入力・出力・フィードバックの説明
10分 調査するゲームを選ぶ
15分 入力と出力を調べる
20分 視覚・聴覚・触覚フィードバックを調べる
15分 複数の感覚を組み合わせたフィードバックを調べる
10分 プログラマとして必要な処理を考える
10分 最終まとめを書く

手順1 入力・出力・フィードバックの意味を確認する

入力とは

入力とは、プレイヤーがゲームに対して行う操作のことです。

入力の例

  • 方向キーを押す
  • スティックを倒す
  • ボタンを押す
  • ボタンを長押しする
  • ボタンを離す
  • ボタンを連打する
  • 複数のボタンを同時に押す
  • マウスを動かす
  • マウスをクリックする
  • 画面をタップする
  • 画面をスワイプする
  • コントローラーを傾ける

出力とは

出力とは、入力やゲーム内の処理の結果として、
ゲームが画面・音・振動・UIなどで表すものです。

出力の例

  • キャラクターが動く
  • キャラクターがジャンプする
  • 弾が出る
  • 攻撃モーションが出る
  • 敵がダメージを受ける
  • HPが減る
  • スコアが増える
  • 効果音が鳴る
  • エフェクトが出る
  • 画面が揺れる
  • メニューが開く
  • コントローラーが振動する

フィードバックとは

フィードバックとは、プレイヤーに
「何が起きたか」
「操作が成功したか」
「失敗したか」
「危険なのか」
「報酬を得たのか」
を伝える反応のことです。

フィードバックの例

  • ジャンプしたときにジャンプ音が鳴る
  • 攻撃が当たったときにヒットエフェクトが出る
  • ダメージを受けたときにキャラクターが点滅する
  • コインを取ったときに取得音が鳴る
  • 残り時間が少なくなると警告音が鳴る
  • HPが減るとHPバーが短くなる
  • 爆発が起きると画面が揺れる
  • 攻撃を受けるとコントローラーが振動する

手順2 調査するゲームを複数選ぶ

今回は、1つのゲームだけでなく、複数のゲームを見比べます。

最低でも 3本以上 のゲームを調べてください。
余裕がある場合は、5本程度調べてもよいです。

実際に遊んでも、プレイ動画で確認してもかまいません。

選ぶゲームの例

できれば、違うジャンルのゲームを選んでください。

ジャンル
アクション スーパーマリオ、ロックマン、カービィ
シューティング スペースインベーダー、グラディウス、ツインビー
パズル テトリス、ぷよぷよ、ドクターマリオ
格闘 ストリートファイター、スマブラ
レース マリオカート、F-ZERO
RPG ドラクエ、ポケモン
音楽ゲーム 太鼓の達人、リズム天国
スマホゲーム パズドラ、モンスト、ツムツム

記入欄

番号 ゲーム名 ジャンル 調べ方
1 __________ ________ 実際に遊んだ / 動画で見た / 調べた
2 __________ ________ 実際に遊んだ / 動画で見た / 調べた
3 __________ ________ 実際に遊んだ / 動画で見た / 調べた
4 __________ ________ 実際に遊んだ / 動画で見た / 調べた
5 __________ ________ 実際に遊んだ / 動画で見た / 調べた

手順3 入力の種類を集める

調べたゲームの中から、プレイヤーが行う入力を集めます。

入力の種類の例

入力の種類 内容
押す ボタンを1回押す
長押し ボタンを押し続ける
離す 押していたボタンを離す
連打 何度もボタンを押す
同時押し 複数のボタンを同時に押す
方向入力 十字キーやスティックで方向を入れる
タイミング入力 決まったタイミングで押す
タップ 画面を触る
スワイプ 画面をなぞる
ドラッグ 押したまま動かす
マウス移動 カーソルを動かす
ジャイロ操作 本体やコントローラーを傾ける

記入欄

ゲーム名 入力 その入力で起きること
______ ______ ____________
______ ______ ____________
______ ______ ____________
______ ______ ____________
______ ______ ____________
______ ______ ____________

手順4 入力から出力までの流れを書く

次に、入力したあとに何が起こるのかを調べます。

書き方

次の形で考えます。

プレイヤーが入力する
↓
ゲーム内で処理が行われる
↓
画面や音などに出力される
↓
プレイヤーが結果を理解する

記入例

入力:Aボタンを押す
↓
処理:キャラクターに上向きの速度を与える
↓
出力:キャラクターがジャンプする
↓
フィードバック:ジャンプ音が鳴り、ジャンプアニメーションになる
↓
プレイヤーの理解:ジャンプできたと分かる

記入欄

ゲーム名 入力 ゲーム内の処理・結果 プレイヤーに返る反応
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________

手順5 フィードバックを感覚ごとに分類する

ゲームのフィードバックは、プレイヤーの感覚ごとに分けて考えることができます。

主に次の3つに分けます。

種類 使う感覚
視覚フィードバック 目で見る エフェクト、点滅、UI、画面揺れ、アニメーション
聴覚フィードバック 耳で聞く 効果音、BGM変化、警告音、決定音
触覚フィードバック 手や体で感じる コントローラー振動、スマホの振動、押した感触

手順6 視覚フィードバックを調べる

視覚フィードバックとは

視覚フィードバックとは、画面を見て分かる反応のことです。

プレイヤーは、画面の変化を見ることで、
自分の操作が成功したのか、失敗したのか、危険なのかを判断します。

視覚フィードバックの例

場面 視覚フィードバック 伝えていること
攻撃が当たった ヒットエフェクトが出る 攻撃が成功した
ダメージを受けた キャラクターが点滅する ダメージを受けた
危険が近い 床や敵が赤く光る 危険な状態である
アイテムを取った アイテムが消え、光る演出が出る アイテム取得に成功した
HPが減った HPバーが短くなる 残り体力が減った
強い攻撃が当たった 画面が揺れる 大きな衝撃があった

プログラムで必要そうな処理

表現 必要そうな処理
エフェクト表示 エフェクト生成、位置指定、再生、削除
点滅 表示・非表示の切り替え、タイマー管理
UI更新 HPやスコアの値を変更し、画面に反映
画面揺れ カメラ位置を短時間だけ変化させる
色変更 ダメージ時や警告時に色を変更する
アニメーション変更 状態に応じてモーションを切り替える

記入欄

ゲーム名 場面 視覚フィードバック 何を伝えているか
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________

手順7 聴覚フィードバックを調べる

聴覚フィードバックとは

聴覚フィードバックとは、音で分かる反応のことです。

効果音やBGMによって、プレイヤーは画面を細かく見ていなくても、
成功・失敗・危険・報酬などに気づくことができます。

聴覚フィードバックの例

場面 聴覚フィードバック 伝えていること
ジャンプした ジャンプ音が鳴る ジャンプした
攻撃が当たった ヒット音が鳴る 攻撃が成功した
ダメージを受けた ダメージ音が鳴る 失敗・被害を受けた
アイテムを取った 取得音が鳴る 報酬を得た
メニューを決定した 決定音が鳴る 入力が受け付けられた
危険が近い 警告音が鳴る 危険が迫っている
残り時間が少ない BGMが速くなる 急ぐ必要がある

プログラムで必要そうな処理

表現 必要そうな処理
効果音再生 条件成立時にSEを再生する
BGM変更 状態に応じてBGMを切り替える
音量変更 距離や状況に応じて音量を変える
警告音 危険状態の間、一定間隔で鳴らす
決定音・キャンセル音 UI操作時に入力に応じて音を鳴らす
連続音の制御 同じ音が鳴りすぎないように制限する

記入欄

ゲーム名 場面 聴覚フィードバック 何を伝えているか
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________

手順8 触覚フィードバックを調べる

触覚フィードバックとは

触覚フィードバックとは、手や体で感じる反応のことです。

代表的なものは、コントローラーやスマートフォンの振動です。

プレイヤーは振動によって、
衝撃・ダメージ・成功・危険などを感覚的に理解できます。

触覚フィードバックの例

場面 触覚フィードバック 伝えていること
攻撃が当たった 短く振動する 攻撃の手応え
ダメージを受けた 強く振動する 被害を受けた
爆発が起きた 大きく長めに振動する 大きな衝撃
車が悪路を走る 細かく振動する 路面の感触
危険が近い 弱い振動を繰り返す 危険が近づいている
釣りゲームで魚が引く 不規則に振動する 魚の動きや抵抗

プログラムで必要そうな処理

表現 必要そうな処理
短い振動 成功時やヒット時に短時間だけ振動
強い振動 ダメージや爆発時に強めに振動
弱い振動の繰り返し 危険状態をタイマーで管理して振動
振動の強弱 状況に応じて振動の強さを変える
振動時間の制御 長すぎないように時間で止める
機種対応 振動できる機器か確認する

記入欄

ゲーム名 場面 触覚フィードバック 何を伝えているか
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________
____ ____ ________ ________

手順9 複数の感覚を組み合わせたフィードバックを調べる

ゲームでは、1つの出来事に対して、
視覚・聴覚・触覚のフィードバックを同時に使うことが多いです。

例:攻撃が当たったとき

感覚 フィードバック
視覚 ヒットエフェクト、敵の点滅
聴覚 ヒット音
触覚 短い振動

このように複数の反応を組み合わせることで、
プレイヤーは「攻撃が当たった」と強く感じることができます。

記入欄

ゲーム名 場面 視覚 聴覚 触覚 プレイヤーに伝わること
____ 攻撃が当たった ____ ____ ____ ____
____ ダメージを受けた ____ ____ ____ ____
____ アイテムを取った ____ ____ ____ ____
____ 危険が近い ____ ____ ____ ____
____ クリアした ____ ____ ____ ____

手順10 UIによるフィードバックを調べる

UIは、視覚フィードバックの中でも、プレイヤーに状態を伝える重要な要素です。

UIの例

  • HPバー
  • スコア
  • 残り時間
  • 残機
  • 弾数
  • スタミナ
  • アイテム欄
  • ミニマップ
  • クエスト表示
  • ボタン表示
  • チュートリアル表示

記入欄

ゲーム名 UI表示 何を伝えているか 見やすさ
____ ________ ________ 見やすい / 見にくい
____ ________ ________ 見やすい / 見にくい
____ ________ ________ 見やすい / 見にくい
____ ________ ________ 見やすい / 見にくい
____ ________ ________ 見やすい / 見にくい

手順11 フィードバックが弱いとどうなるか考える

フィードバックが弱いと、プレイヤーは何が起きたのか分かりにくくなります。

フィードバックが弱い状態 プレイヤーが感じること
攻撃が当たっても音が鳴らない 当たったか分からない
ダメージを受けても画面変化が少ない いつHPが減ったか分からない
危険な攻撃の予備動作がない 急にやられたと感じる
ボタンを押しても反応が薄い 操作している感じがしない
UIが見にくい 状況を判断しにくい
報酬を取っても演出が弱い 嬉しさが弱い

記入欄

フィードバックが弱いと、プレイヤーは
__________________________________
と感じる。

特にゲームで問題になるのは、
__________________________________
である。

その理由は、
__________________________________
である。


手順12 入力とフィードバックの関係を図にする

調べた内容から、入力とフィードバックの流れを図の形で整理します。

記入欄1

入力:__________
↓
処理:__________
↓
出力:__________
↓
視覚フィードバック:__________
↓
聴覚フィードバック:__________
↓
触覚フィードバック:__________
↓
プレイヤーの理解:__________

記入欄2

入力:__________
↓
処理:__________
↓
出力:__________
↓
視覚フィードバック:__________
↓
聴覚フィードバック:__________
↓
触覚フィードバック:__________
↓
プレイヤーの理解:__________

手順13 プログラマとして必要な処理を考える

フィードバックは、プログラムで実装する必要があります。

やりたいこと 必要な処理
ジャンプさせたい 入力判定、速度変更、重力、着地判定
攻撃を当てたい 攻撃判定、敵との当たり判定、ダメージ処理
攻撃の手応えを出したい 効果音、ヒットエフェクト、画面揺れ、ヒットストップ
HPを減らしたい ダメージ計算、HP更新、UI更新
危険を知らせたい 攻撃前の予備動作、警告表示、警告音
アイテム取得を伝えたい アイテム削除、スコア加算、取得音、エフェクト
振動を入れたい 対応機器確認、振動開始、振動時間管理、振動停止

記入欄

作りたいフィードバック 必要そうなプログラム処理
________ ______________
________ ______________
________ ______________
________ ______________
________ ______________

手順14 自分のゲームに使えそうなものを選ぶ

調べた中から、自分がゲーム制作で使ってみたいフィードバックを選びます。

記入欄

自分のゲームに使ってみたいフィードバックは、
__________________________________
である。

それを使いたい理由は、
__________________________________
である。

そのフィードバックを入れることで、プレイヤーに
__________________________________
を伝えたい。

実装するとしたら、必要そうな処理は、
__________________________________
である。


手順15 最終まとめを書く

ここでは、調べた内容をもとに、
ゲームプログラマとして自分の制作にどう活かせるかをまとめます。

単に
「音が鳴っていた」
「エフェクトが出ていた」
で終わらせないこと。

次の3つを意識して書きます。

  1. 何をプレイヤーに伝えるためのフィードバックなのか
  2. どの感覚に向けたフィードバックなのか
  3. 自分が作るなら、どんな処理として実装するのか

15-1 入力とフィードバックの関係のまとめ

ゲームでは、プレイヤーが
「__________________」
という入力をすると、ゲーム内で
「__________________」
という処理が行われる。

その結果、画面・音・振動などを通して、プレイヤーに
「__________________」
というフィードバックが返る。

このフィードバックがあることで、プレイヤーは
「__________________」
を理解しやすくなる。


15-2 視覚フィードバックのまとめ

今回調べたゲームでは、視覚フィードバックとして
「__________________」
が使われていた。

これは、プレイヤーに
「__________________」
を伝えるための表現である。

たとえば、
「__________________」
という場面で、
「__________________」
が表示されることで、プレイヤーは
「__________________」
と判断できる。

プログラムで実装する場合は、
「__________________」
という処理が必要になると考えられる。


15-3 聴覚フィードバックのまとめ

今回調べたゲームでは、聴覚フィードバックとして
「__________________」
が使われていた。

これは、プレイヤーに
「__________________」
を伝えるための音である。

音のフィードバックは、画面を細かく見ていなくても、
成功・失敗・危険・報酬などに気づきやすくする役割がある。

たとえば、
「__________________」
という場面で、
「__________________」
という音が鳴ることで、プレイヤーは
「__________________」
と理解できる。

プログラムで実装する場合は、
「__________________」
という処理が必要になると考えられる。


15-4 触覚フィードバックのまとめ

今回調べたゲームでは、触覚フィードバックとして
「__________________」
が使われていた。

これは、プレイヤーに
「__________________」
を手や体の感覚で伝えるための表現である。

触覚フィードバックは、特に
「衝撃」
「ダメージ」
「攻撃の手応え」
「危険の接近」
を伝えるときに効果的である。

たとえば、
「__________________」
という場面で、
「__________________」
という振動があることで、プレイヤーは
「__________________」
と感じる。

プログラムで実装する場合は、
「__________________」
という処理が必要になると考えられる。


15-5 複数の感覚を組み合わせたフィードバックのまとめ

ゲームでは、1つの出来事に対して、
視覚・聴覚・触覚のフィードバックを組み合わせることが多い。

今回調べた中で、特に分かりやすかった組み合わせは、
「__________________」
という場面である。

その場面では、次のフィードバックが使われていた。

感覚 フィードバック
視覚 ______________
聴覚 ______________
触覚 ______________

この組み合わせによって、プレイヤーは
「__________________」
を強く理解できる。

プログラマとして実装する場合は、
1つのイベントが発生したときに、複数の処理を同時に行う必要がある。

攻撃が当たった
↓
敵にダメージを与える
↓
ヒットエフェクトを出す
↓
ヒット音を鳴らす
↓
敵を点滅させる
↓
短い振動を入れる
↓
スコアやHPを更新する

このように、フィードバックは単独ではなく、
「ゲーム内の出来事に対して、必要な反応をまとめて返す処理」
として考える必要がある。


15-6 フィードバックが弱い場合の問題点

フィードバックが弱いと、プレイヤーは
「__________________」
と感じやすくなる。

たとえば、
「__________________」
という場面でフィードバックが弱いと、プレイヤーは
「__________________」
を理解しにくくなる。

その結果、ゲームは
「__________________」
と感じられる可能性がある。

フィードバックが弱い場面 プレイヤーが感じる問題
攻撃が当たっても音やエフェクトがない 当たったか分からない
ダメージを受けても画面変化がない いつ失敗したか分からない
危険な攻撃の予告がない 理不尽にやられたと感じる
ボタンを押しても反応が薄い 操作している感じがしない
UIの変化が小さい 状況を判断しにくい

15-7 プログラマとして意識したいこと

今回の研究を通して、ゲームプログラマとして特に意識したいことは、
「__________________」
である。

なぜなら、プレイヤーはゲーム内の処理を直接見ることはできず、
画面・音・振動・UIなどのフィードバックによって、
ゲーム内で何が起きたかを理解しているからである。

そのため、自分がゲームを作るときは、
次のような流れで考えたい。

プレイヤーが何を入力したか
↓
ゲーム内で何を処理するか
↓
プレイヤーに何を伝える必要があるか
↓
視覚・聴覚・触覚のどれで伝えるか
↓
どのタイミングで反応を返すか
↓
プログラムとしてどう実装するか

15-8 自分のゲーム制作に活かすこと

自分がゲームを作るとき、特に使ってみたいフィードバックは、
「__________________」
である。

それを使いたい理由は、
__________________________________
である。

そのフィードバックを入れることで、プレイヤーに
「__________________」
を伝えたい。

実装するとしたら、必要な処理は次のようになる。

必要な処理 内容
入力判定 ______________
ゲーム内処理 ______________
視覚フィードバック ______________
聴覚フィードバック ______________
触覚フィードバック ______________
UI更新 ______________
タイミング制御 ______________

実装チェックリスト

自分でゲームを作るときは、次の項目を確認します。

チェック項目 はい / いいえ
入力したことがすぐ分かる反応がある __
成功したことが分かるフィードバックがある __
失敗したことが分かるフィードバックがある __
危険が事前に分かるフィードバックがある __
報酬を得たことが気持ちよく伝わる __
HPやスコアなどの状態変化が見やすい __
音が情報として役立っている __
必要に応じて振動などの触覚表現を使っている __
フィードバックが多すぎて見にくくなっていない __
プレイヤーに何を伝えるための表現か説明できる __

研究全体のまとめ

今回、複数のゲームを調べたことで、
ゲームのフィードバックには
「__________________」
という共通点があると分かった。

特に、よく使われていたフィードバックは、
「__________________」
である。

それは、プレイヤーに
「__________________」
を伝えるために使われていた。

プログラマとしてゲームを作るときは、
入力を受け取って処理するだけでなく、
その結果をプレイヤーに分かりやすく返す必要がある。

そのために、
「__________________」
という場面では、
「__________________」
という視覚フィードバック、
「__________________」
という聴覚フィードバック、
「__________________」
という触覚フィードバックを組み合わせたい。

これにより、プレイヤーは
「__________________」
を理解しやすくなり、
ゲームの操作感や手応えが良くなると考える。


100〜150字まとめ

記入欄

今回の研究では、ゲームの入力に対して、
__________________________________
というフィードバックが返ることで、プレイヤーが
__________________________________
を理解しやすくなると分かった。

自分でゲームを作るときは、
__________________________________
を意識して実装したい。


提出するもの

次の内容を記入して提出すること。

  1. 調べたゲーム一覧
  2. 入力の種類の表
  3. 入力から出力までの流れ
  4. 視覚フィードバックの表
  5. 聴覚フィードバックの表
  6. 触覚フィードバックの表
  7. 複数の感覚を組み合わせたフィードバックの表
  8. UIによるフィードバックの表
  9. フィードバックが弱いとどうなるか
  10. 入力とフィードバックの流れ図
  11. プログラマとして必要な処理
  12. 自分のゲームに使いたいフィードバック
  13. 実装チェックリスト
  14. 研究全体のまとめ
  15. 100〜150字まとめ

書くときの注意

1. いろいろなジャンルを見る

同じジャンルだけでなく、できれば違うジャンルのゲームを見てください。

ジャンルが違うと、入力やフィードバックの使い方も違います。


2. 「入力」と「反応」をセットで見る

入力だけを書いても、ゲームの研究にはなりません。

悪い例

  • Aボタンでジャンプする

良い例

  • Aボタンを押すとキャラクターがジャンプし、ジャンプ音が鳴り、ジャンプアニメーションに変わるため、プレイヤーはジャンプできたと分かる

3. 「何を伝えているのか」を考える

フィードバックを見るときは、ただ
「音が鳴る」
「光る」
で終わらせないでください。

そのフィードバックが何を伝えているのかを考えます。

  • アイテム取得音は、報酬を得たことを伝えている
  • 敵の予備動作は、危険が近いことを伝えている
  • HPバーの減少は、現在の危険度を伝えている
  • 画面揺れは、攻撃の強さや衝撃を伝えている

4. プログラマ視点で考える

フィードバックは、プログラムで作るものです。

たとえば、攻撃が当たったときには、次のような処理が必要です。

攻撃ボタン入力
↓
攻撃アニメーション開始
↓
攻撃判定を出す
↓
敵との当たり判定を調べる
↓
当たったらダメージを与える
↓
ヒット音を鳴らす
↓
ヒットエフェクトを出す
↓
敵を点滅させる
↓
必要なら振動させる
↓
スコアやHPを更新する

このように、
「プレイヤーにどう見せるか」
だけでなく、
「内部でどんな処理が必要か」
も考えましょう。


簡単な完成例

調べたゲーム

  • スーパーマリオブラザーズ
  • ストリートファイター
  • マリオカート

入力と出力の例

ゲーム名 入力 ゲーム内の処理・結果 プレイヤーに返る反応
スーパーマリオブラザーズ ジャンプボタン マリオがジャンプする ジャンプ音、ジャンプアニメーション
ストリートファイター 攻撃ボタン キャラクターが攻撃する 攻撃音、ヒットエフェクト
マリオカート アイテムボタン アイテムを使う 効果音、アイテム演出

感覚ごとのフィードバック例

ゲーム名 場面 視覚 聴覚 触覚
スーパーマリオブラザーズ コイン取得 コインが消える、スコアが増える コイン取得音 なし
ストリートファイター 攻撃ヒット ヒットエフェクト、のけぞり ヒット音 振動対応版では振動
マリオカート ダート走行 車体の動きが変わる 走行音が変わる 振動

プログラマ視点のまとめ例

プレイヤーが入力した結果を分かりやすく伝えるためには、
キャラクターの動きだけでなく、音・エフェクト・UI・振動を組み合わせる必要がある。

たとえば、攻撃が当たった場面では、
ダメージ処理だけでなく、ヒット音、ヒットエフェクト、敵のリアクション、必要に応じた振動を同時に発生させることで、プレイヤーに手応えを伝えられる。

自分でゲームを作るときは、入力処理とゲーム内処理だけで終わらせず、
その結果をプレイヤーにどう返すかまで考えて実装したい。