プチメタ3.0

刺激を受けた物事に対する感想や考察、資産運用や英語学習、自己成長に関することなど。


通電する箇所を見抜きながら進むアクションパズルのステージ設計がスゴすぎた


store-jp.nintendo.com


接触した場所に電気を流すキャラクターを操作して
奥へと進むアクションパズル「ElecHead(エレキヘッド)」が
非常によく考えられたステージ設計で素晴らしかった。


暗い青を基調とした背景の中、
主人公が接している部分だけに電気が流れ、
設置された装置を起動させる。




電力で起動する装置には足場やエレベーターだけでなく
トラップとなるものも含まれており、
いかに通電しないようにするか、
またどのタイミングで通電させるかが非常に重要。




電力を放つのは主人公の頭の部分だけなので
一時的に切り離せば胴体とは別の場所を通電させることができ、
それがまたギミックのバリエーションを増している。


プレイヤーを学習させるための誘導がうまく、
文章が一切表示されないのに
ルールや操作が自然と理解できるのが見事。




突破方法を試行錯誤する過程で即死することが多いが、
復活できるチェックポイントがすぐ近くにあるので
ほぼストレスなく再チャレンジすることができる上、
このチェックポイント自体を利用したギミックが秀逸。


ステージ設計(レベルデザイン)が非常によく練られていて、
序盤に学んだなルールと操作のままで
さまざまなギミックを体験することができる。


どの場面もシンプルな造りなのに
いちいち考えさせられる絶妙な難易度。
ジャンプと頭を投げるだけの単純なアクションのおかげで
できることをいろいろと試しているうちに
ふと解法に行き着く瞬間が気持ちいい。


2時間ほどでクリアできるボリュームだが、
シンプルで奥が深いアクションパズルの醍醐味が味わえる傑作。

白紙の賞状を買えば好きなだけ表彰を受けられる


何かを成し遂げた人だけが手にできる表彰状は
周囲よりも実力が高い証拠でもあり、名誉を感じるものだ。


とはいえ、表彰される機会に恵まれない人もいるし、
社会人になるとそうそう目にすることもない。
しかし褒められれば誰だって嬉しいのだ。



実は白紙の賞状がAmazonで売っている。
メーカーサイトでテンプレートも配布されているので
ダウンロードしたWord形式のファイルに
好きな文言を入力するだけで綺麗な賞状ができあがる。




自分の努力が誰からも褒めてもらえなくても
自分でがんばったと思うなら表彰すればいい。




他人より秀でるような特別なことを成し遂げていなくても
誰でも表彰する価値があるものを持っている。




自分にとってはごく日常的なことであっても
改めて表彰してみるのはどうだろう。




ある人にとっては自分が生きているだけで
一定の価値があったりするのだ。




これまでの人生でこんなに表彰されたことがあっただろうか。
金の模様が入った本物の用紙を使えば
自作の表彰状でも不思議と自信が湧いてくる。



実はトロフィーだって買える。優勝し放題だ。

「謎解き 脳トレラリー2022」をプレイしました

電車周遊謎解きのボーナスステージを楽しんだあと、
たまたま立ち寄った神戸ハーバーランドでの
脳トレ企画にチャレンジした。


リアル脱出ゲーム 感想その42
謎解き 脳トレラリー2022



www.harborland.co.jp


これはumie(ウミエ)やモザイクなど
神戸の象徴的な地域であるハーバーランドを舞台にした周遊謎解きで、
無料で配布されているチラシさえ手に入れればプレイできる。


あとはハーバーランド内の指定されたポイントを巡りながら
置いてあるパネルに記載された問題を解いて
チラシの解答欄に記入していくという流れ。
(筆記用具は持参する必要がある)




謎の難易度は非常に低くて
小学生あたりをターゲットにしている印象だが、
チラシを手に入れたり問題パネルを探す方がよっぽど難しく、
チラシに書かれたふんわりとした情報だけで
パネルに行き着くオリエンテーリング的な面白さを感じた。


全8ヶ所を巡って最後の謎を解くまで
せいぜい40分といったところでそこまでのボリュームはないが、
無料でできる暇つぶしという意味なら十分に満足。




ただ、クリア特典として応募できるフォームに
最後の回答だけでなくそれまでの8個もすべて入力させる仕様は
面倒なだけで意図がよくわからなかった。



無料でプレイできるオンライン謎解き公開中
nightschool.hateblo.jp

XOR演算を使った暗号化の仕組み


保存したデータを特定の人にしか見せたくない場合は
「暗号化」する必要がある。


インターネット上で扱う個人情報ももちろんだが、
ゲームに同梱されたデータがユーザーに読まれたり改ざんされると
楽しんでプレイする機会を奪うことになるので
暗号化しておくに越したことはない。


