3Dダンジョンのようなプログラムを作るのも一つの夢だったのですが、
griffpatchさんというすごい方が、その方法をyoutube動画で解説していたので、
さっそく試してみました。

griffpatch さんの動画
Crazy Siple Raycasting E1
Crazy Siple Raycasting E2

Scratchで作ってみたもの(3Dと2Dが切り替えらえる機能を加えました)
3d 迷路 [Griffpatch Method]

はじめに、2D迷路上で自由に動けるPlayer を作成し、
Playerの前方の壁までの距離を測定するアルゴリズムを作ります。
これを図示すると、まるで懐中電灯で照らした光のような図になります。

ここまで作ってから、その距離情報をもとに3Dの壁をPenを使って作成します。
魚眼を補正する方法、壁を色分けする工夫、などなどすばらしいです。

キー操作でかなりスムーズにうごきます。

grifpatchさんの動画はとてもわくわくしますし、なるほど!!ってなります。