5.5 遊戲世界中各類角色的設定與行為能力
5.5.1 玩家設定
1.玩家角色的能力
角色需要特殊的能力,才能影響遊戲進行時所發生特定動作的結 果,像是戰鬥,如果角色揮動一把劍,它刺中目標的機會有多少,而 且這把劍會造成多少的傷害?
在我們的遊戲設定中是以數值的方式來代表能力,如圖 5-37 為 基本狀態類別圖,數值越高代表角色在這項能力上的表現越好。除此 之外,使用數值表示能力也會讓計算更容易。舉例來說,若力量值的 可能範圍是從 0(非常脆弱)到 999(超級英雄),則一般人的力量值可 能是 100 到 150 之間,則它的力量只能打開一扇門而不足以搬起一塊 巨大岩石。
簡易3D多人線上遊戲系統
以下便是我們遊戲中,角色所具有的各種能力:
¾ Strength(力量):影響人物的攻擊力。
¾ Magic(魔法智慧):影響人物的魔法攻擊力和魔法防禦力。也影 響升級時,其 MP 提升的多寡與恢復 MP 的速度。
¾ Agilities(敏捷):影響閃躲率和命中率的數值,也可能影響到 攻擊速度。
¾ Mental(體力):影響人物的防禦力。也影響到升級的時候,HP 提 升的多寡與恢復 HP 的速度。
¾ Basic_ATK(基本攻擊力):徒手攻擊、不使用任何武器時的攻擊 力。
3.對照表
Strength+1 Attack+1
Magic+1 MATK+1、MDEF+1 Magic+2 MP+1
Agilities+1 ToHit+1、Agilit+1 Mental+1 HP+2、Defense+1
二、玩家角色的動作
1.閒置
除此之外,在角色扮演遊戲中,角色可以增長它們的經驗。在它
若玩家是第一次登入系統,則須先經過註冊的程序,來將其資料 建檔。若玩家並非第一次,則當他每次進入遊戲時,伺服器都應該依 其資料(通常是帳號密碼),正確地將玩家的角色資料、上一次登出前 的狀態等,傳送到用戶端,並完整的呈現出來。
9.登出
事實上,用戶端不論是正常或不正常地結束連線,都稱為登出。
當玩家登出後,系統都應該將其資料、狀態,完整備份起來,以供下 次登入初始化使用。
經由上述的定義後,我們便知道當玩家發生各種動作時,在伺服 端系統內部需建構戰鬥、交易、及倉庫等子系統,以處理各自的行為。
而這些子系統會在往後的小節見到。
三、最短路徑計算
為了讓玩家、怪物、及 NPC 在移動時,有一定的路徑(座標的一 連串集合)可循,我們需要作最短路徑之計算。
如圖 5-38 所示,在計算最短路徑時會有以下五道程序:
圖 5-38 最短路徑計算程序
簡易3D多人線上遊戲系統
1 輸入座標
輸入角色目前所處位置座標以及滑鼠所點選之位置座標。
2 建立矩陣
建立跟地圖相對應大小之矩陣。
3 判斷是否可走
將剛建立完成之矩陣內所有元素初值化,程式流程如圖 5-40。
4 計算格子數
以起始座標為基準點,將矩陣內所有元素與基準點間的距離算 出,程式流程如圖 5-41。
5 選取座標並儲存
從目的地座標開始選取所要移動的路徑。
其中,3→4→5 之範例如圖 5-39 所示。
圖 5-39 範例(3→4→5)
圖 5-40 可走不可走設定程序
簡易3D多人線上遊戲系統
圖 5-41 格子數計算程序