新年初めの近況報告

まず、遅くなりましたが、
新年明けましておめでとうございます。
本年もこのサイトをよろしくお願いします。

さて、ずーっとライブラリを弄り回していたので、ひとまず現在の機能を一覧化してみました。


(順不同です)

実装済みの機能

  1. アーカイブファイルからデータを読み込む「Archive」機能
  2. XAudio2 を使用し、 Wave・Ogg 形式ファイル再生対応、指定間ループ(回数指定可)と A-B 間再生可能の「Audio」機能
  3. 大量のフラグの管理を行える「BitField」クラス(指定ビット範囲の値表現も可)
  4. 頂点・インデックス・定数各バッファの管理を行う「IBuffer」インターフェイス
  5. 行列定数バッファを扱うように特化した「IMatrixBuffer」インターフェイス
  6. FPS を一定に保つように調整し、通常動作とフレームスキップ動作の双方に対応した「FPS Counter」機能
  7. PC 全体の CPU 利用率と、自身の CPU 利用率を算出する「CPU Info」機能
  8. デバッグ版ではデバッグ出力に、リリース版では明示的に出力指定をしないと出力されない「debugf」関数群
  9. インスタンス定義のみでインスタンス単位で描画を管理・実行する「ADrawGroup」抽象クラス
  10. フォントからフォントテクスチャを生成する「IFontTexture」インターフェイス
  11. フォントテクスチャを利用し、高速文字列描画を行う「IFontText」インターフェイス
  12. ADV ゲームのような文字送りを行える「IFontTextSender」インターフェイス
  13. データサイズを適切な単位で表現した文字列を生成する「FormatToBytes」関数
  14. ボタン入力状態の各種判別ができる「Input」機能
  15. ボタン入力のリピート入力に対応し、且つキーボートとゲームパッドなどの複数の入力を一つの入力として扱う「IInputManager」インターフェイス
  16. ムービーをテクスチャに、あるいは画面全体で再生する「Media」機能
  17. クラスを COM 風に参照カウントを使って管理する「IRefObject」インターフェイスと「RefObject」クラス
  18. ゲームのシステム設定を行う「System setting」機能
  19. 各種シェーダーのコンパイルを補佐する「Shader」機能
  20. 頂点・ピクセル各シェーダーを各種セットとして管理する「IShaderSet」インターフェイス
  21. 任意構成の2Dスプライトを固定長で高速管理する「ASpriteArray」抽象クラス
  22. SSE2 拡張命令を使用した、大容量メモリデータのコピー・フィル・クリアを行う「SSEMem」機能
  23. ブレンドステート・ラスタライザステート・サンプラーステートをセットとして管理する「IStateSet」インターフェイス
  24. Stelight ライブラリ上での入出力を担当する「IStream」インターフェイス群
  25. 各種サイズの型に対応した、「TPos・TSize・TRect」テンプレートクラス群
  26. 一纏めの機能をタスク単位で管理し、フレーム毎に並列実行できるサブタスクラインも持つ「Task」機能
  27. 各次元のテクスチャの生成・管理を行う「Texture」クラス群
  28. 指定時間間の推移を 0.0 ~ 1.0 の範囲で表現する「Timer」クラスとそれをフェード用に特化した「FadeTiemr」クラス
  29. 基本的な 2D 頂点・3D 頂点の構成の入力レイアウトを作成できる「CreateInputLayout」関数群
  30. シェーダーリソースビューの作成を包括した「CreateShaderResourceView」関数
  31. 非同期処理を行う「Working」機能
  32. コルーチン処理を記述・実行できる「Coro」機能
  33. MD5 と SHA256 を使用したハッシュ値を生成できる「Hash」機能
  34. メモリ上の DLL データをアタッチして実行・管理する「MDLL」機能
  35. ゲームデータ一式を一つのファイルに纏める&圧縮する「Packer」機能
  36. 位置情報やスプライト情報・文字列情報などを外部リソース化して読み込む「ResData」機能
  37. 設定ファイル等をユーザー領域へ保存する補助を行う「User area saving」機能

実装途中の機能

  1. i18n(国際化)対応の為のリソースデータ分割に対応した「LocalizeData」機能
  2. ゲーム上のUIを管理する「GUI」機能
  3. ゲーム上で日本語入力を可能にする「IME」機能

Todo リスト

  1. 生成したフォントテクスチャ情報を保存し、読み込む機能
  2. 3D モデル(モーション付きを含む)データをゲーム用にコンバート、使用する機能(モーフィング対応予定)

・・・多いなぁ。

これが色々欲張った結果ですね。
果たしてこれは期待できるゲームライブラリなのでしょうかね?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です