HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0528
komechikiセーブ内容を一度しか使わせないことは出来ますか?17解決


komechiki

リンク

2010/5/28(Fri) 05:34:29|NO.32788

例えばギャンブル系のゲームがあるとして、
そのスコアや回転数等をセーブするとします。
bsaveを使ってデータを"savedata"等とファイルに書き出すと
遊ぶ側はそのセーブデータをコピーしておいて、ちょっと勝ったらセーブという繰り返しで
結局同じ状況で勝つまで粘ることが出来てしまうわけですが、
こういうことを保持データの書き出し方とかで回避出来る方法はあるのでしょうか。
セーブしたいデータを遊び手がファイルとして操作できないような位置に書き出すとか、
有用な方法があれば取っ掛かりだけでも教えてください。



この記事に返信する


hatter

リンク

2010/5/28(Fri) 07:10:55|NO.32790

一応、僕なりに考えた案ですが、
まず、セーブデータを一度以上使う方法としては、
1.セーブファイルをコピー
2.セーブ前にソフトを終了
の2つぐらいしか思いつかないのですが対応策としては。

1の対応策
-A案:ファイルではなくレジストリに保存する
-B案:タイムスタンプで認証を行う(注)
-C案:隠しファイル属性にする(すぐに気づかれますが....)

2の対応策
-A案:ロード時にファイルを捨てる
-B案:終了時に保存する(onexit*)

(注)例えば、2010/5/28 8:15にできたファイルだとしたら
全ての数字の総和をファイルの先頭に書き込んでおいて
ロード時に一致するかをチェックするみたいな。



SYAM

リンク

2010/5/28(Fri) 11:45:06|NO.32792

「控えをとっておいて書き戻す」をやられてしまうと、スタンドアロンなPCではどうやったって完全には対処しきれません。全部を書き戻されたらオシマイです。
たとえばデータファイルとレジストリを複合的に使うとかして、書き戻さなければいけないデータを増やすことで書き戻しにくくすることはできますが完全に防ぐことは不可能です。
仮に私がその書き戻しをしたいと思ったなら、ツールひとつ作って自動化しちゃうと思います。HSPで。

完全にできないことをムズかしく考えてもしょーがないので、ロードと同時にデータを削除するのが手っ取り早いでしょう。
もちろん、ロード後はさらにセーブしないとデータは失われたままになってしまいますから、ロード時にはかならず削除する旨をユーザーに通知するのが好ましいです。

また、市販のゲームでもしばしば見かけるケースとして
- 限られた「セーブポイント」でしかセーブできないシステム
と、
- ロードと同時にデータ削除する「中断セーブ」
を併用したものが考えられます。
これだと、最低限のデータが失われないようにしながら、短期的なデータの書き戻しを防ぐこともできますね。



komechiki

リンク

2010/5/28(Fri) 12:43:24|NO.32793

なるほど、了解しました。
セーブはゲーム終了時のみ自動で行うようにし、ロードしたらデータを消すという方式で
タイムスタンプからチェックサムを作るということで何とかしていこうと思います。

お二方、迅速な回答ありがとうございました。



ANTARES

リンク

2010/5/29(Sat) 03:50:34|NO.32804

 どうしてプレイヤーの自由を制限したがるんですかね?
あなたが他人の自由を制限するなら、政府があなたの自由を制限しても
文句は言えないということに、なぜ気づかないのでしょう?



ダーズリー

リンク

2010/5/29(Sat) 12:13:47|NO.32805

いやまぁそりゃそうですけどねw
チートが悪だとは言いませんが、
チートができる作りにしちゃうと、チートしてない人がちょっと可愛そうじゃないですか?

政府に当てはめると、
もし、紙幣がスキャナとプリンターで簡単にコピーできたら、
それはコピーしない誠実な人の方が損する世の中になってしまいます。

ですから現在の日本の紙幣のように、簡単にはコピーできないようにしておかないと、
安心して紙幣を使うことができないのです。そんな問題だと思います。

簡単にチートできるギャンブルゲームを、何時間もかけて頑張ろうとは思わないって事ですよ〜



check

リンク

2010/5/29(Sat) 12:44:02|NO.32807

自分でせっかく作ったゲームなんだから、セーブデータを改造されて
簡単にエンディングを見られたくない、などと思うのはごく自然なことだと思うが・・・

ANTARES氏はそうは思わないらしいな。



R

リンク

2010/5/29(Sat) 13:57:40|NO.32809

>どうしてプレイヤーの自由を制限したがるんですかね?
じゃあ作者の自由も制限しないで欲しいですよね
不正な遊び方をされて喜ぶ作者もあまりいないでしょう



GENKI

リンク

2010/5/29(Sat) 22:54:46|NO.32820

作者かユーザーか。
どちらを優先するかは「作る目的」によるのでしょうね。


以下、少し私見を。
いくらハードル上げても不正操作はやる人はやるので、私の場合、技術的に押さえ込むことは考えません。そもそも完全に押さえ込むのは不可能です。
しかしそれ以前に私の場合そもそもそんな技術もないわけですが…。
技術があれば成績はサーバーで管理してしまえばよさそうですが私には無理。orz

