プロが教える店舗&オフィスのセキュリティ対策術

どうもはじめまして。

現在、会社の仕事をこなす傍ら、昔からの夢だった自作ゲームをiPhoneで作ろうと思い、
開発を進めています。


◆質問したいこと:
パズドラのスタミナ機能をどのように実装すればいいのか?
なんとなく、アプリが停止した瞬間の時間を保存しておき、起動したら保存された時間と起動した瞬間の時間の差を計算すればいいのかなぁと考えているのですが

そもそもそういうことは可能なのか?
可能だとしたら、そういった処理はどこで書くべきなのか?
サンプルをご存知ではないか?

上記のようなヒントを頂ければ幸いです。


◆ゲーム、実装の内容:
スタミナを消費して、ゲームを始めることができます。
スタミナは一定の時間が経過するごとに1ずつ回復していきます。
まったくわからないなりにサーバーも準備して、通信してフレンド登録もできるような形式です。

理想としては極力、通信による遅延を避けるために、アプリ内で時間を計測して、スタミナの回復量を計算できれば、ベストです。

◆自分のレベル:
アップルのドキュメントに記載された簡単なサンプルや簡単なtodoアプリを理解して作成できる程度です。

◆開発中のXcodeバージョン。アプリの対象OS:
iOS5,6対応。XCode4.5。

A 回答 (2件)

ほうほうなるほど、それならばナニをアレすればいいのですよーところでそのゲームなんてタイトルです?(くっくっくっ、アプリ止めてる間にiPhoneの時間をいじってスタミナ稼ぎ放題だぜ)



……ということになるので、
> アプリが停止した瞬間の時間を保存しておき、
> 起動したら保存された時間と起動した瞬間の時間の差を計算
するのはやってはいけません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。

やはりスタミナひとつ実装するのも、大変ですね・・・

お礼日時:2013/10/09 17:42

#1さんのご回答でも示されているように、


端末自体の時計に依存するスタイルで作ってしまうと、端末の時計をいじることで容易に不正行為が行えます。
ソーシャル要素を一切含まないゲームなのであればこれでもいいかもしれませんが、
ソーシャル要素を含むのであればこれは避けるべきです。

スタミナが満タンになる時刻をサーバーに保存しておく、というのがよい方法でしょう。
1時間分のスタミナを消費したなら、満タンになる時刻を1時間後ろにずらせばそれで済みます。

通信による遅延を気になさっているようですが、
スタミナの回復が2, 3秒遅れたからといって難癖つけるような人はそうそういません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
今回は、問題点の指摘と解決方法を同時にしていただいたので、ベストアンサーとさせて頂きました。

基本的には、重要な情報はサーバーに集積していくというスタンスで行けばいいということがわかりましたので
自分としては大きな進歩です。

お礼日時:2013/10/09 17:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!