遊戲任務成就體系

2021-09-06 22:59:28 字數 3364 閱讀 7034

任務和成就在遊戲中非常常見,基本上是遊戲的必備功能,其功能意義個人認為包含以下幾點:

增加使用者粘性,讓使用者有事可做,有目標可做.

增加使用者在遊戲中的成就感和投入感,降低使用者流失.

體貼的遊戲商可以根據成就任務活動之間的攀比排名來激發使用者的消費慾望

一般來講成就主要為:

完成一系列任務

完成一系列關卡

完成一系列挑戰

完成一系列成就

殺死一系列敵人

1. 任務:

業務形式描述:一定時間內,呈現給使用者的行為目標,達成後會有有一定的獎勵,而後結束或出發下乙個目標.

在時間上的特性:判定和發獎都是即時的.而任務的存在往往是有生命週期的.

展示層面上的分類:可根據不同的任務型別劃分為,每日任務,成長任務,新手任務,運營活動等等,(但資料模型是一樣的.)

任務組:有一部分任務做完了之後會出發下乙個環節(可能也是乙個任務)此時,我們可以將這個情況定義為連續任務,多個小任務組成的乙個有序整體,我稱之為任務組.任務組我設計的任務成就體系中乙個核心概念.後續章節會仔細討論.

2. 排名活動:

業務形式描述:一定時間內,全域性使用者設定乙個共同的行為目標,在時間結束時進行最終的統計和排名,最後根據這個結果對使用者進行差異性獎勵.

時間上的特性:在排名活動進行時間內,是不進行判定和發獎的,最多只是提供了即時或定時的排名重新整理顯示.當排名活動結束時,會統計資料並進行結算.(在此之前資料來源還在持續更新中也無法做出結算).

展示層面上注意事項:遊戲都有活動,但是此處的的排名活動僅指具備"業務形式描述"中指定特性的部分活動,其他很多活動在資料模型中其實是"任務"模型.(to新手:做伺服器開發過程中一定要從資料模型角度來分析業務,而不是從策劃人員給出名字上來定位). 例:

1>"元旦活動:1月1日 - 1月3日之間充值前5名的玩家可以活動iphone7一台"-- [這個是排行活動模型]

2>"端午活動:5月5日 - 5月7日之間充值達到3w元的玩家可以活動ipad5一台"--[這個其實是乙個任務模型]

3>"中秋活動:9月20日 - 9月23日之間充值達到3w元玩家可以活動m6一台,充值額前10%的玩家更可獲得火星單人單程飛機票一張" -- [描述的是乙個活動,但是資料模型上實際上是兩個業務,m6的是任務模型,火星的是乙個排行活動模型]

3. 成就:

業務形式描述:永久性的,對使用者設定乙個行為目標,每個目標有階段性劃分並逐步達成,使用者達成後會有獎勵,多數獎勵為可炫耀或無其他**的獎勵(比如乙個稱號).這樣的成就,經常十幾個並行平鋪,使用者所有成就進行的總進度,可以作為使用者在遊戲中的"資深度"的乙個重要體現.

時間上的特性:即時判定即時達成,成就有效期為永久.

展示層面上的分類:展示形式多種,與平時大多數人理解的成就相似,不仔細描述啦.

注:細心人可能發現,從描述的資訊來看,成就與任務是相似的,或者說成就是有效時間為無限早至無限晚的特殊任務.其實確實如此,之所以將這部分區分出來的原因是因為在真實的遊戲(僅指我所設計的遊戲)設計中,兩者的使用頻率是有巨大差異的,為了提公升執行效率和系統穩定,我將邏輯簡單並輕易沒不會有過多策劃空間的成就單獨列了出來.其他朋友可以根據自己的實際情況定位自己的設計

遊戲中排行榜的活動和運營活動等, 都是一類型別活動規劃好遊戲的活動非常重要

活動分為:

遊戲伺服器的全域性活動

玩家的活動

所有活動的共同的資訊

活動名稱:

開始時間和結束時間

活動描述

活動顯示的

game伺服器列表

渠道(小公尺, 華為等等)

領獎保留時間

大致的流程

web到gm到game伺服器的處理game

1, gm的工作(運營這一塊)

活動是給運營人員增加遊戲中玩家的成就感和投入感, 這個會乙個web的局面通知gm程序, game伺服器後期, 後期玩家越來越多了, 就增加game伺服器, 1伺服器, 2伺服器, 3伺服器… , gm程序就是管理活動具體在那個game伺服器有這個活動, gm管理活動在那個伺服器上有的,和活動什麼時候停止, 什麼開始這個活動.

