前言
前幾天在巴哈姆特的RPG Maker版看到有新手想製作"使用滑鼠攻擊敵人部位、敵人圖像有差分"的遊戲,他想用Live2D來表現,但對於動畫跟遊戲引擎都是新手,上來問問要選MV還是MZ好。
關於選MV還MZ好的問題請見
RPG Maker新手入門三問三答
新手一上來就要用動畫跟滑鼠攻擊,我覺得難度太高了,因此我建議從比較容易做的版本開始,當作式遊戲正式版之前的一個雛形DEMO,一方面了解一下如何用RM製作遊戲,一方面比較不會有太大的挫折感(應該?)。
以下是使用滑鼠攻擊敵人部位的設計概念:
- 使用Triacontane的圖片相關插件PictureCallCommon.js來製作遊戲的雛形(請注意加載任何插件之前都需要加上基本的PluginCommonBase.js);
- 先拿一個範例敵人的圖,切裁成各個部位(非點擊判斷範圍請留透明),放進專案的圖片資料夾中;

圖片切割與圖層拼組示意圖
- 在RM編輯器中試著編輯一個戰鬥事件,大概的流程如下:
1.在共用事件(一般劇情)中建立一個敵人出現的演出事件(請在這個階段就先禁止玩家開選單),使用顯示圖片的功能讓你先把敵人的圖排版出來(MZ有視覺化圖片調整介面),並且在每一張可攻擊部位都呼叫一次圖片插件命令,設定當玩家點擊這張圖的部位會跳到哪一個共用事件(一般劇情)判斷(參照下面3.),同時設定判斷用的變數(比如將變數設定為傷害數值)
註:使用共用事件作為模板功能,這樣可以經常在不同事件中呼叫,修改也容易
2.在共用事件(一般劇情)中建立一個雙方輪流攻擊的判斷事件,並且寫好輸贏判斷後的演出(戰鬥贏的話要處理圖片清除以及同步玩家血量等等)
3.在共用事件(一般劇情)中建立一個敵人受到攻擊時候的判斷事件,根據判斷用的變數去切換敵人圖片改變,達到部位破壞或是表情變化,並且在判斷結束之後,呼叫輪流攻擊判定事件
4.由於使用自訂的戰鬥,所以玩家的HP等數值(以及敵人HP)可能要另外呈現,可以直接使用PictureCallCommon.js來將HP數字圖片化,也可以使用其他插件(ExtraGauge.js)來增加血條;這個算是戰鬥UI的一部分,可以自己寫一個共用事件(一般劇情),然後在進入戰鬥後呼叫(可以在1.敵人出現事件的結尾去呼叫這個,注意圖片的編號不要衝撞到)
5.在地圖上設置一個事件,用來呼叫上述1的戰鬥,內容大約是
- 呼叫共用事件(敵人出現)
- 呼叫共用事件(戰鬥UI)(如果在敵人出現的演出最後有呼叫過玩家戰鬥UI的話就可以不用這條)
實行起來的流程會是大概像下面這樣:
敵人出現(演出)
玩家戰鬥UI(演出)
玩家可以點擊敵人
敵人受到攻擊,圖片變化(演出)
輸贏判斷(演出)
判斷輪到敵人攻擊,玩家受到攻擊(演出)
輸贏判斷(演出)
下一回合(演出)

使用滑鼠攻擊敵人部位的戰鬥流程