從零元開始的電遊設計|第二階段 互動誕生|05 輸入與反應:玩家如何影響世界

更新 發佈閱讀 7 分鐘
raw-image


在前幾篇,我們已經把遊戲世界的「心跳」建立起來,也讓角色能夠在世界裡存在、更新、變化。 

但遊戲如果只有世界自己動,玩家卻什麼都不能做,那就不是遊戲,只是動畫。

 

互動的誕生,就是從「輸入」開始。

 

今天我們要談的不是按鍵名稱、不是 API、不是「按 A 跳躍」這種教科書式的東西。 

而是—玩家輸入到底是什麼?為什麼它是遊戲的靈魂?

 

一、輸入不是按鍵,是「意圖」

 

很多初學者會把「輸入」理解成: 

- 玩家按下左鍵 → 角色往左 

- 玩家按下空白鍵 → 跳躍 

- 玩家按下滑鼠 → 攻擊 

 

這當然沒錯,但這只是表層。

 

真正的輸入,是玩家的意圖。

 

玩家按下左鍵,不是因為他喜歡左鍵,而是因為: 

- 他想移動 

- 他想靠近某個東西 

- 他想躲避危險 

 

輸入是「意圖的表達」,程式只是把意圖翻譯成行為。

 

這個觀念很重要,因為:

「遊戲的手感,就是在翻譯玩家意圖的過程中,盡量不要讓玩家覺得被背叛。」

 

二、輸入 → 解讀 → 行為:三段式互動模型

 

我們把互動拆成三段: 

1. 玩家輸入(Input)

玩家按下某個按鍵、移動滑鼠、觸碰螢幕。

 

2. 遊戲解讀(Interpret)

遊戲判斷: 

「這個輸入代表什麼意圖?」 

「現在能不能執行?」 

「要不要忽略?」 

「要不要排隊?」 

 

3. 遊戲反應(Response)

角色移動、跳躍、攻擊、播放動畫、觸發音效。

 

三、輸入的第一個原則:永遠要有回饋

 

玩家按下按鍵後,如果遊戲沒有任何反應,玩家會覺得:

- 壞掉了 

- 卡住了 

- 延遲了 

- 不知道自己做錯什麼 

 

所以,即使行為不能執行,也要盡量給回饋。

 

例如:

- 攻擊被打斷 → 播放受傷動畫 

- 互動物件太遠 → 顯示提示 

 

這些都是「輸入被接收,但行為無法執行」的回饋。

 

沒有回饋的輸入,就像是壞掉的輸入。

 

四、輸入的第二個原則:輸入不等於行為

 

這是初學者最常犯的錯誤。

 

例如: 

```gdscript

if Input.is_action_pressed("ui_right"):

    position.x += 5

```

 

這段程式碼看起來沒問題,但它把「輸入」直接綁死在「行為」上。 

結果就是: 

- 想加速度?難。 

- 想做滑步?難。 

- 想做衝刺?難。 

- 想做動畫過渡?難。 

- 想做物理碰撞?更難。 

 

因為你把「按鍵」直接等於「移動」。

 

正確的做法應該是:

 

輸入 → 設定狀態 → 狀態決定行為

 

例如: 

```gdscript

var move_direction = 0 

if Input.is_action_pressed("ui_right"):

    move_direction += 1

if Input.is_action_pressed("ui_left"):

    move_direction -= 1

```

 

然後在角色的 `_physics_process` 裡: 

```gdscript

velocity.x = move_direction * speed

```

 

這樣你就能有機會轉換成各種可能情況:

- 加速度 

- 減速度 

- 滑行 

- 衝刺 

- 受傷硬直 

- 冰面滑動 

- 泥地減速 

 

全部都能做,因為你把「輸入」和「行為」分開了。

 

五、輸入的第三個原則:輸入是「狀態」,不是「事件」

 

很多人會把輸入當成事件: 

- 按下 → 做事 

- 放開 → 停止 

 

但遊戲不是事件驅動,而是狀態驅動。

 

玩家按著右鍵不放,這不是一個事件,而是一個持續的狀態。 

遊戲每一幀都要根據這個狀態更新角色。

 

這就是為什麼 Godot 的輸入系統有: 

- is_action_pressed()(持續按壓) 

- is_action_just_pressed()(瞬間按下) 

- is_action_just_released()(瞬間放開) 

 

因為它們對應不同的「意圖」。

 

六、輸入的第四個原則:輸入要能被「覆蓋」

 

什麼意思?

 

例如: 

- 玩家正在走路 → 按下攻擊 → 角色應該停止走路並攻擊 

- 玩家正在攻擊 → 被敵人打到 → 攻擊應該被打斷 

- 玩家正在跳躍 → 落地 → 自動切換成跑步 

 

這些都是「狀態覆蓋」。

 

如果你把輸入直接寫死在行為裡,你就會遇到:

- 動畫卡住 

- 行為互相打架 

- 角色不聽話 

- 手感變得奇怪 

 

所以輸入必須進入「狀態機」,而不是直接驅動行為。

 

 七、輸入的第五個原則:輸入要能被「忽略」

 

例如: 

- 角色被暈眩 → 所有輸入無效 

- 角色在空中 → 不能互動或是對話

- 角色在攻擊後作用力中 → 不能再攻擊 

- 角色在對話 → 不能移動 

 

忽略輸入不是壞事,而是遊戲設計的一部分。

 

「限制,也是一種遊戲設計的語言。」

 

八、今天的結論:輸入是遊戲的靈魂

 

輸入不是按鍵。 

輸入不是事件。 

輸入不是行為。

 

輸入是: 

- 玩家意圖 

- 狀態變化 

- 行為的觸發條件 

- 遊戲手感的核心 

 

