東京フレンドパークのネヴァーワイプアウトっぽいゲーム(Flash)

http://cres.s28.xrea.com/soft/friendpark.html

昔のものをどんどん出して行こうということで、その第一弾。Box2Dを使用しました。製作期間は3日ほど。Box2Dに慣れるのが2日。オブジェクト配置が1日(徹夜)。途中からFlashDevelopというソフトを使用し、効率が上がった覚えがあります。ゴールしてもYou Goalって出るだけで、特に何もないのが悲しい。クリック連打するとちょっと楽しい?

新しいファイラー

MDIEを直すより、いっそ新しくしようと考え、去年からコツコツやっていましたが、
まだ出せそうにありません。4月ぐらいに何かあると良いと思います、って感じで
お茶を濁しておきます。なんだか、ファイラーが盛り上がっているみたいなので、
便乗して新しいファイラーがどんな風になるのかを、紹介したいと思います。

外観


どこかのブラウザにすごく似てる気がしないでもない外観になっています。去年の12月31日まではWinSCPに似ている二画面だったはずなのに、新年明けたらこうなってました。MDIEと大きく異なるところはありません。メニューがないぐらいですね。閉じるとかのボタンがないので、今後しっかりやります。

検索


検索は大きく変わります。基本的に検索という概念はなくなり、全てのフォルダが階層に対応します。検索はまず2階層ぐらいを展開します。そしてフィルタリングします。(下の検索バーにフィルタリングしたい言葉を打ち込むのですが、現状は古い仕様のコマンドバーだったものを代用しています。リリース時とは異なります)展開した結果は保存しているので、再フィルタリングは高速です。ただしメモリを圧迫する可能性があります。まぁメモリは増える方向なので、そういった設計にしました。検索と通常のファイル操作がシームレスに扱えるようになります。

設定の保存

レジストリはやめ、JSON形式にしました。JsonCppをutf16に対応させたものになっています。

縮小表示

今まで酷かったちらつきを押さえ、さらにキャッシュとしてsqlite3を使用しています。また画像の取得はGDI+を使用し、今までよりシェルへの依存を弱めています。これによりvistaへの対応度が高まると思っています。
Susieプラグインユニコード対応になったらSusieプラグインに対応させようと思います。というかもうSusieで表示するコードは書いたのですが、ユニコードじゃなきゃ納得いかないということで、放置してます。

複数ウインドウへの対応

いくつかのウインドウを表示することができるようになります。

その他

Vistaへの対応はやってません。ただWindows7は買うつもりなので、動きそうなコードにしています。MDIEはXP,2000に大きく依存したコードになっていたのですが、今回はマイナーな関数などの使用を避けています。ただファイラーという性質上避けられないものもあるので、Vistaへの対応は微妙です。MDIEよりか動くと思います。

開発スタイル

ファイラーは安定性が求められるので、MDIEよりはましになった開発スタイルを書いておきます。

言語はC++で開発しています。ライブラリはWTLになっています。テンプレート楽しいです。.NETも考えましたが、初回起動が遅いのは耐えられませんでした。あとBoostは使わないようにしました。JSON Spiritを試したときに、どうもインテリセンスがおかしくなる現象が起きてやめました。結果、JsonCppを直すことになったのですが、いろいろ考えたぶん良くなった気がします。スマートポインタのみTR1を使っています。

バージョン管理はGITを使っています。適当にコミットしているだけなので、使っているというより単なるロールバックとデスクトップとノートの受け渡し用です。リリース後に活躍するといいなと思っています。

ドキュメントはDoxygenにかけて出力したものを、たまに眺める感じです。

MDIE

検索して複数ファイルを指定しても、フォーカスしか削除されない問題をとりあえず解決できました。これはコンテキストメニューがフォーカスアイテムしかでない問題と一緒でした。MDIEでは多くの処理をコンテキストメニューを経由して行っています。検索の削除とかだけ別にしようかなと思っていましたが、嫌だったのでコンテキストメニューを対応させようとしています。

これは結構昔からある問題で、やり方が良くわからなかったのですが「Lv.1」というファイル管理ソフトが、これを実装していたのでやる気が出て実装してみました。

メニュー部分の制御がまだまだなので、ちょっと時間がかかりそうですが、久しぶりにちょっと大きめの更新になりそうです。正式版出す気あるのかな・・・。

オートアンカーの設定

なんか始めてる自分がいる。 - 踊る肉とパイナップル
はてな用のオートアンカーの設定が書かれています。オートアンカーのログ機能を使っている人を初めて見ました。使いこなしている人はやっぱちゃんといるようで、製作者としてはうれしい限りです。

UltraExplorer

UltraExplorerはDelphiで作られたファイラです。VirtualShellToolsというコンポーネントを使用していて、Unicode対応やエクスプローラのカラムを使用できるようになっています。実はMDIEはこのVirtualShellToolsのソースコードを参考にした部分がいくつかあり、UltraExplorerが出たときにはようやくVirtualShellToolsで作られたファイラが出たなと思いました。そんなわけでUltraExplorerには妙に親近感があります。VirtualShellToolsはすばらしいコンポーネントなので、もっとこれを使ったソフトウェアが出てくればよいなと思います。

Midnight Commander

いまさら試してみました。完成されてますね。コマンダー系のファイラーは使ってなかったのですが、なぜ人気があるのか分かる気がします。どうやら作者はGNOMEを作っている人らしいです。
http://en.wikipedia.org/wiki/Miguel_de_Icaza

もうちょっといじってみようと思います。