乙個流程圖

gm伺服器的活動業務邏輯主要分為兩類:

接收web運營人員的活動通知gm增加, 修改或者刪除活動操作

gm通知game伺服器, game伺服器請求gm伺服器

2, game(word)伺服器

word伺服器分為

活動的個人資料

全域性活動資料

3, 活動可以使用工廠方法模式設計

優點:實現了物件建立和使用的分離。

不需要記住具體類名,記住引數即可,減少使用者記憶量。

擴充套件性好

偽**:

enum activitytype

;class activity

;class activity_shop :public activity;};

class activity_mgr

;

1, 競技場的設定

競技場的正常情況在取 前5名, 在根據自己的 (競技場的排名是什麼戰鬥力) 戰鬥力 等差數列 - 找到自己插入的位置 首先把放到競技場的排行榜上 上才能戰鬥

當設計任務時有如下幾個重點:

任務需要以線的方式組織,一般都是在每個任務配置中指定下乙個任務的id,每個任務線的第乙個和最後乙個比較特殊,第乙個任務必須在角色屬性滿足條件下自動獲得,而最後乙個任務因為是故事線的結尾所以不能觸發下乙個任務,需要保持任務已結束的狀態,如果故事線增加了後續任務,那麼任務可以繼續往下順延。

任務需要滿足條件才能接取,所謂的條件一般都是角色屬性,比如角色等級。比如等級10級以上的可接取,為了抽象這個需求,任務可接條件設定兩個字段角色屬性型別和屬性值,這個等級的例子就是等級:10。

任務接取後角色在遊戲中做相關的操作,如果跟接取的任務相關,那麼任務的進度會自動更新,那麼二者是組合產生關聯的呢?我們使用事件機制,玩家的遊戲行為拆分出一系列的事件型別,用三個字段表示,事件型別,事件物件,事件值,比如打怪,事件型別為擊殺怪物,事件物件為樹妖,事件值為1。對應的任務完成條件也是這三個配置,不過任務配置中的值為目標值,另外有一種特殊情況比較常見就是狀態完成條件,比如某任務需要角色達到100級完成,這個時候就用乙個特殊的事件型別,屬性表示狀態類的完成條件,本例中配置就應該為屬性:等級:100。

任務完成後需要觸發下乙個任務,但是如果下乙個任務條件不滿足,那麼也不允許獲得該任務,待角色屬性成長後滿足了條件再自動獲得。

任務配置除了支援以上說的引數外,需要流出一些可擴充套件引數,比如任務獎勵,任務繫結的npc,任務接、交過程中的對白、過場動畫等。任務系統使用csv做配置,增加配置只需要增加欄位就可以了,每個任務有std::map型別的引數字段保留了所有擴充套件配置。

系統中大量使用了事件機制,增加了易用性和可擴充套件性。角色上線載入資料,使用事件機制,避免了與資料庫模組產生耦合,同時也很好的支援了非同步和同步模式。

遊戲任務成就體系的實現 一 業務分析及技術架構

hi,all 我是wj,一名遊戲服務端開發者,11年入行,主要集中在棋牌遊戲領域.從今天開始會把我從業至今的一些積累通過csdn部落格分享給大家.歡迎各為同行關注和交流.首先感謝如下兩位朋友,一位是我的好 與我一同入職並共事過的 勁松 同學,他如今已經成為客戶端領域專家級程式設計師,在cocox2d...

celery非同步任務體系筆記

1.非同步框架示意圖 2.celery 官方文件 3.啟動celery的命令 啟動 sender 自動檢測 啟動worker 自動檢測 4.broker和backend broker 任務儲存 和backend 結果儲存 都是用的是rmq,backend中的資料會有自動過期機制,1小時後結果將自動過...

cocoscreator入門遊戲任務

按照官方教程就知道如何去碰撞以及收集星星和得分了 任務1 小怪獸開始知道地面在哪了 任務2 小怪獸碰到星星就變色 啥色呢 任務3 碰到怪物就掛掉,停止遊戲 任務4 加分 任務5 場景跳轉 開始,遊戲,結束 任務6 後面的背景跑起來 任務7 自動生成小星星和小怪獸 隨機演算法 距離小星星20時概率為2...