昔の最近の出来事(2011.02)

2011/02/28

早くも無く遅くも無く。

なんとなく買ってみた「ゲームエンジン・アーキテクチャ(ジェイソン・グレゴリー著)」を パラパラと読んでみたり。最近の3D系のゲームで使用されているようなモダンな ゲームエンジンについて、かなり広い範囲であれこれ解説されています。 興味のあるところをつまんで読んでるのですがなかなか面白いです。

2011/02/27

AM中に起床。

ちょろり本屋に。何故か「それ町」の8巻が入手できず。

2011/02/26

昼前起床。

キャッスルヴァニアのやりすぎか、左手が痛くてゲームは休み。

しばらく様子を見ていたgdcですが、2.052がマージされた後に、MinGW対応に関係する 修正が入っていたり。以前、MinGWネイティブ ビルドを試した時に、std/stdio.dのエラーがどうにもならなくて放置したのですが、 そこに手が加えられているようです。で、ビルドを開始してみるのですが終わらず。

1時間くらいでエラー無くビルド完了しました! 早速 make installして使ってみたのですが、 何やら色々リンクできなくてエラー。

$ gdc -v
Using built-in specs.
COLLECT_GCC=C:\MinGW\gdc_205x\bin\gdc.exe
COLLECT_LTO_WRAPPER=c:/mingw/gdc_205x/bin/../libexec/gcc/i686-pc-mingw32/4.5.2/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../configure --prefix=/mingw/gdc_205x --with-gnu-ld --with-gnu-as --enable-threads --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-languages=c,d --disable-bootstrap
Thread model: win32
gcc version 4.5.2 20101216 (gdc hg, using dmd 2.052) (GCC)
$ cat iam.d
import std.stdio;
import std.string ;


int main()
{
  version( GNU     ) writef("I am GNU\n") ;
  version( Unix    ) writef("I am Unix\n") ;
  version( Windows ) writef("I am Windows\n") ;
  version( cygwin  ) writef("I am cygwin\n") ;
  version( Posix   ) writef("I am Posix\n") ;

  return(0) ;
}
$ gdc -v iam.d
Using built-in specs.
COLLECT_GCC=C:\MinGW\gdc_205x\bin\gdc.exe
COLLECT_LTO_WRAPPER=c:/mingw/gdc_205x/bin/../libexec/gcc/i686-pc-mingw32/4.5.2/lto-wrapper.exe
Target: i686-pc-mingw32
Configured with: ../configure --prefix=/mingw/gdc_205x --with-gnu-ld --with-gnu-as --enable-threads --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-languages=c,d --disable-bootstrap
Thread model: win32
gcc version 4.5.2 20101216 (gdc hg, using dmd 2.052) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-pthread' '-mtune=generic' '-march=pentiumpro'
 c:/mingw/gdc_205x/bin/../libexec/gcc/i686-pc-mingw32/4.5.2/cc1d.exe iam.d -quiet -dumpbase iam.d -mtune=generic -march=pentiumpro -auxbase iam -version -iprefix c:\mingw\gdc_205x\bin\../lib/gcc/i686-pc-mingw32/4.5.2/ -o C:\cygwin\tmp\cc4o4fNd.s
GNU D (GCC) version 4.5.2 20101216 (gdc hg, using dmd 2.052) (i686-pc-mingw32)
        compiled by GNU C version 4.5.2, GMP version 4.2.4, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU D (GCC) version 4.5.2 20101216 (gdc hg, using dmd 2.052) (i686-pc-mingw32)
        compiled by GNU C version 4.5.2, GMP version 4.2.4, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
COLLECT_GCC_OPTIONS='-v' '-pthread' '-mtune=generic' '-march=pentiumpro'
 as -v -o C:\cygwin\tmp\ccpn35OW.o C:\cygwin\tmp\cc4o4fNd.s
GNU assembler version 2.21 (mingw32) using BFD version (GNU Binutils) 2.21
COMPILER_PATH=c:/mingw/gdc_205x/bin/../libexec/gcc/i686-pc-mingw32/4.5.2/;c:/mingw/gdc_205x/bin/../libexec/gcc/
LIBRARY_PATH=c:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2/;c:/mingw/gdc_205x/bin/../lib/gcc/;c:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2/../../../;/mingw/lib/
COLLECT_GCC_OPTIONS='-v' '-pthread' '-mtune=generic' '-march=pentiumpro'
 c:/mingw/gdc_205x/bin/../libexec/gcc/i686-pc-mingw32/4.5.2/collect2.exe -Bdynamic /mingw/lib/crt2.o c:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2/crtbegin.o -Lc:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2 -Lc:/mingw/gdc_205x/bin/../lib/gcc -Lc:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2/../../.. -L/mingw/lib C:\cygwin\tmp\ccpn35OW.o -lgphobos2 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/gdc_205x/bin/../lib/gcc/i686-pc-mingw32/4.5.2/crtend.o
 :
 undefined referenceが色々出過ぎるので省略

