簡體   English   中英

iPhone游戲暫停和恢復,值得實現嗎?

[英]iPhone Game pause and resume, is it worth implementing?

請允許我描述一下我的情況:

我想開發一款游戲,即回合制和付費游戲。 這意味着您為一輪游戲支付一枚硬幣,例如彈球等。

問題是,當出現中斷時,理想情況下游戲應該暫停,並在用戶需要時恢復。 實施這似乎是一個挑戰。 假設我的游戲已進入后台,我會將游戲 state 保存在 ApplicationDidEnterBackground 中。 但是,游戲可能會或可能不會在后台終止。 因此,下一次啟動可能是“重新開始”,或者是“從上次保存的狀態恢復”。

如果該應用程序在后台停留的時間足夠長,例如 1 周,那么幾乎可以肯定其他爭奪 memory 的應用程序將導致游戲在某個時候終止。 當用戶再次啟動我的應用程序時,他們將開始新一輪游戲,這意味着之前未完成的游戲已經消失。

從客戶的角度來看,這是不公平的。

我能想到的是,實現它以便每當我的應用程序被帶到前台時,我會 go 檢查是否有保存的游戲。 如果有,我將改為恢復它。 這帶來了一個安全問題:

保存的游戲,無論是最原始的 plist 格式還是其他格式,都會被持久化,並帶來安全問題。 (如果玩家編輯游戲 state 並獲得 1000 萬分作為最高分...等)

有沒有推薦的方法來解決這些問題?

我看到有的App直接放棄了保存游戲,恢復后會開始新的一輪。 那些不是為了玩游戲而付費的,否則我可以想象用戶會非常生氣。

我見過一些應用程序保存了游戲 state 一段時間,但是當它被終止時,下次啟動時,它將開始新一輪。 在玩家實際為該回合付費的情況下,這似乎是不可接受的。

考慮到崩潰的可能性,我無法想出一個好的解決方案來確保付費客戶能夠玩一整輪游戲。 如果有相關經驗的人可以分享他們的想法,以及他們如何做出決定,那真的會對我有所幫助。

為什么不將回合結束與付款聯系起來? 如果回合未結束,則不收取任何費用。 如果該回合結束時用戶的積分不足,您可以讓他們選擇立即購買更多積分(通過應用內購買)以完成當前回合。

這簡化了您作為開發人員的任務,並且還提供了一種以不令人討厭的方式提示用戶進行額外付款的方法。

是關於使用 NSCoding 保存游戲狀態的精彩教程。 播放器在編輯文件時不會有任何問題,就像在 NSCoding 中所做的那樣。 如果用戶真的想弄清楚如何取消編碼文件並更改內容,這很瘋狂,您可以在將數據寫入文件之前對數據進行某種加密,這樣用戶就無法更改。 希望有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM