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

2021-06-28 06:01:19 字數 2801 閱讀 6672

hi,all:我是wj,一名遊戲服務端開發者,11年入行,主要集中在棋牌遊戲領域.從今天開始會把我從業至今的一些積累通過csdn部落格分享給大家.歡迎各為同行關注和交流.

首先感謝如下兩位朋友,一位是我的好**與我一同入職並共事過的"勁松"同學,他如今已經成為客戶端領域專家級程式設計師,在cocox2d-x,unity3d等主流技術領域有很深的造詣,同時也是csdn專家組成員,發表過海量精品blog.並有相關書籍出版哦!另一位是歷練要比我高出乙個大大等級的南哥,技術上我們交流的不多,但思維上他給我了很多新的想象力.有寫blog的計畫也是因為上面兩位的影響,再次感謝.

這組blog分享如下專案: 遊戲任務成就體系的實現.這是乙個中等規模的開發需求,以我個人評估,服務端的工作量大約為2人*2月(分析,開發,除錯佔比3:6:1),我將根據業務功能劃歸為十幾個blog,逐步更新到csdn中.今天首先貼一下第一節:業務分析.

第一次有組織有預謀的認真發帖,宣告一下:

1.在非技術領域,非嚴肅場合,我說話向來不追求絕對正確,在一定角度有道理我認為就是可以與大家分享.所以看我blog時切勿全盤皆信,推薦的閱讀模式時是觀摩心態,通過我的闡述加上讀者自己的思考,取精華去糟粕,最後產生出乙個自己的觀點.程式設計師不是程式,有自己的思考和態度才能讓工作更加精彩.

進入正題:

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

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

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

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

任務和成就功能在遊戲完整性角度應該偏低的,應該不會有哪些遊戲因為無法實現任務和成就功能而無法為玩家提供服務.所以在遊戲開發階段,任務和成就往往會是乙個擴充套件需求,待遊戲主體功能上線或穩定後才進行開發的業務;或者是乙個分期的需求,如前期用硬**快速編寫的固定每日任務,而後續進行擴張成完整並支援靈活配置的成就任務體系.

此處是拋開策劃案的要求,直接進入了邏輯層面的劃分,大體上劃分為三個子邏輯模型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

語言:nodejs

執行環境:linux centos 6 x64

ide:webstrom

通訊方式:tcp

服務對外連線性:後端服務,不與海量使用者直連

資料庫:mysql

傳輸協議:google的protobuf

字串統一編碼:utf8

注:這套blog側重的是設計方式和核心**的邏輯實現,以上所說的個任何乙個技術和環境只是我blog中所要使用的實現方式,但完全可以使用等價的其他技術或工具來進行開發.

吐槽id1501171715:關於模型劃分:模型劃分本來就是乙個很奇特的工作,每個人都會認為自己劃分的很有道理,但是每個人設計的又都有所不同,面對這個,是無法認定那些人是對,哪些人是錯的!因為劃分是沒有權威標準可言的,自己的標準細了那就模型數量多些而模型內部細節就少些,自己標準粗一點模型就數量就少了點但單個模型內部的細節就多了點.具體劃歸依據需要根據實際情況和業務經驗來看.強調:永遠不要絕對認定自己的模型劃分是正確的,其實我們都只面對一堆0和1而已,只是對它們的分類精細度不同罷了.

遊戲任務成就體系

任務和成就在遊戲中非常常見,基本上是遊戲的必備功能,其功能意義個人認為包含以下幾點 增加使用者粘性,讓使用者有事可做,有目標可做.增加使用者在遊戲中的成就感和投入感,降低使用者流失.體貼的遊戲商可以根據成就任務活動之間的攀比排名來激發使用者的消費慾望 一般來講成就主要為 完成一系列任務 完成一系列關...

資料指標體系搭建實戰(一) 業務洞察篇

沒錯,指標體系的前置充分條件 了解 熟悉業務。很多同學缺乏對業務經營模式的敬畏,況且還是經過市場驗證過的經營模式。生搬硬套上家公司的業務理解與行業認知來處理新公司的問題,小公司或比較傳統的公司有機率忽悠過去,更多存活中的企業都普遍是有能人的,脫離業務整花活可是要被領導錘的。這個要求非常重要,難度也比...

業務中簡單定時任務的實現

目前任務定時傳送採用的是hutool的定時任務實現的,追粉任務採用的是redis的zset實現的 xxljob定時每秒掃瞄redis 面臨的問題 使用hutool的定時任務,內部實現沒有研究,出問題不好排查把控,所以需要改造一下實現方案。查了下需要自己實現定時任務網上方案還是挺多的,下面介紹三種我們...