iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
Vibe Coding

上岸用AI,看小白如何從無到有的用Vibe Codeing開發遊戲系列 第 13

Day 13:雪花冰極速挑戰 —— 讓手速變現!Combo 連擊機制與動態分數加成實作

  • 分享至 

  • xImage
  •  

歡迎來到第十三天!在上一篇 Day 12 的實機試玩中,朋友提出了一個非常關鍵的優化建議:「單純比對配方有點太平淡了,應該要給手速極快的玩家額外的獎勵!

為了大幅提升遊戲的爽快感與重複遊玩價值(Replayability),今天我們將在第二款小遊戲「雪花冰極速挑戰」中,正式實作 Combo(連擊)動態加成機制


1. Combo 連擊機制設計與數學公式

Combo 機制的核心目的,是獎勵那些「連續正確點擊且反應極快」的玩家。

我們設計的規則如下:

  1. 有效時間視窗(Combo Window):每次正確點擊食材時,會觸發一個 2.0 秒 的連擊倒數。如果在 2.0 秒內再次點擊正確食材,Combo 數加 1,並重置倒數時間。

  2. 失誤與中斷(Combo Reset):若點擊錯誤食材,或是超過 2.0 秒沒有進行下一步,Combo 數將直接歸零。

  3. 動態倍率公式(Multiplier Formula)
    每增加 1 次 Combo,得分倍率就會提升 0.2 倍,最高上限為 3.0 倍加成:

    \[\text{得分倍率 Multiplier} = \min(1.0 + \text{comboCount} \times 0.2, 3.0)\]


2. Cocos Creator + Cursor AI 寫碼實戰

在 Cocos Creator 中,我們需要同時維護「連擊數」與「微秒級倒數」。透過 Vibe Coding,我向 Cursor 下達需求:

「請在 RecipeManager.ts 中加入 comboCountcomboTimer 邏輯。當玩家正確點擊時累積 Combo 並重置 2 秒倒數;在 update(dt) 中扣減倒數時間,倒數歸零時重置 Combo。完成時根據倍率計算額外加分,並觸發漂浮文字特效。」

以下是 Cursor 為我們產出的核心 TypeScript 實作:

// RecipeManager.ts 中的 Combo 邏輯
private comboCount: number = 0;
private comboTimer: number = 0;
private readonly COMBO_MAX_TIME: number = 2.0; // 連擊有效時間 2 秒

public onCorrectIngredient(): void {
    // 累積 Combo 並重置倒數計時
    this.comboCount++;
    this.comboTimer = this.COMBO_MAX_TIME;
    
    // 計算動態倍率
    const multiplier = Math.min(1.0 + this.comboCount * 0.2, 3.0);
    const baseScore = 100;
    const finalStepScore = Math.floor(baseScore * multiplier);
    
    this.currentScore += finalStepScore;
    
    // 觸發 Combo 視覺回饋(UI 飄字與縮放特效)
    this.showComboUI(this.comboCount, multiplier);
}

update(dt: number) {
    // 當前有 Combo 時,進行倒數
    if (this.comboCount > 0) {
        this.comboTimer -= dt;
        this.updateComboProgressBar(this.comboTimer / this.COMBO_MAX_TIME); // 更新 UI 連擊能量條
        
        if (this.comboTimer <= 0) {
            // 時間到,Combo 中斷!
            this.comboCount = 0;
            this.onComboBreak();
        }
    }
}

3. Juice Effect:打擊感與視覺打壓

光有數字計算還不夠,遊戲要好玩,**果汁感(Juice Effect,即視覺打擊感)**才是靈魂!

我們運用 Cocos Creator 的 tween 動畫,實作了以下特效:

  • Combo 飄字:當 Combo \(\ge 3\) 時,畫面上方會跳出彩色放大字體:"3 COMBO! x1.6""5 COMBO! PERFECT!"
  • 畫面震動(Screen Shake):達成 5 連擊以上時,背景會產生微幅震動,搭配雪花冰刨冰機的極速音效,反饋感直接拉滿!
  • 連擊能量條:在 UI 頂部增加一條黃色動態倒數條,讓玩家清楚看到 Combo 倒數即將歸零的緊張感。

上一篇
Day 12:第一次對齊與實機試玩 —— 掃 Code 即玩!朋友的真實反饋與階段二總結
系列文
上岸用AI,看小白如何從無到有的用Vibe Codeing開發遊戲13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言