ですので私ならユーザーに「不正操作をするくらいなら素直に遊んだほうがいい」とか「不正操作をする価値がない」とか思わせるように作ろうと考えます。
例えば…累計スコアが大きくなるより、その過程の方が面白いとか。あるスコア以上だと的中率が落ちるとか。そんな感じで。(これは例なので言い方法かどうかはわからないです。)


> それはコピーしない誠実な人の方が損する世の中になってしまいます。

技術的にはがんばれば何とかなるでしょう。企業レベルでやればさらに効率的かと。
でもインフレ怖いので誰も積極的には行おうとはしません。
もちろん警察怖いというのも多少は抑止力効果あるでしょうけど大きい要因ではありません。。



晩御飯

リンク

2010/5/29(Sat) 23:22:58|NO.32821

脈絡無く政府がとか言い出す御方にマジレスしすぎじゃないかな。
と、思いました。



ANTARES

リンク

2010/5/30(Sun) 00:18:18|NO.32823

>チートができる作りにしちゃうと、チートしてない人がちょっと可愛そうじゃないですか?
 なぜ?
「チートしてクリア」することに「チートしないでクリアする」ことと
同じ価値を与えるのですか?
 チートする人がいるかいないかで、チートしない人がかわいそうになったり
かわいそうじゃなくなったりするという考え方も理解できません。
 チートしなければクリアできない人がチートできないために
クリアできないことは、かわいそうじゃないのですか?

>もし、紙幣がスキャナとプリンターで簡単にコピーできたら、
 犯罪と自由を混同しないでください。

>自分でせっかく作ったゲームなんだから、セーブデータを改造されて
>簡単にエンディングを見られたくない、などと思うのはごく自然なことだと思うが・・・
 全く理解できません。
プレイヤーを楽しませるために作るのではなくて
プレイヤーを操ることに快感を覚えるから作るのですか?
プレイヤーを楽しませるために作るのなら、
プレイヤーがどんな楽しみ方をしようと気にはならないはずです。
もちろん、それが他のプレイヤーの楽しみの妨げになる場合は話が別ですが。

>じゃあ作者の自由も制限しないで欲しいですよね
>不正な遊び方をされて喜ぶ作者もあまりいないでしょう
 つまり、政府が国民の自由を制限する自由を認めるということですか?
「不正な遊び方」というのは、あなたの価値観に基づく判断であり、
プレイヤーにそれをさせないようにしようというのは、
あなたの価値観の押しつけでしかありません。

>脈絡無く政府がとか言い出す御方にマジレスしすぎじゃないかな。
他人の自由を制限することを容認した時点で、
あなたは他人から自由を制限されることを容認したのです。
その他人が個人だけと考えるなら大きな間違いです。



ANTARES

リンク

2010/5/30(Sun) 01:49:09|NO.32826

 ルールを決めるのは作者の自由ですが、
ルールに従うか否かはプレイヤーの自由です。
ルールに従った方がおもしろいと思えば従うでしょうし、
従わない方がおもしろいと思えば従わないでしょう。
どちらを選ぶかが人によって、また、ルールによって、
さらには時によって違うのはあたり前です。
ルールに従う方が作者にとって好ましいのは当然ですが、
どのルールであれ、総てのプレイにおいて、総ての人にそれを
守らせようとするのは独善でしかありません。



ii

リンク

2010/5/30(Sun) 04:32:31|NO.32827

>プレイヤーを楽しませるために作る
その前提がおかしいのではないでしょうか?

プレイヤーには、作者のルールから逃れる「自由」もあります。
すなわちそれは作者のソフトをプレイしないことです。
したがって、作者がどのような制限を課した所で、
プレイヤーにも「自由」は尊重されると考えられます。

この考えから、プレイヤーをどのように操るかにも、作者の「自由」が保障されます。
楽しませるのも困らせるのも「自由」なのです。
ただし、プレイヤー側に明らかな損害が生じる場合、それを予め申告しておく必要はありますが。


>つまり、政府が国民の自由を制限する自由を認めるということですか?
「政府が国民の自由を制限する自由を認める」ことこそ、
人間社会である国に属するための条件では?
>あなたの価値観の押しつけでしかありません。
同様に、価値観の押し付けを受け取るか拒否するかの「自由」もプレイヤーは持っています。
>どのルールであれ、総てのプレイにおいて、総ての人にそれを
>守らせようとするのは独善でしかありません。
プレイするかしないかはプレイヤーの「自由」ですから、
ルールに従うことがソフトをプレイする条件としても、プレイヤーの「自由」が保たれます。

というか、価値観の押し付け無しに、自分の考えを理解させることは出来るのでしょうか?


ソフトをプレイする「義務」がプレイヤーに存在する、
という前提があるならば、あなたの主張にも一理あると言えます。

長文駄文失礼致しました。



荒河

リンク

2010/5/30(Sun) 04:59:22|NO.32828

