遊戲中任務系統設計

2021-09-29 05:36:59 字數 1025 閱讀 9632

1、任務分類

遊戲中任務可以分為主線任務、支線任務、日常任務、周任務、節日活動任務,其中周任務和節日任務可以根據設定的日期進行開啟關閉,屬於重複性任務。

2、遊戲條件

各類任務開啟條件:1、玩家等級 2、玩家攻擊力3、前置任務等等

完成條件:玩家進行任務進度是否達成

任務關閉:1、玩家領取獎勵後關閉任務。2、時間過期

3、任務邏輯型別:

任務邏輯有多種,這個往往跟遊戲內容相關,比如 殺怪、採集、聊天、公升級、完成某家物品等等。每種任務邏輯配置成一張表,例如殺怪類,有任務id,場景(或副本)id,npc id等,這樣執行任務判斷時直接根據配置表進行判斷,任務進行是否一致,然後進行任務進度計算。

也有一些任務邏輯可以配置成指令碼,程式根據指令碼內容進行判斷。

簡單任務邏輯處理方式(偽**):

void kill_boss()

class tasklogic

;class killbosstasklogic : public tasklogic

va_end(arg);

return false;

}};class task

}int process; //進度計數

int taskid;

int tasktype;

enum taskstate;

tasklogic* plogic;

};class tasktrigger

}void addtask();

void deltask();

std::mapmmtasks;

};

4、任務過程

接收任務(將任務內容放到玩家身上)------->任務進行中(進行進度計數,也有一些直接判斷完成任務例如聊天)-------->任務完成(根據配置邏輯判斷任務是否完成)-------->任務獎勵發放(玩家領取或者自動發放)------->領取新的任務。

5、任務狀態

不可接任務、可接任務、任務進行中、任務完成(未領取獎勵)、任務完成(領取獎勵)

遊戲中郵件系統設計

一般遊戲中有兩種郵件,系統發給某個人的私人郵件 乙個是發給全服玩家的公共郵件 比如活動郵件 補償郵件 2 系統是發給全服玩家的郵件,這種郵件需要單獨處理,先在記憶體中儲存,同時插入全服郵件箱中。3 玩家登入上線郵件處理 玩家上線載入自己的郵件列表資訊,同時對比伺服器記憶體中的全服郵件是否在玩家列表裡...

遊戲中幾種概率設計

遊戲中常見的4種概率設計 1 常規做法,直接配置概率,程式直接判定 2 在1的基礎上,加個保底次數,當連續不發生的次數高於保底時,強制發生 3 設定基礎概率,事件不發生概率翻倍 4 設定陣列,將事件發生概率變成陣列元素 設定預計平均發生概率為1 20 20次發生1次 模擬10w次方案1 3後得結果 ...

遊戲中的動畫系統

這樣的 很麻煩,也肯定不是乙個成熟的遊戲需要的。更簡單些,這樣 while true 這個playanimation 這樣寫 if frameindex animationframes.length 然後再說說詳細說說動畫的組成。動畫是由一楨一楨的影象組成。而每一楨的影象又是一塊一塊的小圖拼成。為什...