趣味120%で構成されています。

あほナビあほナビ関係はこちら。 | 古いアプリ公開場はここらへん

DirectX11お勉強

ゴールデンウィークが明けてから、いままで時間が無くて手がつけれなかったDirectXのシェーダ周りをいろいろいじるべく、
復習や知識だけで実装をした事のなかった色々な事をしつつ、WinMainから開発着手をしていました。

ついでに、64ビット/32ビットのどっちでもコンパイルが通り、DirectX11のみのAPIを用い(DX10未満のUTILは使わず、DX11のEffect等のUTILも使わない縛りプレイ)、もちろん商用にも使えるようなコーディングで血となり肉と(以下略)


とかなんとかで期限は今月いっぱいに設定しタイムアタック的にだったけどもw

1~2日目:Windowsまわり
3~5日目:モデルローダ調査、ローディング、アニメーションフレームワーク
6日目以後はいよいよ画像が出るようになったので、個人的メモとしてYoutubeにアップしていました。

リスト化しているので変移をー。

※ナンバリングで#1~7が毎日アップ分で、いったんここで終了です。
 リストは降順になっているので、新しいのから再生されますがw
 また、現時点で#8もありますが、これ含めてオマケ



※HD画像です


土台が出来たので、スキあらば弄っていきたいね
プログラミング | comments (0) | trackbacks (0)

DSのターン!

日記ネタがないときの仕事ネタですよ。

先月はLinux、DB+php祭りだったのから一変し、今月はゲーム関係のNDS祭りの予定。
ゴタゴタあって月に1回ぐらいしかDS開発機は起動していませんでしたが、これからは活躍しそうです。
DSのプログラムコード自体は、ほぼ毎週ゲーム屋へ監督業(?)として断片的に見てはいるけど、直接のコーディングは1年ぶり。

1年前までやっていたプロジェクトの開始時で決定した任天堂ライブラリバージョンから、足かけ2年。いろいろ変更点もあったりしているので、とりあえず本格業務に入る前に適当にリハビリです。

DSCF1887.jpg


にしても、Wii連携のおかげか、WiFi関係のライブラリが充実してきてるのなw
具体的なことはさすがに書けませんが、通信端末として使えるんじゃないかと思います。前例がないだけにガイドライン的には厳しそうですが。
でもゲームソフトが少ない気がするゲーム機なだけに、端末ソフトもあってもおかしくないかも?
開発コストに見合わなさそうな需要でしょうけど、DS-10みたいなのが出るのなら、シスアド向けのもあってもよい気がします。
 DS-10 > http://www.aqi.co.jp/product/ds10/

プログラミング | comments (0) | trackbacks (0)

ダンジョン本

引き続き、MHP2G が楽し過ぎて、時間がかなり取られていますよ。

そんな中すっかり宣伝を忘れていましたが、書いていた技術書がソフトバンククリエイティブ社様から発売されました。
うん、本だなんて自分がびっくり。

clip_3.jpg
ダンジョンゲームプログラミング
http://www.sbcr.jp/books/products/detail.asp?sku=4797346282


ゲームプログラム好きはもちろん、どんな風に作られているか興味がある方でも是非に!
408ページとボリューム満点! 発行部数が(たぶん)少ないので即GETだ!

宣伝おわり!
プログラミング | comments (10) | trackbacks (0)

[仕事] ゲラゲラー

なにを血迷ったか、この最近はゲームプログラム本を書いていました。
ただいま出版社から送られてきたゲラチェック中です。

もうこれ以上かっ!ってほど1文字1文字拾って読むのは大変と痛感。
なんと360ページ(予定)
本文30万文字+付録プログラムコード(文字数数えたくもない)って何さ。

進行中なら適度に見返すけども、終盤のゲラチェックって
一気に見ないといけないのは、半ば拷問だとおもいます。楽しいけど。

まるでゲームシナリオデバッグのごとく、誤字脱字やらコード部分では大文字小文字のチェックやら、「前後を読んでたらそんな程度は補完できるわ!」ってぐらいな部分まで
細かい指摘をしてるんじゃないかと、内心ビクビクして担当者にリストアップしています。

 「表紙の女の子(主人公)の目がタレてるけど、指定はツリ目でしょ!

そろそろ怒られそうな勢いです。

DSCF1738.jpg
ゲラでも、形として届くとうれしいね。
もっと頑張ってチェックしようと思うわけさー!
プログラミング | comments (4) | trackbacks (0)

Officeバイナリフォーマット

メモ日記ですが

