C#+SlimDXでゲームプログラミングしてみる
2014年12月14日(日) 技術(プログラミング)
9月に転職してプログラマーになりました。プログラマー生活は楽しいんだけど、仕事だと自分のプログラミングスタイルを貫くのはなかなか難しく、結構ストレス溜まることも多いです。今は残業が少ないので、せっかくだし私的なプログラミング時間を確保することにしました。
タイトルにもありますけども、ゲームです。なぜかというと、単純に好きだから。あと、昔とった杵柄でもあります。3Dプログラミングは10年くらい前まで趣味でやってました。「任意の座標に点を打つ」命令さえあれば、ポリゴンを描画する程度の能力があります。
とは言うものの、当時はDirectX7とかだったので隔世の感があります。当時の3Dプログラミングは、ようやくバーテックスシェーダとピクセルシェーダが出てきたばかりの頃でしたからね。シェーダは随分と進化しているらしいですね。
C#+SlimDX
さて、扱う言語はC#です。ストレス解消が目的なので、高機能でストレスフルな言語でやろうと思います。いまどきC++はちょっとねー。
C#ということは当然.netフレームワークなわけですが、そうなると厄介なのがDirectX。ネイティブなDirectXを扱おうと思うと、おまじないを沢山唱えなければなりません。これもまたストレスの原因なので、こちらも今風のものを使っていこうと思います。「SlimDX」は.netフレームワーク用のDirectXへのAPIセットで、ほぼほぼDirectXの機能がそのまま使えます。ひとまずコイツを使っていこうと思います。
検討した対抗馬としては、ミドルウェア系が挙げられますね。特に「Unity」は魅力的でしたが、個人でいじるにはちょっと高機能すぎるので一旦スコープから外しました。でも、ゲーム開発なんてどんどんミドルウェア使ってくべきだと思います。日本もトゥーンシェーディング前提のミドルウェア作って使いまわそうぜ。
何を作るの?
作品を作ったら公開はしていきたいと思いますが、多分先の長い話になるでしょうねえ。完成させられるかどうかも怪しいや。
最初の作品の構想はシューティングです。アイデアはできてる。絵と音楽が頭痛の種です。
ひとまず、実装は共用部分とアプリ部分をそれなりに分割して作っていこうと思います。共用部分を中心に公開をしていけたらな、などと考えてますが、はてさてどうなることやら。
今現在すこし触り始めていますが、ひとまず絵を出す部分については問題なさそうですので、機能を絞ってどんどん使いやすくしていこうと思います。目標は週次報告。今週は公開なし。来週以降、何か成果を出せたらいいですね。
raimon49 [2014年12月28日(日) 17:50]
転職おめでとうございます。
成果物は是非ともコードホスティングサービスで公開して欲しいところです。かつては.NET系プロダクトはCodePlexに置かれる事が多かったですが、最近は本家のMS様もGitHubに公式アカウント作って移民しているみたいなのでビッグウェーブに乗って下さい。
天蛾 [2014年12月28日(日) 21:46]
こっそりやってたのに存在を気付かれたので絶望しました。