こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

パズドラのスタミナ機能を作りたい

どうもはじめまして。

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


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

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

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


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

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

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

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

投稿日時 - 2013-10-04 02:12:04

QNo.8290911

困ってます

質問者が選んだベストアンサー

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

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

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

投稿日時 - 2013-10-04 09:31:45

お礼

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

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

投稿日時 - 2013-10-09 17:57:15

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

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

投稿日時 - 2013-10-04 05:21:31

お礼

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

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

投稿日時 - 2013-10-09 17:42:05

あなたにオススメの質問