見出し画像

金子勇とWinnyの夢を見た 第6話 フリーソフト

※この記事は、Advent Calendar 2023 『金子勇とWinnyの夢を見た』の七日目の記事です。


Chronicle

金子勇さんは、1997年から2002年の間にフリーソフトをいくつか公開しています。NekoFlightは、口コミで多くの人が楽しんだようですが、それ以外はほとんどが実験作です。

NecoFlight

 大学のUNIXワークステーションの高速な描画を利用し、1993年(平成5年)から卒業論文作成の合間にUNIX版を開発開始しています。

 研究室の担当の先生が航空学科の出身だったので、研究室にあった航空力学の書籍を参考にフライトシミュレータを作成しました。ですので、内部はかなり本格的な演算が行われています。

 最初は、1993年にUNIX上のX-Windowで作成されていました。大学のUNIXワークステーションにはグラフィックアクセラレーターが乗っていたらしく、かなり描画速度が速かったそうです。1994年には完成形になりました。Windows版も作成してみたそうですが、速度が遅くてほったらかしになってしまいます。

 1997年5月12日、NiftyのFWINGフォーラムに「Windows版NekoFlight Ver0.1」をアップします。同年2月に発売された、プレイしテーション用のゲーム「マクロス デジタルミッション VF-X」の動きを見て、自分の方がミサイルを美しく見せることができると思ったからだそうです。飛んでいる機体はUNIX版のハリアーからバルキリーになりました。

 Windows版は、Direct3D、グラフィックアクセラレーターなど、どんどん新しいものを取り入れ、十分な速度で動くようになっていきました。

 現時点でこのアプリはWindows11で動作しますが、最も精密な描画のDirectX表示はグレーアウトになってしまいます。また、フルスクリーン表示を選択するとアプリケーションは終了してしまいます。全ての機能は、Windows XPまでのOSで動きます。

 Windows11で、表示をGDIポリゴンかワイヤーフレームにして、表示サイズを1280X1024で動かしてやると、なかなか楽しめます。

機種設定の目標が手動にすると自機を操作でき、敵機に設定すれば、自動操縦になります。ゲームパッドを使用すると、結構熱くプレイできます。

 以下4つは、VMWare上のWindows XPで動かした自動操縦モードの動画です。DirectXでの動作は、残念ながらかなりもっさりとしてしまいました。

 この「NekoFlight」は、シミュレーション界隈や、DirectX界隈に口コミで広がり、金子勇の名前が広く知られることになります。

 ちなみに、プログラム名の「Neko」というのは、「Kaneko」が由来で、2ちゃんねらーの「ギコ猫」ではありません。「ギコ猫」の登場は1999年頃ですし。

ActuveDraw

ActiveDraw

 金子さん27歳の作品。1997年8月9日にVer1.1aを公開。最終版は1997年9月16日にVer1.1を公開。

 Microsoft Windows グラフィックス デバイス インターフェイス (GDI)の速度が速くなったので、リアルタイムに操作可能なドローツールを作成しようという作品です。この技術は、前述のNekoFlightの描画速度の改善に使われました。このアプリ自体に実用性はありません。

 まともなドローツールを目指し、シャエウエアとしてVectorに登録されましたが、実用性がなく、まったく課金されていないと思います。

 WindowsXPで動作しました。Windows7以降では動作しません。

NecoLauncher

NecoLauncher

 1997年8月5日にVer1.7aを公開。1998年5月22日に最終版のVer2.0aを公開。

 Windows95のスタートメニューを改良するためのツール。メニュー項目をフォルダー内容のまま表示させます。また、メニューの切り替え機能もあります。

FaceChecker

 1998年3月24日にVer1.0を公開。1998年7月14日に最終版のVer1.4を公開。

 顔の画像から年齢を割り出すソフトです。判定基準は、頭蓋骨が先に頭蓋の骨が出来上がり、後に顔下部の方ができあがるという成長の仕組みを利用し、頭蓋のセンター位置と目のラインの距離を比較しています。従って成長期の人の年齢推定はある程度できますが、20歳以上の人の年齢が誤差±40歳ということになってしまっています。

 その後、ポリゴンを生成して、年齢を変化させて画像を生成できるようになっています。

 VMWare上のWindows98やWindows XPで動作しなかったため、動作の確認はできませんでした。