見つからない物は以下のような感じ。

undefined reference to `_STD_monitor_staticdtor'
undefined reference to `__fhnd_info'
undefined reference to `__fp_lock'
undefined reference to `__fp_unlock'
undefined reference to `_d_monitor_create'
undefined reference to `_d_monitor_destroy'
undefined reference to `_d_monitor_lock'
undefined reference to `_d_monitor_unlock'
undefined reference to `_fgetc_nlock'
undefined reference to `_fgetwc_nlock'
undefined reference to `_fputc_nlock'
undefined reference to `_fputwc_nlock'
more undefined references to `__fhnd_info'

よくわからないのですが、どうやらつっかかり所であった std/stdio.dの MinGW対応は、 DIGITAL_MARS_STDIO をそのまま使う感じで対応されている ようです。つまるところ、gdc以外にも外付けのライブラリに依存している という感じ?てか、よく考えてみるとなんでこんな対応なんだ?そもそも GCCなんだから version(GCC_IO)の方を使った対応になるんじゃないのか? んー、もうちょっとなんだけどなぁ。

一応、一緒にビルドされたgccも試してみたのですが、こちらはhelloworld的な ソースで特に問題無くコンパイル&リンクできました。

と、書いた後に、gdcのissuesページを見てみると、同じようにhelloworld レベルのソースがリンク出来ない と報告されているようです。 そのうち直るかも。そういやなんでこの 掲示板は yyyy/mm/dd形式のような絶対的な日付表示じゃなくて 3 days ago とか 相対的な表示なんだろ? 検索エンジンがクロールした時に日付け フィルターが面倒臭くなるんじゃ?と思ったりも。

2011/02/25

早めに帰着。

キャッスルヴァニア。ちょいちょい突っかかりながらも進めたり。
それにしても背景グラフィックの物量がハンパ無いなぁと改めて思ったり。 途中途中で入るイベントシーンはリアルタイムレンダリング なのですが、若干フレームレートが足りないという感じです。これが フルHDのフルフレームで動けばなぁと思わなくもないところ。 このレベルの絵がチューニングもそこそこにフルフレームレートで 動かせる性能があれば、しばらくはそのままでいけるのかもなぁと思ったりも。

2011/02/24

早くも無く遅くも無く。

キャッスルヴァニア。ぼちぼち。

2011/02/23

早めに帰着。

キャッスルヴァニア。ちょっと苦戦したり。やっと半分か?

2011/02/22

早くも無く遅くも無く。

キャッスルヴァニア。ボチボチ進めたり。ガードや回避の操作が 左手に集中しているせいか左手が痛いです(^^;

2011/02/21

早くも無く遅くも無く。

キャッスルヴァニア。比較的順調に進んでいる気がするものの、 ちょいちょい要領が得られずに突っかかる場面があったり。 でも、何故か魔力供給所が結構多く設置されている事もあり、 心なしか死ににくくなっているような気も。もしかすると、序盤の素っ裸状態 よりも、装備が充実してくる後半の方が簡単になっているというゲームバランス だったりするのか?

2011/02/20

昼前起床。

なっちゃんオレンジ。なっちゃんて夏みかんだからなっちゃん だったような? と、かなり前 に同じような事を書いたのを思い出したりも。

積んであったファミ通WAVEを観たり。ファミ通TVジャンボというコンテンツに 出演している金田朋子という声優さん。何の声をあてているのかピンと来なかった のですが、Wikipedia によるとあずまんが大王のアニメで、ちよ役だったというのに、あぁ〜〜 と 思ったり。超音波が出ているとか、Wikipediaに載っている逸話が面白すぎ。

キャッスルヴァニア。死にまくりながらボチボチ進めたり。 敵の攻撃を受けずに敵にダメージを与え続けると集中力ゲージというものが 溜まっていき、最大まで溜まると敵が大量にオーブを吐き出すようになります。 このオーブを吸い込んで魔力を溜めると、HPを回復したり攻撃力が上がったり できるというしかけです。つまり、うまくなればなるほど戦闘が有利になると いうシステムです。敵の攻撃に丁度合うようにガード(ベヨネッタの ウィッチタイム発動に似た感じ)すると、一気に集中力ゲージが溜まる為、 これとコンボをうまく組み合わせると良い感じに戦えます。と、文字で書くほど簡単 な訳でもなく、ボス戦はガードに三度失敗すると死ぬというバランスの為、敵の攻撃パターンを 掴むまでは死にまくるという感じ。やっとこ3章目なのですが、まだ半分も終わっていない という感じみたい。先は長い.....

2011/02/19

起きたら昼過ぎ。寝すぎ。

そういや、GT5のアップデートが来ていたので入れてみたり。 B-SPECのリモートレースが可能になったとの事ですが、どうにもレースを 始める事ができなかったり。一人じゃレースできないのか?でも、この リモートレースは本編のB-SPECレースとは関係無い専用レースのようです。 リモートでゲームを進められるという訳では無い模様。

キャッスルヴァニアに復帰。操作をスッカリ忘れてしまってますが、 ボチボチ進めたり。ガチャプレイではどうにもなりません。ちゃんと ガードをする事が意外と重要というのをやっと掴んだ気も。

2011/02/18

早めに帰着。

あまりの眠さに急速停止。

2011/02/17

早くも無く遅くも無く。

ちょろりコーディング。

2011/02/16

早めに帰着。

もそもそとコーディング。大分スッキリしたようなそうでもないような。

2011/02/15

急遽休業。

ガス屋さんに連絡。AM中に見てもらったのですが、原因はやっぱり沸かしすぎ により安全装置が発動した為でした(^^; 何年か前にガスメーターがマイコン式 なるものに付け替えられていたのですが、どうやらそのガスメーターが消費される ガス量と時間から付けっぱなしになってるなどを判断して、ガス供給を止める という仕組みになってたようです。メータに付いてる復帰ボタンを押せば 供給が再開されるということでアッサリ終了。うーむ、無駄に休みを取ってしまった(^^;

「ありえへん世界」のスペシャル。深夜枠から火曜のゴールデンに移った頃から、 観る事がほとんどできなくなったのですが、出てくる人達はあいも変わらず ぶっ飛んでて面白いなぁ。

もそもそとコーディング。少しスッキリしたようなそうでもないような。

そういやXbox360の「怒首領蜂大往生ブラックレーベルEXTRA」のバグ修正パッチ ってどうなったんだろう?とふと思い検索してみると、今年の1月中ごろにパッチが 配信されたようです(公式ページの告知)。 結果的に1年遅れの配信となった訳ですが、一応の完結をみたという感じでしょうか。 修正点の一覧が書かれていますが流石にこれはヒドいかも(^^; 因みに、パッチ自体は 去年の1月頃にはできていたようですが、その後 Microsoft側でのパッチテストが何故か 通らないという不幸に見舞われていたようで、ここで1年延びた感じみたいです。 それにしてもパッチテストが通らなかったのは何が原因だったのだろう?という点に 興味が沸きます。

2011/02/14

早くも無く遅くも無く。雪まみれ。なんだかんだで関東地方は毎年1回は雪が降るよなぁ。

風呂を沸かそうとしたらガスが点火せず。昨日うっかり沸かしすぎてしまった のですが、それで風呂釜が不調になったのか?

2011/02/13

昼前起床。

GT5。ローブのラリーイベント。少しづつコツが掴めてきて、ブロンズに10秒以上 足りなかったのが、あと3秒くらいまでに縮められたり。この時点で やってもやっても縮まなくなった為、何気に模範プレイを見たところ、 以前はなんとも思わなかったのですが、思った以上に地味に走っている 事が判ったり。そんな訳で、スピードを上げすぎない様にできるだけ滑らない ように走ってみたところ、なんとか-0.1秒でブロンズ獲得できたり。ふぅ。 地味に走った方が早いというのは納得できない所もありますが、世の中そういう ものなのかもと変な悟りを開いたりも。
で、ローブの方でコツを掴んだ所で自動生成のラリーイベントも消化。 グラベルやスノーが驚くほど楽勝なので、こりゃアッサリいけるか?と 思ったら、ターマックで全然勝てなかったり。仕方無いので、制限内でエンジンを チューンしようとしたところ、思いのほかパワーアップの刻みが荒くて うっかりすると制限値を1PS越えるとか、収めるのに四苦八苦。 で、こちらもどうにかクリアできてトロフィーゲット。

そんな訳で、もう腕の必要なトロフィーは取れる気がしないので、 そろそろGT5もフェードアウトしようかと思ったり。結局 2.5ヶ月間やってた 事になったりも。B-SPECの時間だけを見ても余裕で250時間以上やってたりします。 遊び過ぎたかも(^^;

2011/02/12

昼過ぎ起床。なんか雪降ってるなぁ。

GT5。ローブのラリーイベントを練習するも、どうにもならなかったり。

寒さで死亡。

2011/02/11

昼頃起床。

ちょろっとGT5。いくつかトロフィーを取得したり。

2011/02/10

早めに帰着。

ちょろっとGT5。寒くて急速停止。

2011/02/09

早めに帰着。

あまりの眠さに急速停止。

2011/02/08

早くも無く遅くも無く。

GT5。ここ1ヶ月ほど耐久レースばかりをやってバーチャルドライバーに 賞金を稼がせてましたが、貯金がカンストの20億クレジットに達したり。で、 20億の高級クラシックレーシングカーを買って一文無しトロフィーゲット(^^; それにしても、バーチャルドライバーの一人はレベル40に達したのに、キャリアが もう後少しという所でなかなか満杯になりません。時間がかかってしかたが無いです。

2011/02/07

早くも無く遅くも無く。

「ONE PIECE(61)」。そういう展開で来ましたか〜〜という感じ。 まだまだ続くなぁ。

アニメでやってた「それ町」ですが、原作本の方を少しずつ買ってたりします。 今出てる分をまだ買い揃えていませんが、歩鳥の妹の雪子が何故「ニンジャ」と 呼ばれているのか気になってしかたのない今日この頃。

2011/02/06

昼過ぎ起床。

GT5のラリー系のスペシャルイベントが全然取れないのを練習したり。 プラクティスモードで練習したり、セッティングをいじったりやってみた のですが、ブロンズタイムよりも10秒くらい遅いのがちっとも縮まらず。 特に、スペシャルイベントは強くぶつかるとその場で失格になるので、 ブレーキングがウッカリ遅れてしまうとそれでアウトになったりと 四苦八苦。何度やっても伸びないので、何か根本的な要素を満たして いないような気も。

2011/02/05

昼前起床。

週トロ。TVの映画の話が面白かったです。TV東京で放送されていた木曜洋画劇場 のTV用編集を実際に行っていたディレクターさんのインタビューだったのですが、 番宣でやりすぎた話とか、放送時間枠に収める為に吹き替えを変えたりする話 など盛りだくさんでした。時間に収める話で、あるシリーズ映画2本分を1本の映画 のように編集した事があったのですが、出てる人が変わっていたりしたのを無理矢理 辻褄が合うようにしたりとか、意外とスゴイ事をやってたんだなぁと知ったり。 吹き替えの話では、1日分の出来事をまるまるカットしなくてはならない場合に、 台詞で「おとといの」という箇所があれば、「昨日の」に吹き替えたりとか。 でも、その場合は二ヶ国語放送できないというのには、なるほどと思ったり。

来年、リッジレーサーの新作が発売されるというのを知ったり。FLATOUTシリーズの BUGBEAR ENTERTAINMENTが開発を担当するというのにちょっと驚きました。 FLATOUTは日本ではコナミから「レーシングゲーム「注意!!!!」」 という謎のタイトル変更が加えられて発売されていました。で、Webで検索していると、 FLATOUT2も「FLATOUT2 GTR(がんばれ! とびだせ! レーシング!!)」という謎のサフィックス が付いて発売されていたようです(^^; タイトルがアレな感じなのですが、現在では 当たり前に使われるようになった物理エンジンを使って、これぞ洋ゲーって感じの ビジュアルで見せるというゲームです。 リッジレーサーの新作......一体どうなるんだろう?

2011/02/04

早めに帰着。

あまりの眠さに急速停止。

2011/02/03

早くも無く遅くも無く。

GT5。毎日B-SPECの24時間レースを実行して、やっとレベル40に到達。

そういや、Emacs上で動作するファイラーってdired以外に無いのかしら? と思い検索してみると、 Ufmなる ファイラーLispを作っている方のページを知ったり。ちょっと使ってみたのですが、 かなり癖は強い感じはあったり。でも、ちょっと改造すれば結構良い感じにできそう な、それは気のせいのような、そんな予感。

2011/02/02

早めに帰着。

ちょろりコーディング。コード量が多くなっているクラスを見直したり。 3D座標を扱っていると、OpenGL表示向けにカメラ位置や注目位置を保持 する以外に、マウスカーソル位置から、グローバル座標上の3Dオブジェクト データを操作する為に、座標変換を行う場合があります。この座標変換には、 カメラ位置、注目位置、回転角度、FOVY、ウインドアスペクト比を使って、 2Dのマウスカーソル位置を3Dグローバル座標に変換します。座標変換に使用する情報はOpenGL表示に もそのまま使用する為、気づくとOpenGLのクラスの中に座標変換のルーチンなど 全てを押し込めがちになってました。この辺を整理できないかなぁ? と思っている最中です。

2011/02/01

早くも無く遅くも無く。

D言語でリライトしているhairmakerに、そろそろUIを付けようかなぁと思ったり。 でも、データのコアが表示に近いところにあるせいか、データの独立性がイマイチ 低い気がしたり。このままボタンなんかのUIを付けてしまうと、かなり汚い感じ になりそうな予感がするのを少し考えた方が良いかも....と思ったりも。


TOP PREV