MicrosoftOffice製品群のバイナリファイルフォーマットが、ついに公開されましたね。
http://www.microsoft.com/interop/docs/officebinaryformats.mspx

てっきり、デファクトスタンダード的な 97-2003 までのと思ったら、最新の OpenXML バイナリ版までも公開されてて、ちょっと意外でした。

今のところ現場で使えそうなのは、いちいち Office 製品から汎用フォーマットに変換しなくてもよくなった点でしょうか。(エクセル→CSV等)

SourceForge では、さっそく OpenXML コンバータがあります。
http://b2xtranslator.sourceforge.net/


今回のはISO化の準備とはいえ、Office以外にも流通しているファイルフォーマットはどんどん公開してほしいものです。
プログラミング | comments (0) | trackbacks (0)

XInput

ゴールデンウィークに買ったまま触る機会のなかった
XBOX360 のUSBコントローラ。

WindowsXp に接続することでゲームコントローラーとして使えるんだけども、
この360コントローラー専用のAPIが DirectX9.0 SDK October 2005 より追加された。
それが XInput 。

いままで、DirectX でコントローラーを使おうと思ったら、DirectInput を使って、

  • DirectInputの初期化

  • コントローラの一覧を列挙

  • 列挙中にボタンの数などを確認

  • 使うコントローラーのデバイスIDを記憶

  • ゲームで読み取るたびに、数個の関数を使用

  • コントローラーが外されたりすると、その都度そのコントローラの初期化からやり直し


と、なにかと面倒だった。


んが、この XInput って、初期化は1行。
取得も1行。

つまり2行でデータが全て読み取れる上に、丁寧に認識した順番にIDが0から振られて(現在は最大ID3の4個)、コントローラのLEDもしっかり連動してるし。

あぁ、、、なんか全部360コントローラでいいかなぁ。。とか思ってしまうほど簡単に使えるのがワロスみたいな。
ゲームに関係のないアプリでも対応してしまえるね、これは。。

360PAD
画像は、Windowsで認識したパッドと、360で認識中のパッド。
共にプレイヤー1を示すLED(左上)が光っているのに注目。
(360が2台あるとかいうネタじゃないですw)
また、DirectInput として使用する場合は、LEDは光らない。

あと、XInput を使用しないでいままでの DirectInput で取得すると、デドアラスティックの時に書いたように、アナログL/Rボタンがはやっぱり同時押し認識は出来なかった。
しかし XInput を使うと、360パッドも共に独立したアナログとして認識され、デドアラスティックも同時押しがしっかり認識された。
どうやら XInput は DirectInput の上位ではなく、独立したUSB制御なのかな。

嫌がらせ・・・?
プログラミング | comments (0) | trackbacks (0)

環境構築中2

とりあえずソース互換の無くしたところを修正し終わったところで
最後にリンカエラー。

というか、DirectX SDK のヘッダ内部でコンパイルワーニングってどうよ? どうなのさ!? みたいな。
ま、問題の無いワーニングなのでそれは無視して、問題のリンカエラーは次のとおり。

upnp.obj : error LNK2019: 未解決の外部シンボル "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z) が関数 "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z) で参照されました。

upnp.obj : error LNK2019: 未解決の外部シンボル "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)" (?ConvertBSTRToString@_com_util@@YGPADPA_W@Z) が関数 "public: char const * __thiscall _bstr_t::Data_t::GetString(void)const " (?GetString@Data_t@_bstr_t@@QBEPBDXZ) で参照されました。

Debug/miniAVG64.exe : fatal error LNK1120: 外部参照 2 が未解決です。


と、見るからに ConvertStringToBSTR やら ConvertBSTRToString の実体リンクミス。
ただ、使ってないんだけどねこの関数達は!

で、渋々とこれらの関数のある comsuppw.lib をソースの中に

#pragma comment(lib,"comsuppw.lib")


てな埋め込みをしてコンパイルをしてみたところ……

comsuppw.lib(comutil.obj) : error LNK2005: "class _variant_t vtMissing" (?vtMissing@@3V_variant_t@@A) は既に comsupp.lib(comutil.obj) で定義されています。


ちょwww
どうやら、別のライブラリが異なる同一関数のライブラリとバッティングを起こしている様子。
で、リンカオプションで comutil.lib を無視に追加することでやっと解決。

さすがマイクロソフト!

で、ソース埋め込みを指定を辞めて
リンカオプションで comsuppw.lib を追加すると無視も指定せずにコンパイルが通りました。

さすがマイクr
プログラミング | comments (0) | trackbacks (0)
1/2 >>