GL髪ベンチ

 髪がサラサラなびく様子を物理演算し、リアルタイムに3Dで描画する、ベンチマークプログラムです。Windows 11でも動作します。

一度に表示されている髪の毛は5000本で、毛一本に20のラインor20の動点を使っているので、1ステップで、10万ライン表示&10万動点計算処理となります。

Kaneko's Software Page

 実機ではもっとサラサラで綺麗です。

 このアプリが公開され、金子さんに製品化の話が来ます。当時、エクス・ツールズという会社が開発していた、Shadeというモデリング・ソフトのプラグインの開発を行うため、2000年に日本原子力研究所から転職します。

 癒やしの雪景色です。Windows 11で実行すると、DirectXの初期化に失敗して動作しません。VMWare上のWindows XPで実行しました。

 2万パーティクルを3Dで動かしています。複雑なひらひら感はなく、まっすぐ等速に動いているだけですが、楽しめます。

AnimeBody

 アニメ調の人体を3D表示し、マウスで操作できます。

 Ver 1.53とVer 2.62がダウンロードできます。Ver 1.53は、マウスの操作に従順ですが、Ver 2.62 はDirectXを使用して、かなりぐにゃぐにゃに動きます。あまりに自由度が高いため、まるで酔っ払いのように、ひっくり返って無様な姿をさらしてしまいます。

 下の動画は、Ver 1.53はWindows 11で、Ver 2.62はVMWare上のWindows XPで動かしています。

NekoViewer

 六角大王やDXFの形状データを表示する形状Viewerです。Windows 11でも動作します。

 以下の動画で使用したデータは、株式会社終作のWebで紹介されているものを使用しました。

マンデルブロ集合表示プログラム Ver 1.0 (2000/11/6)

 マンデルブロ集合計算をリアルタイム描画するプログラムです。

Windows 11でも動きますが、マウスの操作がよく分からなくてムズイです。

Missile Ver 1.0 (2002/2/24)

 ミサイルが乱舞するデモプログラムです。NekoFlightのミサイルの表示を抜き出し、OpenGLで作り直しています。

 Windows 11でも動作します。

NekoFight

 物理演算とAIを使った格闘ゲームです。操作は、カーソルキーとX、C、Zを使用します。

NekoFight操作

 Windows 11でも動作します。ホームページのダウンロードリンクが修正されていないので、こちらからダウンロードしてください。実行ファイルが"Nfight.exe"と"NfightMP.exe"の2種類あります。後者はOpenMP対応なので、こちらの方が動きがいいかもしれません。

 2002年に作成したVer1.0では、物理演算を使ったショボイ格闘ゲームでしたが、2007年3月7日のVer1.5になると、敵キャラにAI機能が付加されます。しかし、いつまでやっても転げ回るばかりです。勝敗判定もありません。長く動かしていると、学習データが溜まってきますので、そのうち、まともな格闘になるのかもしれません。

 AIは、ED法(誤差拡散法、Error Diffusion)という強化学習が使われています。現在、AIの強化学習にはBP法(誤差逆伝播法、Backpropagation)が主流です。ED法は、実際のヒトの脳の動きをシミュレーションする、金子さん独自のアルゴリズムです。論文もソースコードもないため、残念ながらどのように実装されているのか、分かっていませんが、2009年に開催された『第参回天下一カウボーイ大会』でプレゼンした映像がYoutubeに登録されています。

追記:ED法の記事が残っていた

 なにやら4月に入って、このページの参照が増えており、なぜだろうと思っていたら、Qiita上で@kanekanekaneko(aro kaneko)さんがED法についての記事を書かれ、それを読んだ@pocokhc (ちぃがぅ)さんが金子さんがED法について書いた記事をインターネット・アーカイブから発見したという事件があったようです。

 金子さんの記事は、完全ではありませんが、インターネット・アーカイブに保存されており、UNIX用のソースコードも残っていました。


いいなと思ったら応援しよう!

この記事が参加している募集