>>ANTARESさん
貴方は本当にANTARESさんですか?
少し考えが足りなさ過ぎる気がします。
貴方の言う自由には「責任」が無いです。
色々と本人か疑わしいので今回はANTARESさんと呼ばないようにさせていただきます。

>犯罪と自由を混同しないでください。
ですが貴方の発想のレベルが大差ないかt(ry

>ルールに従うか否かはプレイヤーの自由です。
そうです。
しかし、ルール従わない=ゲームをやめるという事です。
現実のゲームでルールに従わないで暴れまわったら店員さんか警備員さん、あるいは怖い人に追い出されてしまいます。
チート防止はそれと同じ事ではないでしょうか。



GA-01

リンク

2010/5/30(Sun) 06:25:22|NO.32829

ここをみて自分が思ったことをかきます

まずチート対策をする事がプレイヤーの自由を制限する事にはならないと自分は思います
理由はほかの人が言っているように
チート対策をしても完全にチートを使わせなくするのは難しい(不可能?)ですし
チート対策がいやなら対策されていないソフトで遊べばいいのです
なのでプレイヤーには十分自由があると思います

それからチートをできる仕様にするとチートをしてない人がかわいそうという考えは
自分は逆だと思います
チートをしていない人はゲームをクリアしたときに達成感があると思いますが
チートをすると達成感がかんじられませんよね
それにチートをつかうとゲームの本当の面白さを知ることもできません
なぞなぞの答えを自分で考えずに最初から答えをみたら面白くないのと同じです
そう考えると本当に可愛そうなのはチートをした人だと思います


あととくに関係はないのですがちょっと気になったので聞きます
ANTARESさんがいう自由とは
犯罪にならないことのなかで自分のやりたいことをする権利見たいな感じですか?
それとも犯罪になるのも関係なく
自分がやりたい事をなんでもやっていいという感じですか?



ミント

リンク

2010/5/30(Sun) 07:52:46|NO.32830

皆、最初の質問からずれてるよ?
人によって価値観が違うんだからそれを他人に押し付けちゃだめ。

だいぶずれてるから、これ以上のスレできないようにストップしたほうがいいかもね。



ANTARES

リンク

2010/5/30(Sun) 09:43:04|NO.32831

 少し違った視点の書き込みをしようと思ってきてみたら、
けっこうレスがついているので、あまり話題を広げない方向で。

>>プレイヤーを楽しませるために作る
>その前提がおかしいのではないでしょうか?
 なるほど、プレイヤーを楽しませるために作っているのではないと。
しかし、プレイヤーは楽しみたいからゲームをやるのであって、
プレイヤーを楽しませることを目的としていないあなたのゲームは
プレイしないかもしれません。それでよいというなら何も言うことは
ありませんが、プレイヤーのいないゲームは寂しくありませんか?

>楽しませるのも困らせるのも「自由」なのです。
 つまり、作者にのみ侵すべからざる絶対的な自由があり、
プレイヤーには作者の自由に抵触するいかなる自由も認めないという立場ですね。

>「政府が国民の自由を制限する自由を認める」ことこそ、
>人間社会である国に属するための条件では?
 民主主義を否定する人がいるとは。
独裁主義的という点で一貫してはいますが……

>価値観の押し付け無しに、自分の考えを理解させることは出来るのでしょうか?
 もちろん。
自分の価値観に無理やり同意させようとするのが価値観の押しつけです。
同意はできなくても理解はできます。

>ソフトをプレイする「義務」がプレイヤーに存在する、
>という前提があるならば、あなたの主張にも一理あると言えます。
 義務どころか、プレイする人をプレイヤーと呼ぶのは定義であり、
プレイヤーにならない自由など、「プレイヤーの自由」ではありませんし、
プレイヤーのいないゲームに「プレイヤーの自由」は必要ありません。
プレイヤーのいないゲームを作りたいのであれば、
どうぞ、好きなだけプレイヤーの自由を制限してください。


>貴方の言う自由には「責任」が無いです。
 どんな責任ですか?


>なのでプレイヤーには十分自由があると思います
 論点は、「プレイヤーに自由はあるか」ではなく、
「プレイヤーの自由を制限しようとすることの是非」です。
ほんとは是非ではなく、なぜ制限したいのか理解できないという話ですけど、
是非でもいいです。

>ANTARESさんがいう自由とは
>犯罪にならないことのなかで自分のやりたいことをする権利見たいな感じですか?
 以下の発言から明らかかと思います。
> 犯罪と自由を混同しないでください。
>もちろん、それが他のプレイヤーの楽しみの妨げになる場合は話が別ですが。
 「犯罪にならない」だけでは不十分です。



ii

リンク

2010/5/30(Sun) 16:24:48|NO.32842

>ANTARESさん
民主主義にも、公共の福祉という個人の自由を阻害するものがあるはずですが・・・。
そもそも、ゲームの制限・ルールと法律を違うものだと言うのならば、
それはゲームを現実社会で喩える貴方の論法に反していませんか?

以下、この話題について意見がある方は、こちらで話し合いましょう。
http://hsp.tv/play/pforum.php?mode=all&num=32841



ONION software Copyright 1997-2023(c) All rights reserved.