また、暗号化したものは元に戻せる(複合化)必要があるので
パスワードの管理で利用する「ハッシュ化」とは少し異なり、
可逆変換になっていなければならない。


暗号化については数学的な理屈も絡むので奥が深いが、
個人で自作できるレベルの簡単な理屈を紹介してみる。

文字は番号で管理されている

文字をデータとして管理するため、
文字にはそれぞれ番号が割り振られている。
これを「文字コード」と呼ぶ。


たとえば「A」の文字コードは65、
「B」の文字コードは66に定められている。
数字を表す文字にも文字コードがあり、「1」の文字コードは49だ。



今回は説明の都合上、
実際の文字コードとは異なるもので説明していく。

文字コードをズラす暗号方式

一番単純な暗号化は文字コードをズラす方式だ。
足し算と引き算は可逆演算なので、
例えばデータを構成する文字コードに適当な数を加算するのだ。



仮にそれぞれを1ずつ加算した場合、
「WORLD」という言葉は「XPSME」と変換される。
これでデータが暗号化されたわけだ。


逆に「XPSME」の文字コードを1ずつ減らせば元の単語に戻る。
どれだけズラしたかがわかれば複合できるので
「ズラした量」が暗号化キーとなる。
暗号化キーはなんらかの手段で相手に伝えたり
データファイルに埋め込んだりする。


昔作ったタイピングゲーム「喰人王」の出題文は
この方法で簡潔に暗号化してある。

2進数

1→2→3 …… 9→ 10 → 11 …… 19 → 20 → 21 …… 98 → 99 → 100 ……


普段、我々が使用している数字は
ひとつの桁を0~9の10種類で表現し、
10ごとに桁が上がるので10進数と呼ばれる。


コンピューターの場合は微妙な電圧を表現するのが困難なので
「電流が流れている」「電流が流れていない」の
2種類の状態だけで判別できるよう2進数が使われている。



0→1→ 10 → 11 → 100 → 101 → 110 → 111 → 1000 → 1001 ……


つまり、ひとつの桁(ビット)を0と1の2種類で表現し、
2ごとに桁が上がるわけだ。
コンピューターが「0と1の世界」と表現される所以である。


人間の手には2種類の状態を表せる指が5本あるので
2進数なら片手で31まで数えることができる。

論理演算

この2進数を使って行う計算が論理演算(ビット演算)だ。
ここでは2つの値に対して1つの結果を出すものを紹介する。



0 AND 0=0
0 AND 1=0
1 AND 0=0
1 AND 1=1


AND(論理積)演算は
2つの値がともに1であるときだけ1になる。



1111 AND 0010=0010
0011 AND 1100=0000
1001 AND 1100=1000


演算は桁ごとに個々に行われるため、
複数の桁を持つ値同士でも同様に計算できる。



0 OR 0=0
0 OR 1=1
1 OR 0=1
1 OR 1=1
1111 OR 0010=1111
0011 OR 1100=1111
1001 OR 1100=1101


OR(論理和)演算は
2つの値のどちらかさえ1なら1になる。



0 XOR 0=0
0 XOR 1=1
1 XOR 0=1
1 XOR 1=0
1111 XOR 0010=1101
0011 XOR 1100=1111
1001 XOR 1100=0101


XOR(排他的論理和)演算は少し変わっていて
2つの値が異なる内容の場合のみ1になる。

XORを使った暗号方式


前述した文字コードは単なる数値なので
それぞれ2進数でも表現できる。


そこで暗号化したいデータを2進数で表現し、
同じく2進数で表現した暗号キーとXOR演算を行う。



「WORLD」と「CANDY」をXOR演算すると「UOcIb」という結果になる。
「CANDY」という暗号化キーを使って「WORLD」を暗号化したわけだ。


面白いのは複合化の作業だ。
文字コードをズラす方式では暗号化するために加算した数字を
逆に減算することで複合化していたが、
XORを使った暗号化は再度同じ作業をするだけで元に戻る。




暗号化されたデータ「UOcIb」と「CANDY」をXOR演算すると
元のデータである「WORLD」になるのだ。


つまり「A XOR B=C」となる場合、「C XOR B=A」が成立する。
入力データが変わるだけなので、暗号化も複合化も
同一のプログラムで行えるというわけだ。

まとめ

暗号化のアルゴリズムはそれだけで学問になるほど奥が深く、
とにかく強固な暗号をかけたいなら
すでに洗練された既存の暗号化ライブラリを使う方が安全だ。


ただ、何かの理由で自作したいとか
どういう原理なのかを知っておきたいなら
上記のような理屈を理解しておくのも悪くないだろう。

総アクセス数