如何在服務(wù)器端完善游戲的用戶體驗(yàn)
當(dāng)你最終發(fā)行了你的游戲并足夠幸運(yùn)吸引了一定用戶下載了游戲后,他們將陷在第8個(gè)關(guān)卡并且很難通過(guò)它。
根據(jù)你的分析服務(wù),他們到目前為止似乎都很喜歡游戲,但是現(xiàn)在用戶的登錄頻率大大下降了。你正在失去這些活躍用戶。到底發(fā)生了什么?
毫無(wú)疑問(wèn)他們是喜歡你的游戲。那他們?yōu)槭裁磿?huì)止步于第8個(gè)關(guān)卡?關(guān)鍵在于你可能高估了用戶對(duì)于游戲的精通能力。第8個(gè)關(guān)卡可能對(duì)于大多數(shù)用戶來(lái)說(shuō)太復(fù)雜了,這也是為什么他們不再登錄游戲。你也因此會(huì)失去這些用戶。
存在許多方法能夠解決這一問(wèn)題。你可以在玩家到達(dá)第8個(gè)關(guān)卡之前減少敵人數(shù)量,提高玩家的體力,改變游戲時(shí)間或添加更多游戲關(guān)卡,從而讓玩家在面對(duì)第8個(gè)關(guān)卡時(shí)能夠更擅長(zhǎng)游戲。
提交到商店花費(fèi)了太長(zhǎng)時(shí)間
是的,你已經(jīng)決定優(yōu)化游戲參數(shù)讓用戶能夠更容易進(jìn)行體驗(yàn),從而讓他們能夠繼續(xù)游戲并留在這里。假設(shè)你是個(gè)非常厲害的程序員,所以你能夠在一天內(nèi)快速調(diào)整代碼并成功測(cè)試游戲機(jī)制。這當(dāng)然很棒,但即使如此你也需要等待Google Play或App Store的審核才能發(fā)行更新內(nèi)容—-前者需要1天,而后者則需要7天。
缺少對(duì)于游戲內(nèi)容修改的回應(yīng)時(shí)間的掌控會(huì)阻礙你去創(chuàng)造游戲進(jìn)程。我并不想成為懶漢,但事實(shí)是在這期間我一直會(huì)失去用戶。
在通過(guò)審核后,用戶仍然需要去下載***的游戲版本。有些人會(huì)馬上采取行動(dòng),有些會(huì)之后再下載,也有些人永遠(yuǎn)都不會(huì)去下載***版本。盡管你匆忙激活***版本,但要想知道改本是否有效還是取決于用戶的態(tài)度。
是的,你仍在繼續(xù)失去用戶。
我們總是很難從用戶那獲得有效的反饋,因?yàn)椴⒉皇撬杏脩舳紦碛?**版本的游戲。
適應(yīng)
越來(lái)越多游戲開(kāi)發(fā)者在使用外部服務(wù)器去儲(chǔ)存游戲機(jī)制數(shù)據(jù)。提供靈活性和快速回應(yīng)是適應(yīng)用戶需求的關(guān)鍵。想象一個(gè)服務(wù)器將你的回應(yīng)時(shí)間壓縮到最短,并能夠提供給你的用戶不間斷的游戲體驗(yàn),如此你便能夠同時(shí)測(cè)試不同的方法了。
為什么要將參數(shù)儲(chǔ)存在外部服務(wù)器
1.不要讓別人主宰你的回應(yīng)時(shí)間
你的回應(yīng)時(shí)間不應(yīng)該比你調(diào)整代碼的時(shí)間還長(zhǎng)。修整它讓改變能夠同時(shí)發(fā)揮作用,你便能夠快速回應(yīng)用戶的需求并留住他們的注意力??焖佾@得用戶數(shù)據(jù)讓你能夠判斷改變是否發(fā)揮功效或者你是否需要對(duì)改變進(jìn)行新的迭代。
2.不要讓用戶因?yàn)橛螒蚋孪螺d而感到厭煩
讓你的用戶可以輕松體驗(yàn)更新內(nèi)容,避免他們手動(dòng)下載任何游戲更新。如此他們便會(huì)去體驗(yàn)游戲的***版本,你也能夠夠獲得可靠的用戶數(shù)據(jù),因?yàn)閷⒉粫?huì)出現(xiàn)不同版本同時(shí)運(yùn)行的情況。
3.不斷尋找解決方法
在同一個(gè)問(wèn)題中使用不同的解決方法去同時(shí)測(cè)試哪個(gè)方法更有效。分開(kāi)測(cè)試代碼差異能夠帶給你更多數(shù)據(jù),這意味著你將縮減用戶尋找最適合游戲的調(diào)整方法的時(shí)間。
服務(wù)器腳本等于***可配置性
以此為例。你可以在服務(wù)器端創(chuàng)造一個(gè)配置集合去保持一個(gè)簡(jiǎn)單的配置JSON。以下是相關(guān)代碼:
- {
- “levels”:
- {
- “1″: { “difficulty”: 1, “time”: 60 },
- “2″: { “difficulty”: 3, “time”: 70 },
- “3″: { “difficulty”: 5, “time”: 80 },
- “4″: { “difficulty”: 7, “time”: 90 },
- “5″: { “difficulty”: 9, “time”: 100 },
- },
- “adsplatform”: “iads”,
- “coinseveryday”:
- { “1”: 10, “2”: 20, “3”:30, “4”: 60, “5”: 100 }
- }
每次當(dāng)用戶打開(kāi)一個(gè)新游戲回合時(shí),你便能夠檢測(cè)這一配置是否發(fā)生改變。如果發(fā)生改變,它便會(huì)開(kāi)始下載全新游戲配置,并馬上開(kāi)始使用它們。
此外,你也可以輕松地使用一個(gè)定制腳本去執(zhí)行A/B測(cè)試。
在集合中創(chuàng)造2個(gè)或3個(gè)JSON配置樣本。
定義一個(gè)名為getGameParameters的定制腳本(全新服務(wù)器功能)。
每當(dāng)用戶登錄游戲時(shí)便調(diào)用這一功能。
這一功能將是一個(gè)簡(jiǎn)單的JavaScript(游戲邦:使用一個(gè)循環(huán)技術(shù)),它將決定該發(fā)送哪個(gè)JSON:A,B或C?;谶@種方法決策點(diǎn)便取決于服務(wù)器端,并且能夠輕松做出改變,你將能夠同時(shí)測(cè)試不同配置而得到更好的結(jié)果。