プラチナゲームズ プログラマーブログ
VisualStudio デバッグを便利にしよう autoexp.dat ~その2~
- 2010年9月 1日 11:40
どうも 森田 和則です。(たまにはフルネームで)
最近やっと PlayStation3 を購入しました。
使っていたSony製のハードディスクレコーダー(アナログ)も6年経ち
不調になってきたので torne と合わせて購入しました。
かなり快適に録った映像が楽しめます。
操作もいい感じですばらしいです。
PlayStation3でしか発売されていない名作もいろいろプレイ
・メタルギア ソリッド 4 ガンズ・オブ・ザ・パトリオット
・アンチャーテッド 黄金刀と消えた船団(アンチャーテッド2)
・ゴッド・オブ・ウォー III
全てかなり良かったです。
他にもいい作品がありますが、お金が・・・・
お金・・・・
ふってこないかな・・・・・・
さて、お金は宝くじでも買って当てるとして
autoexp.dat 第二回目です。
今回は社内ライブラリをサンプルに説明していきます。
最近やっと PlayStation3 を購入しました。
使っていたSony製のハードディスクレコーダー(アナログ)も6年経ち
不調になってきたので torne と合わせて購入しました。
かなり快適に録った映像が楽しめます。
操作もいい感じですばらしいです。
PlayStation3でしか発売されていない名作もいろいろプレイ
・メタルギア ソリッド 4 ガンズ・オブ・ザ・パトリオット
・アンチャーテッド 黄金刀と消えた船団(アンチャーテッド2)
・ゴッド・オブ・ウォー III
全てかなり良かったです。
他にもいい作品がありますが、お金が・・・・
お金・・・・
ふってこないかな・・・・・・
さて、お金は宝くじでも買って当てるとして
autoexp.dat 第二回目です。
今回は社内ライブラリをサンプルに説明していきます。
- Comments: 0
- TrackBacks: 0
VisualStudio デバッグを便利にしよう autoexp.dat ~その1~
- 2010年8月12日 12:27
どうも 森田です。
Webを徘徊しているとブログネタになりそうな物を発見しました。
Faith and Brave - C++で遊ぼう
BoostのVisual Studio Debugger Visualizers
Boost関連でお話されていますが、VisualStudioの機能の事です。
空いた時間でテストしながらになるので間違った事を書くかもですが、全てひっくるめて経過報告として書いていきます。
興味のある方はつづきをどうぞ
Webを徘徊しているとブログネタになりそうな物を発見しました。
Faith and Brave - C++で遊ぼう
BoostのVisual Studio Debugger Visualizers
Boost関連でお話されていますが、VisualStudioの機能の事です。
空いた時間でテストしながらになるので間違った事を書くかもですが、全てひっくるめて経過報告として書いていきます。
興味のある方はつづきをどうぞ
- Comments: 0
- TrackBacks: 0
入力支援ツールの作成~その3 ファイルの読み込みと書き込み~
- 2010年8月 5日 14:31
最近は暑くて暑くて自転車での通勤が苦痛になってきました。
ビショビショになってしまうので、会社についてすぐにシャワーを浴びたい気分ですよ。。。
どうも森田です。
日記風な滑り出しとなりましたが、スルーして続きです。
前回テキストエディタを作成する事になり、HTMLの設定を行いました。
今回は、ActiveX を使用した ファイルの入出力の関数を作る所からスタートです
ではでは続きを
ビショビショになってしまうので、会社についてすぐにシャワーを浴びたい気分ですよ。。。
どうも森田です。
日記風な滑り出しとなりましたが、スルーして続きです。
前回テキストエディタを作成する事になり、HTMLの設定を行いました。
今回は、ActiveX を使用した ファイルの入出力の関数を作る所からスタートです
ではでは続きを
- Comments: 0
- TrackBacks: 0
入力支援ツールの作成~その2 テキストエディタ~
- 2010年7月28日 12:00
- Comments: 0
- TrackBacks: 0
四方山話:いつまで経っても手放せない道具
- 2010年7月15日 10:40
こんにちは、大森です。
新人歓迎会のときに痛めた右手首がまだ治りません。
あれから1ヶ月たつのになぁ...。
今回は少し方向性を変えて、私が普段仕事で使用している道具について書いてみたいと思います。
皆さんにもなじみのある、どこにでも転がっているものです。
四方山話:いつまで経っても手放せない道具
- Comments: 0
- TrackBacks: 0
movabletypeにCustomEditorButton2を追加する。
- 2010年7月 7日 16:57
どうも森田です。久しぶりに プラグイン追加のお話を。
前回 SyntaxHighlighter を追加したのですが、
記事を書く時に毎回タグを指定するのが面倒に感じました。
ましてやプラグインを導入したわけではない齋藤さん大森さんはマニュアルを一から読まないといけないわけです。
そんな事やってられません。
そんな中、「誰かボタンを追加するプラグインでも作ってないかなぁ」

