関西Emacsで発表したデモです。

まず、「FPS」は CoD MW のようなシューティングとかではなくて（それは是非やりたかったのですが）、一人称散歩(First Person Sanpo)プログラムです。FPSは釣りです。ごめんなさい。

(2011/05/06 追記: Vimにも出来てました!! 3D in Vim — KaoriYa)

所詮 テキストエディタ のやることですので、期待せず、生暖かい目で見てください。

動かし方：シングルプレーヤー

必要な物：

64bit版Emacs23.x 22でも動くかも知れません 32bitだと整数桁あふれするそうです

banner 文字のビットマップを取得する banner(Mac, BSD系) か printerbanner(Linux系?)

deferred.el, concurrent.el 非同期ライブラリ

matrix.el 簡易行列計算

3dmaze.el （本体）

各elispファイルは、auto-install.elで以下の式を評価して入れるか、ダウンロードしてload-pathの場所に置いてください。ダウンロードした場合は、なるべく高速に動作させるためにバイトコンパイルしてください。（多分２倍くらい速くなります）

( auto-install-from-url "https://github.com/kiwanami/emacs-deferred/raw/master/deferred.el" ) ( auto-install-from-url "https://github.com/kiwanami/emacs-deferred/raw/master/concurrent.el" ) ( auto-install-from-url "https://github.com/kiwanami/emacs-3d-demo/raw/master/matrix.el" ) ( auto-install-from-url "https://github.com/kiwanami/emacs-3d-demo/raw/master/3dmaze.el" )

準備出来たら、以下のように操作します。

M-x load-library RET / 3dmaze RET Scratchバッファで (require '3dmaze) を評価しても可

迷路を適当なバッファに描く 迷路サンプル https://github.com/kiwanami/emacs-3d-demo/raw/master/maze.txt 参考：迷路の最短ルートを探索するEmacs Lisp - Functional Emacser

迷路のバッファで M-x d3m:open-maze-buffer

初期位置はランダムで決まりますので、壁の方を向いていたら真っ青から始まるかも知れません。あわてず横を向いてください。

あと、行頭行末スペース強調をしている人は、止めておいてください。

キーバインド キー 動作 ←→ 左右に回転する ↑↓ 前に進む、後ろに進む a,s 左右に進む b 後ろを向く m 2Dマップ表示のトグル 終了は kill-buffer (C-x k) してください。