2008/05/08(木)つーさのげーむふれーむわーく for C#2.0 with MDX1.1

はてブ数 2008/05/08 17:04 計算機な日記::ソフト作りつーさ

今名付けた(ぁ

今作っているもの。
サークルで作ることになりそうなゲームに使うための。

今回は、ゲームを作る"ために"必要だけれどゲームを作ること"そのもの"ではないことを担当している。
つまり、DirectXのデバイスを作るだのなんだの、"めんどくさい"を隠蔽して、
"すぐに"ゲーム本体を作り始められます状態に近づけるのがオレの仕事。
DirectXプログラミングを意識しないゲームプログラミングというか、決して高機能ではないけれど「わっかりやすい!」のを目指している。
3Dはできんし、HSPほど手軽ではないけど、それなりに形になったら新入生にも使ってもらってもいいかな。
であれば、5月中にはカタチにしたいな。

サークルのゲーム作り。
去年もライブラリ制作だけの担当という話だった気がするが、去年は結局ゲーム本体まで作ってしまった。
で、自分で作って使った"ふれーむわーく"の気持ち悪いところを修正して機能削除と追加をして……。
Main(string []) までframeworkの中にあって、代わりに実装してもらうのは class Start。
勝手にウィンドウも作るし、Alt+Enterによるフルスクリーンとウィンドウモードの行き来とかもサポートした。
画面に絵が描けて文字が描けて、音が出せて、入力が取れたら、後必要なものはなんだろう。

やったこと整理してみた

  • Framework
    • Form
      • Alt+Enter ハンドラ (警告音が消えないω)
    • Direct3D
      • D3DTexture (テクスチャ :ドット絵とかグラフィックとか)
        • D3DCharacterChipContainer (テクスチャの一部分をチップとして管理する)
        • D3DAnimationContainer (チップを元にアニメする)
      • D3DFont (フォント : 文字を書くための)
        • 外部.ttf読み込み機能を付ける
    • DirectSound
      • DSSound (効果音)
      • DSMusic (BGM)
        • OggVorbis DLL
        • 簡単フェードイン・フェードアウト・クロスフェード機能
    • DirectInput (Keyboard / Mouse / Joystick)
      • DITranslator (デバイス入力をアプリ定義のアクションボタン入力に翻訳するInterface)
    • PCTimer (PerformanceCounterを実装した高精度タイマー)
    • SceneController (シーン管理システム : 実装が野暮でカッコワルイと思っている)
    • MicroTaskSystem (あまり気に入っていない)

やろうかなと思うこと

  • 汎用キーコンフィグツール
  • キャラチップの回転転送(現状、段幕STGが作れない)
  • ゲームを作る上で必要そうな機能をつけた、デバイスとは直接関係ないライブラリ
    • 汎用マップ画面・汎用ゲームオブジェクト・汎用プレイヤーキャラ
      • 移動や当たり判定
      • 画面に収まりきらないマップ上のどこを切り出し画面に描画するのか計算する
    • タスクシステムとタスクライブラリ
      • 汎用シーケンスデータ再生タスク(自由さと便利さの戦いになりそうw
      • フェードインやフェードアウトに代表される画面のトランジションエフェクトタスク
      • ちょっとしたコンフィグ設定で作れる簡易メニュー画面タスク
      • メッセージ出力時に1文字単位で文字を表示するタスク

QoFのエンジンでもきっと、横スクロールアクションゲーム(マリオのような)は作れる。

そういうゲーム作りのための汎用的なナニをいろいろ集めていけたらいいな、なんて。
考えていけばキリがないけど、キリがない分遊べそうではある

企画力がない自分ができることと言ったらー。
MDXが時代遅れなんてそんなこと気にしない><;