只要你能掌握: 

  1. 輸入要有回饋 
  2. 輸入與行為分離 
  3. 輸入是狀態,不是事件 
  4. 輸入要能被覆蓋 
  5. 輸入要能被忽略 

 

你就能做出「手感良好」的遊戲。

留言
avatar-img
瑠雅澄華音的沙龍
4會員
33內容數
以下空白。
2026/02/02
在前幾篇裡,我們讓遊戲世界開始「做選擇」(if)、  「承擔後果」(else)、並且「持續發生」(loop)。 但還缺一個東西。  一個讓遊戲世界能「記住剛剛發生什麼」的地方。 這個東西,就是變數。 很多人第一次學程式時,會把變數當成: - 一個盒子,裡面放數字 
Thumbnail
2026/02/02
在前幾篇裡,我們讓遊戲世界開始「做選擇」(if)、  「承擔後果」(else)、並且「持續發生」(loop)。 但還缺一個東西。  一個讓遊戲世界能「記住剛剛發生什麼」的地方。 這個東西,就是變數。 很多人第一次學程式時,會把變數當成: - 一個盒子,裡面放數字 
Thumbnail
2026/02/01
在前兩篇裡,我們談了 if 和 else。  if 是選擇,else 是後果。  這兩個東西讓遊戲世界能「做出反應」。 但遊戲還缺少一個更根本的東西—持續性。 因為遊戲不是靜止的,也不是你按一下按鈕才動一下的。  遊戲是一個「一直在進行」的世界。
Thumbnail
2026/02/01
在前兩篇裡,我們談了 if 和 else。  if 是選擇,else 是後果。  這兩個東西讓遊戲世界能「做出反應」。 但遊戲還缺少一個更根本的東西—持續性。 因為遊戲不是靜止的,也不是你按一下按鈕才動一下的。  遊戲是一個「一直在進行」的世界。
Thumbnail
2026/01/31
在上一篇裡,我們談到if是遊戲的起點。  因為沒有判斷,就沒有選擇。 但如果只有if,遊戲其實還是不完整。 只有成功的世界,不是遊戲。 想像一個遊戲世界: - 攻擊一定命中  - 跳躍一定成功  - 解謎一定正確  玩家不需要思考‧‧‧
Thumbnail
2026/01/31
在上一篇裡,我們談到if是遊戲的起點。  因為沒有判斷,就沒有選擇。 但如果只有if,遊戲其實還是不完整。 只有成功的世界,不是遊戲。 想像一個遊戲世界: - 攻擊一定命中  - 跳躍一定成功  - 解謎一定正確  玩家不需要思考‧‧‧
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
一款遊戲的開發,肯定伴隨大大小小的修改和調整。 創作者不能怕改。但問題是,改東西需要花時間。一些看似簡單的改動,背後程式邏輯可能要好幾天,甚至幾星期才能修正。 對於不懂程式的人,有時很難判斷東西好不好修。所以今天就來說一下,對程式來說什麼樣的修正會令我們頭痛呢?   先以一個草莓奶油蛋糕為例
Thumbnail
一款遊戲的開發,肯定伴隨大大小小的修改和調整。 創作者不能怕改。但問題是,改東西需要花時間。一些看似簡單的改動,背後程式邏輯可能要好幾天,甚至幾星期才能修正。 對於不懂程式的人,有時很難判斷東西好不好修。所以今天就來說一下,對程式來說什麼樣的修正會令我們頭痛呢?   先以一個草莓奶油蛋糕為例
Thumbnail
在劇本還在慢慢醞釀時期,遊戲類型還在思考... 想著開發如心動回憶類型... 但若只是單純的選項,過過劇情,似乎有點單調無趣 所以就思索著,要不也乾脆導入橫向走路的玩法,後續搞個紙娃娃 所以先畫了三視圖、也把Spine 重新拿出來耍一耍練練手... 這樣似乎會有趣點,再想想光角色走來走去過劇情,解個
Thumbnail
在劇本還在慢慢醞釀時期,遊戲類型還在思考... 想著開發如心動回憶類型... 但若只是單純的選項,過過劇情,似乎有點單調無趣 所以就思索著,要不也乾脆導入橫向走路的玩法,後續搞個紙娃娃 所以先畫了三視圖、也把Spine 重新拿出來耍一耍練練手... 這樣似乎會有趣點,再想想光角色走來走去過劇情,解個
Thumbnail
2022年底,見了業界內幾位大神,還有幾位傳奇人物 一直想好好搞遊戲,礙於現實面 一直沒有時間跟勇氣執行 於是乎 整理了一些教學小作品後 在play商店先上架 小六壬 猜拳 俄羅斯方塊 也在短時間內,交出一個小DEMO後 想想累積十幾年的能量 也該是從學術,教育者 回歸本心初衷... 這些年來,還
Thumbnail
2022年底,見了業界內幾位大神,還有幾位傳奇人物 一直想好好搞遊戲,礙於現實面 一直沒有時間跟勇氣執行 於是乎 整理了一些教學小作品後 在play商店先上架 小六壬 猜拳 俄羅斯方塊 也在短時間內,交出一個小DEMO後 想想累積十幾年的能量 也該是從學術,教育者 回歸本心初衷... 這些年來,還
Thumbnail
你家小大人是否一樣聽到「馬桶」兩個字,會立馬反射說「不用」或是逃得無影無蹤的呢!學習使用小馬桶是每個小大人成長過程中必經的路程,除了要教導控制的能力外,也是考驗所有大人們的耐心與毅力呢!   
Thumbnail
你家小大人是否一樣聽到「馬桶」兩個字,會立馬反射說「不用」或是逃得無影無蹤的呢!學習使用小馬桶是每個小大人成長過程中必經的路程,除了要教導控制的能力外,也是考驗所有大人們的耐心與毅力呢!   
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News