Discuss Scratch

Jinenjo_000
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

#460
「ビットフラグのアドレスが改ざんされたセーブコード」の作成をどうやって防ぎますか?
newmomizi_txt
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

#461
その可能性を考慮していませんでした。
確かに、クラウド変数は外部から丸見えなので、そのような攻撃も可能ですね…
Catapult-
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

開始時の乱数のシードと、その後の入力全てをセーブコードに含めてしまうのはどうでしょうか。
ゲーム再開時に今までの動きを全てシミュレートして、セーブ時の状態に戻すやり方です。
Misskeyの機能の一つであるMisskey gameで、スコアの不正対策として似た方法が使われているようです。

遊べば遊ぶほどデータ量が増えてしまうのがデメリットですが、マインスイーパーやローグライクのようなターン制ゲームでは使えそうです。
また、同じような入力が続く場合はランレングス圧縮などの圧縮も使えそうです。

Last edited by Catapult- (April 26, 2024 13:05:21)

JIXG
Scratcher
11 posts

セーブコードについてみんなで話し合う場所1

komugi4969 wrote:

ごめんなさい 進数って何ですか?  小5なので分かりません
ぼくたちがいつも使っているのが10進数で1、2、3、4、5、6、7、8、9、0の10個の数を使って表します。
例えば2進数なら0と1しか使えませんし7進数なら0.1.2.3.4.5.6しか使えません
因数分解を利用してこれを変換出来ます
Jinenjo_000
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

Catapult- wrote:

開始時の乱数のシードと、その後の入力全てをセーブコードに含めてしまうのはどうでしょうか。
ゲーム再開時に今までの動きを全てシミュレートして、セーブ時の状態に戻すやり方です。
いい方法だと思います。 

Jinenjo_000 wrote:

VRFを使えばゲームの進行状況、入手アイテム、ガチャの抽選結果などの不正が難しくなるかもしれません。
こちらのVRF を使ったゲーム処理の安全なリモート委譲という記事が参考になります。
以前話題に出した VRFを実装してみました。事前にプレーヤーに公開鍵を登録してもらえば、「開始時の乱数のシード」を調整するチートを防ぐことができます。
newmomizi_txt
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

確か「トルネコの大冒険」(不思議のダンジョンシリーズ)では、「そのフロアに入った時の状況と、その後の行動」を保存していたはずです。
(オートセーブ機能があるため、パスワードセーブとは異なりますが)

要するに、単に行動全てを保存するだけでなく、一定時間ごとにデータをまとめると良いのではないかということです。

ただ、「そのフロアに入った時の状況」を保存する方法だと不正をしやすいので、「1つ前のフロアに入った時の状況」などにした方が良いかもしれませんね。
CPU-Nagi
Scratcher
52 posts

セーブコードについてみんなで話し合う場所1

すみません質問なのですが10進法から2進法に変更して該当する文字に変更(例えば000だったら「あ」にする001だったら「い」にするなど)その後その文字を10進法に変換(あなら00いなら01にするなど)してまた2進法に直して……と言うのを繰り返すようにして最終的に文字化けしたみたいなものを作れないでしょうか。

Last edited by CPU-Nagi (Dec. 1, 2024 01:37:39)

kouhei-1
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

その操作だと数字が
hoge(10) -> hoge(2) -> hoge(10)… と 延々と hoge(10) と hoge(2) を周回する気がします。
(hoge(2)を10進数として扱ってそれをまた2進数に変換するということでしょうか?)

なぜ文字化けさせたいのかはわかりませんが、一番簡単なのは文字の大量に入ったリストを作り換字式暗号のようにすると文字化けのように見せることができると思います。

Last edited by kouhei-1 (Dec. 1, 2024 00:14:26)

CPU-Nagi
Scratcher
52 posts

セーブコードについてみんなで話し合う場所1


この上の文字を使ってセーブコードを作ればわからん説(環境依存文字なのでディスカッションフォーラムには出ないっぽい)

Last edited by CPU-Nagi (Jan. 17, 2025 14:14:15)

negitoro-1026
Scratcher
2 posts

セーブコードについてみんなで話し合う場所1

CPU-Nagi wrote:

この上の文字を使ってセーブコードを作ればわからん説
疑問が解消しました。

Last edited by negitoro-1026 (Jan. 18, 2025 08:50:38)

ioqj
Scratcher
500+ posts

セーブコードについてみんなで話し合う場所1

CPU-Nagi wrote:

この上の文字を使ってセーブコードを作ればわからん説(環境依存文字なのでディスカッションフォーラムには出ないっぽい)
Scratch上でコメントなどで使用できる絵文字には限りがあります。
「❓」などの文字は表示できます。
negitoro-1026
Scratcher
2 posts

セーブコードについてみんなで話し合う場所1

自分はこの話題について知識がほとんどないので、詳しくはわかりませんが、
一人一人のアカウントから一つの数字を導き出し、
セーブコードと組み合わせてみてはどうですかね(おそらく換字式暗号)?
すでに出ている案だとしたらすいません。

Last edited by negitoro-1026 (Jan. 19, 2025 08:48:28)

blackcoffeeoisii
Scratcher
17 posts

セーブコードについてみんなで話し合う場所1

komugi4969 wrote:

YY04 wrote:

10進数:0~9までの10個の数字を使って表す数

2進数:0,1の2個の数字を使って表す数

16進数:0~9,a~fまでの16個の文字を使って表す数

2進数はフラッシュメモリー的な?

というわけはコンピュータは2進数で動いているということ

Powered by DjangoBB