と思い、プラグインを検索した所、
blog.aklaswad.com:CustomEditorButton2
http://blog.aklaswad.com/mtplugins/customeditorbutton2.html

あっさり発見しました。
このプラグインは任意のボタンを追加する事ができるようになるプラグインです。
実は、SyntaxHighlighterを追加してその日すぐにこのプラグインを追加しました。
今回は実装方法、ボタンの追加までを紹介致します。
ちなみに、追加したプラグインも公開します。(プラグインは、記事下部にあります。)
では、実装方法から
前回 SyntaxHighlighter を追加したのですが、
記事を書く時に毎回タグを指定するのが面倒に感じました。
<pre class="brush: c;"> </pre>「クラス指定はどう書いたっけ・・・」とか思うわけです。
ましてやプラグインを導入したわけではない齋藤さん大森さんはマニュアルを一から読まないといけないわけです。
そんな事やってられません。
そんな中、「誰かボタンを追加するプラグインでも作ってないかなぁ」

と思い、プラグインを検索した所、
blog.aklaswad.com:CustomEditorButton2
http://blog.aklaswad.com/mtplugins/customeditorbutton2.html

あっさり発見しました。
このプラグインは任意のボタンを追加する事ができるようになるプラグインです。
実は、SyntaxHighlighterを追加してその日すぐにこのプラグインを追加しました。
今回は実装方法、ボタンの追加までを紹介致します。
ちなみに、追加したプラグインも公開します。(プラグインは、記事下部にあります。)
では、実装方法から
- Comments: 0
- TrackBacks: 0
float型のエンディアン変更バグ
- 2010年6月28日 17:43
お久しぶりです 森田です。
E3に行ってまして更新が止まっておりました。申し訳ないです。
今回はバイナリデータ関連のお話。
みなさんが遊んでいるゲーム中の情報はバイナリデータとして保存されています。
例えば、
・キャラクターモデルのデータ
・アニメーションデータ
そのデータは実行される環境、プラットフォームによって方式が違い中身が違います。
(インテル系プロセッサはリトルエンディアン方式。Motorola系ではビッグエンディアン方式。○○のゲーム機では××方式)
その為、プラットフォーム毎に対応した方式でデータを出力する必要があります。
今回はその出力時に発生するバグのお話です。
意外と気付かずバグを仕込んでいる可能性が高いので、エンディアンを扱っている方はこのまま読んで頂いた方が安心できるかと思います。
では、さっそくエンディアンの説明から
マルチバイトのバイナリを表現、配置する方式をエンディアンと呼びます。
リトルエンディアン、ビッグエンディアンが存在していて、その違いを例として以下に示します。
(ミドルエンディアンというのもあるらしいですが、今回直接は関係ないので興味があれば調べてみて下さい。)
例)600000の数値をバイナリで保存する場合。
600000を十六進数、4バイト表記にする。
この4バイトの数値をバイナリで保存すると
となります。
リトルエンディアンは 最下位のバイトから順番に表現、ビッグエンディアンでは最上位のバイトから表現されます。
Windowsはリトルエンディアンなので、Windowsからビッグエンディアン用のデータを保存しようとする場合は、バイトを入れ替えて保存する必要があります。
この「バイトを入れ替えて保存する」の処理を間違ってしまうと気付きにくいバグが発生してしまうのです。
もしかして、あなたの作ったプログラムにバグがあるかも知れません。
「え?どういうこと?ナニナニ?」と不安な方は続きをどうぞ
E3に行ってまして更新が止まっておりました。申し訳ないです。
今回はバイナリデータ関連のお話。
みなさんが遊んでいるゲーム中の情報はバイナリデータとして保存されています。
例えば、
・キャラクターモデルのデータ
・アニメーションデータ
そのデータは実行される環境、プラットフォームによって方式が違い中身が違います。
(インテル系プロセッサはリトルエンディアン方式。Motorola系ではビッグエンディアン方式。○○のゲーム機では××方式)
その為、プラットフォーム毎に対応した方式でデータを出力する必要があります。
今回はその出力時に発生するバグのお話です。
意外と気付かずバグを仕込んでいる可能性が高いので、エンディアンを扱っている方はこのまま読んで頂いた方が安心できるかと思います。
では、さっそくエンディアンの説明から
マルチバイトのバイナリを表現、配置する方式をエンディアンと呼びます。
リトルエンディアン、ビッグエンディアンが存在していて、その違いを例として以下に示します。
(ミドルエンディアンというのもあるらしいですが、今回直接は関係ないので興味があれば調べてみて下さい。)
例)600000の数値をバイナリで保存する場合。
600000を十六進数、4バイト表記にする。
600000 = 0x000927c0
この4バイトの数値をバイナリで保存すると
| エンディアン | 1byte目 | 2byte目 | 3byte目 | 4byte目 |
|---|---|---|---|---|
| リトルエンディアン | 0xc0 | 0x27 | 0x09 | 0x00 |
| ビッグエンディアン | 0x00 | 0x09 | 0x27 | 0xc0 |
リトルエンディアンは 最下位のバイトから順番に表現、ビッグエンディアンでは最上位のバイトから表現されます。
Windowsはリトルエンディアンなので、Windowsからビッグエンディアン用のデータを保存しようとする場合は、バイトを入れ替えて保存する必要があります。
この「バイトを入れ替えて保存する」の処理を間違ってしまうと気付きにくいバグが発生してしまうのです。
もしかして、あなたの作ったプログラムにバグがあるかも知れません。
「え?どういうこと?ナニナニ?」と不安な方は続きをどうぞ
- Comments: 1
- TrackBacks: 0
誰が為のプログラミング:第3回 /*欲しいものは何ですか?*/
- 2010年6月11日 12:00
こんにちは、大森です。
新人歓迎会も無事終わり、これで年度初めのお祭りは全部消化しました。
今年の新人歓迎(観芸)会は、豪勢な舞台と仕掛けで、だいぶ派手に仕上がってました。
昔に比べると、何というか次世代のゲームを見ているような、そんな感じの芸でした。
まぁ派手なのと面白さは別の話なので、そこは厳しく行こうと思います。
さて今回は、実際のコードを見ながら、
「何を」「どこに」書けば使い易いプログラムになるのか?
ということを考えてみたいと思います。
誰が為のプログラミング:第3回 /*欲しいものは何ですか?*/
新人歓迎会も無事終わり、これで年度初めのお祭りは全部消化しました。
今年の新人歓迎(観芸)会は、豪勢な舞台と仕掛けで、だいぶ派手に仕上がってました。
昔に比べると、何というか次世代のゲームを見ているような、そんな感じの芸でした。
まぁ派手なのと面白さは別の話なので、そこは厳しく行こうと思います。
さて今回は、実際のコードを見ながら、
「何を」「どこに」書けば使い易いプログラムになるのか?
ということを考えてみたいと思います。
誰が為のプログラミング:第3回 /*欲しいものは何ですか?*/
- Comments: 4
- TrackBacks: 0


