私がDirectX7を使い続ける理由 |
そんな大げさなことではありません。
XNAや最新のDirectXに移行しない理由を
書いてみようと思います。
以前書いたように
まず自作ライブラリで実現している機能を
実現できるかという問題があります。
さらにXP(Meから?)以降のOSは
DirectX7ランタイムがインストールしてあるため
ユーザーのPCに新たなランタイムを
インストールしてもらう必要がないとメリットも
重視していたりします。
新しい技術を覚えられない、気力がないという
理由もあったりしますが・・・
(技術者としては致命的・・・orz)
以下、自作ライブラリの詳細とか
自作ライブラリは以下の機能が実装されています。
・WinMain関係の基本処理
・DirectDraw
・Direct3D7IM
・DirectSound
・DirectMusic
・Xファイル読み込み
・BMPファイル読み込み
・バウンディングボックスによる衝突判定
・剛体モデルとアニメーション
剛体モデルとアニメーションで
専用のツールを自作しています。
(Borland C++ Builder3 Std)
-キャラクタエディタ-
-アニメーションエディタ-
オイラー角を使っているので、ジンバルロックが出ます。
(クォータニオンは難しくて 二の足を踏んでいます・・・)
最初はDirectX5.0で
DirectDrawを実装して2Dのゲームを作成しました。
しばらくするとDirectX7.0が公開されて、
解説書も発売されてきたので着手することにしました。
インターネットはモデムでテレホーダイの時代※でしたから
情報収集もままなりません。
当時は3D機能も含まれたゲームライブラリもなかなか
なかったりするので、自作するのが手っ取り早かったのです。
※ADSLが出だしたころだが、サポート対象外地区だった・・・
車輪の再発明になってしまいますが、
これも自分のスキルアップのためと
BMPやXファイルローダーも自作しました。
現在はSquirrelに置き換わっていますが
Cライクなスクリプト言語も自作しました。
高校時代は数学30点以下の私にとって
Direct3Dは難儀でした。
専門学校時代に
三角関数って何?行列?ベクトル?食べれるの?
という状況で「1週間でわかる数学」的な本を買って
これらを猛勉強。
何とか、剛体モデルを動かせるようになりました。
バウンディングボックス(Xファイル)による
衝突判定もこの知識で実装しました。
こんな感じで長年使っているライブラリなので
痒いところにも手が届いて
なかなか手放せなかったりします。
最新DirectXを使ったゲームライブラリも多数出ていますが
私のPCではスペックが低すぎて実行できなかったりと
乗り換えが出来ません・・・