DirectX や XNA でゲームを作る場合は 3D の土台で作られます。果たしてパソコンでの 2D ゲームプログラミングは死んだのでしょうか?
自分は「今後、更新されない」という観点から見て 3D に取って代わられたと思います。たとえば DirectDraw や DIBSection などは更新されていません(逆に言うと枯れた技術ということになるので喜ばしいことでもありますが)。
でも、あまり悲観的になる必要はないと思います。 3D は入り口だけ我慢して勉強すればあとは 2D よりすばらしい世界が広がっています。慣れてくると 2D のゲームを作る際にも 3D の土台で作りたくなるはずです。
3D の技術が 2D のゲームプログラミングにもたらす恩恵をいくつか挙げてみます。
どうでしょうか?スプライトやアルファブレンド、描画順のハンドリングからの解放など魅惑の機能ばかりですね。
「そうはいっても 3D の書籍や入門サイトの内容は難しくてわからないよ」と思われる方もいらっしゃるでしょう。無理もありません、私もそうでした。ゲームプログラミングの情報を発信するサイトとしてこの状態を黙ってみているわけにはいきません。今はまだ、参考書籍を紹介するにとどまっていますが、このサイトを通じて何らかの答えを出そうと思います(できれば来年中に)。
震えてお待ちください。
Comments
来年を楽しみに待っています!
自分は2Dを3Dでなんとか書いている状態です。
ようやく画面をフルスクリーンにし、
環境によって切り替えるのに失敗したらデフォルトの設定で切り替えるプログラムを書き、
文字を表示するところまでいきました。
…しかし、フルスクリーンの状態ではメニューやメッセージボックスが表示できないという現象がorz
描画を停止するとメッセージボックスを移動させた時に後ろが黒くなってしまうので見苦しいな、と
そんなわけでとても楽しみにしています。
> yomogi さん
フルスクリーン時の GUI 要素は鬼門ですよね。
DirectX ならうまく GUI 要素をブレンドする機能があるのですが、
あまりウェブや書籍に情報がありません。
サンプルは SDK をインストールすると付いてくるだけに残念です。
SDKのサンプルにメッセージボックスを表示する系のサンプルがあるんですか?
ちょっと探してみます…
> yomogi さん
あ~、ダイアログは無いかもしれません。
でも、ラジオボタンやチェックボックスなどの GUI 要素はサンプルにあります。
応用すればダイアログもできそうですね。
Win7(DirectX11)?のDirect2Dってどうなんでしょうね?
> chito さん
これはッ!!!初めて知りました…
MS が 2D の新技術を作るとは思いもしませんでした。
GDI との連携ができたり、サーフェスに直接アクセスできたり、
ソフトウェアだけで動かせたりと(つまり 3D ハード不要)、申し分ないですね。
Vista 専用でなければうちでも採用を検討したいです(^^
http://blogs.technet.com/thomasolsen/default.aspx
Direct2Dチームのブログだそうです。
やはり2Dの時代は終わっていないと…
というか、画面は2Dですからね(笑)
Vista専用というのは痛いですね
当面は3Dで対応していくしかないですか…
といってもXP時代が去るのは何十年後になることやらw
> chito さん
おお、ありがとうございます!!
勉強して参ります(^^
> yomogi さん
テクスチャが自由に作れれば 3D も悪くないと思います。
3D の機能を使わないでスプライトを作れれば
あっという間に 2D の天下になるかもしれません。
「おう! 震えて待つ!」
……と、いうのは冗談で、実は僕もゲームプログラムを覚えたての最初の頃はDirect3Dのテクスチャで2Dゲームを作ってました。
画像の拡大縮小、エフェクト、回転がメチャクチャ簡単でしたが、ピクセルワークだけは厄介でしたね。
……まぁ、ピクセルワークでのエフェクトなんて滅多に使わないですけどね(苦笑)
ただ、同人PCギャルゲの制作をメインにし始めたあたりでDIBSectionに乗り換えることにしました。
昔の技術も捨てたもんではないですね。
>たつにいさん
あ-、 Direct3D のピクセルワークは鬼門ですよね。
初期化で油断するとロックで失敗したりするんですが、
ドキュメントの端っこの方に注意書きがあったりしていやらしいです。
なんだかんだ言って枯れた技術は MS も捨てられないはずです。
2D is DIBSection はしばらく天下ですね。
Contributions