2010-02-08(Mon)
Final Fantasy
Final Fantasy series はたしか V から入ったクチで III は NDS の remake 版で、 IV は original でやっていたもの ( VI 以降は X までなら original でやっている ) の I と II は hardware の問題もあってやってなかったんだけどずっと気になっていたわけで。そんな状況で Play Station Network でみかけてしまった -> 半ば衝動的に購入という流れ。
少し調べてみたら PS 版は visual 面や bug fix を除いては original に近いモノとして移植されているようで ( wikipedia:ファイナルファンタジー ) Wii を持っていない身でも ( Virtual Console で original が配信されている -> http://www.nintendo.co.jp/wii/vc/vc_ff/index.html ) oritinal の雰囲気で遊べるというのはけっこうありがたい。一時期 PSP 版を買おうとした時期もあったんだけどいろいろ変更が入っているというハナシなのでちょっと危なかった。 PSP-1000 の重さ ( 重すぎてあまり電源を入れたくない ) に感謝だな。
でまぁ感想としてはやっぱり時代を感じるなぁという点が真っ先に出てくる。全編通して難易度はそんなに高くないものの job 選択によっては戦闘がつまらなくなってしまったり ( あとでやっちまったと気付く pattern ) 特定の item があるかないかで難易度に天地ほどの差が出てくる ( 救済措置という名の balance breaker ) というのは昔っぽい作りだなぁと思わざるを得ないというか。自分で memo を取りつつ攻略していって ( 今のように攻略情報が online でパッと手に入らない & 友人と競い合うというような時代だった ) いざとなれば最初からやり直す ( 作り的に dead lock にはまることがけっこう多い & clear までそんなに時間がかからないので踏ん切りがつきやすい ) という時代の産物。
とりあえず終わらせるのに全編通して求められるのが「忍耐」だというのがこの game の特徴かな。序盤は物理攻撃があたらない、中盤はマヒや石化などの状態異常を付加する通常攻撃をする相手に殴り殺される、終盤はいやしのつえなどを使用した HP 回復の routine work がタルい、全編で先制攻撃されることが多い + game speed が遅いので待ちぼうけになる時間が多い、「ちせい」という status の意味がないので魔法系 job が相対的に弱い、というあたり。まぁ最近の RPG の戦闘の方が現実的にはありえないんだけど design 的には失敗な点が多いなぁと素人ながらに思ってしまった。 Wizardry 形式の MP まわりは使いどころを考えれば十分有用だと思うんだけどというかけっこうおもしろかったんだけどいかんせん魔法自体の capacity が低いのでどうやっても disadvantage にしかならないといったあたりは非常に惜しい。てか今考えてみると物理系 job がないとこの game 難しいって level で収まらないな。黒魔術士のみで play とかは苦行のはず。
あとは赤魔(術|導)士が活躍している姿を拝めたのが個人的にうれしかった。 hybrid 職の宿命としてどうしても各能力が半端にされがちなんだけど終盤まで十分通用するというか一線で戦えるというのは以降の series ( といっても V くらいしか知らないんだけど ) にはあまりない scene なので赤魔導士 fan はぜひやるべき。
オハナシ的にはまったくの fantasy と思いきや実は…、という点とか player への語りかけとかが逆に新鮮に感じた。正直いうと終了後にあれ ? ハナシつながってなくね ? って思ってしまったんだけど narration 的なものの台詞まわしというか書かれ方がなんかよい感じでそこらへんどうでもよくなってしまった。うん、古典も古典、コテコテの古典なんだけど懐かしさを感じさせるのどかな感じの話なのでそういうのが好きな人もやってみていいかも。
最後に最近出た「光の4戦士」 ( http://www.square-enix.co.jp/hikarino4sensi/ ) も 1 作目の remake なのかなと思いきや実は違うらしいということがわかって ( 攻略 wiki の最初を少しだけ覗いてみた ) ちょっと興味が出た。 NDS というと IV の remake も確認の意味でやりたいと思っていたんだけど同じ stuff が作っているらしい。さらにいうと III の remake も同じ stuff が手がけたらしく remake III はおもしろかったのでそのうち手を出してみようかなと思っている。
2010-02-07(Sun)
building gcc4 on MinGW -> failure
MinGW + MSYS で gcc4.4.3 を build しようとして失敗した経緯まとめ。とりあえず成功例のない platform ( cross compile での用語でいうなら build ) での gcc の build は生半可な知識じゃ無理だということがわかっただけでもかなりの収穫だった。 cygwin だと成功例があるので ( http://gcc.gnu.org/gcc-4.4/buildstat.html ) 手っ取り早くやりたいなら cygwin を使えばいいんだろうけどいやな思い出しかない software No.1 を今 install する気はさらさらないので失敗談を書いておくだけにする。この路線で頑張るなら configure script や Makefile をいじるための勘所を養うというのが次の段階だと思うんだけどもうここらへんのことやるのに飽きたのでしばらくやらないつもり。
ここから log まとめ。目的はとりあえず動く binary を作ること。あと以下のことを考慮して作業は gcc 3.4.5 で行う。
- MPFR の current である 2.4.2 は gcc 4.4.0 だとうまく build できない ( http://www.mpfr.org/mpfr-current/ )
- 現行の MinGW では gcc4 の最新版が 4.4.0
http://gcc.gnu.org/install/prerequisites.html を参考にしつつ作業開始。 PPC や CLooG はなくてもいいようなのでいれてない。 "make" に指定してる "-j2" という option は core2 なのでこうすると早いというだけ。
- 以下を install ( 括弧内は実際の file )
- 以下を MSYS を install した directory 以下に unpack ( 括弧内は実際の file )
- GMP ( http://gmplib.org/ )
- MPFR ( http://www.mpfr.org/ )
- MPC ( http://www.multiprecision.org/ )
- gcc ( http://gcc.gnu.org/ )
- tar xjvf gcc-core-4.4.3.tar.bz2
- mkdir objdir
- cd objdir
- ../gcc-4.4.3/configure --prefix=/mingw --with-gmp=/mingw --with-mpfr=/mingw --with-mpc=/mingw --enable-languages=c,c++ --enable-threads --with-gcc --with-gnu-ld --with-gnu-as --with-build-time-tools=/mingw/bin --disable-nls --disable-shared --enable-sjlj-exceptions --enable-libstdcxx-debug --enable-version-specific-runtime-libs
- make -j2
ここで止まる。どうも stage2 の xgcc を使った check で MinGW 側の library path が渡されてないらしく "cannot create executable" が出て終了する。ちなみに stage 1 でも configure option の "--with-gnu-ld" がないと同じ理由で終了する。でまぁ working directory の "prev-gcc" というところに "/mingw/lib" 以下を copy してやる ( cp /mingw/lib/* prev-gcc/ ) と stage3 までいくもののやはり同じ理由で終了。ここでも stage2 と同じ解決方法でいけるかと思いきやダメだったので ( make し直すと以前の作業結果を消してしまうぽい ) あきらめた次第で。一応 "--disable-bootstrap" も試してみたんだけどやっぱり同じ理由で止まったのでそもそもダメみたい。
とはいえ http://smalltree.blog79.fc2.com/blog-entry-11.html や http://alohakun.blog7.fc2.com/blog-entry-990.html ではできたということなので根本的におれが間違っている可能性もあるんだけど。まぁ gcc 4.4.0 でも問題ないしできるかどうかちょっと試してみただけだし。とか強がってみる。
2010-02-05(Fri)
x264.exe
優太さんの動画 ( http://d.hatena.ne.jp/janus_wel/20100204/1265289507 ) を encode するのに今まで XviD を使ってたんだけど久しぶりで codec まわりも進化しているだろうしせっかくだから H.264 に切り替えようと思っていろいろやってみた結果。
とりあえず動画編集 software で encode する際に指定できる形式があったよなと思って探してみたら x264vfw という名前みたいなんだけど今はもう公式じゃ配布してない + 有志の方による配布 site も久しく更新されてないという状況で。でまぁ公式探してみたんだけど Windows でどうこうできる形式のものが見あたらないのであれーと思いつついろいろ見てたら wikipedia ( http://ja.wikipedia.org/wiki/X264#.E5.A4.96.E9.83.A8.E3.83.AA.E3.83.B3.E3.82.AF ) 経由で binary 配布 site ( http://x264.nl/ ) というのを見つけたので check 。そしたら exe 形式の encoder を配布されている方 ( top domain や compile time を見るとオランダの方 ? ) の page だった。
でまぁこれをいただいてきて使う、というのでも良かったんだけど公式が source しか提供してない -> 自前で compile しやがれと受け取ったというのと久々に compile 欲が出たというのでやってみた。とりあえず Windows binary を作るための環境ということで MinGW と MSYS をいれて ( http://d.hatena.ne.jp/janus_wel/20100203/1265197628 ) 準備完了。以下 MSYS 付属の bash での作業時の log 。
- pthread
- http://sourceware.org/pthreads-win32/
- configure と make install がない変則的な software
- 最新の source ( とはいっても一番新しい file が 2006/12/22 ) pthreads-w32-2-8-0-release.tar.gz を頂戴してくる
- tar xzvf pthreads-w32-2-8-0-release.tar.gz
- cd pthread-w32-2-8-0-release
- make clean GC
- cp pthread.h sched.h semaphore.h /mingw/include/
- cp pthreadGC2.dll /mingw/bin/
- cp pthreadGC2.dll /mingw/bin/pthread.dll
- cp libpthreadGC2.a /mingw/lib/
- cp libpthreadGC2.a /mingw/lib/libpthreadGC2.dll.a
- nasm
- yasm
- zlib
- http://www.zlib.net/
- zlib-1.2.3.tar.gz ( 2005/06/18 時点のものが current らしい ) をいただく
- tar xzvf zlib-1.2.3.tar.gz
- cd zlib-1.2.3
- ./configure --prefix=/mingw
- make
- make install
- gpac
- x264
とりあえずすべての software で "./configure" 時に "--prefix" option で "/mingw" を指定するというのが point 。 static link する file は MinGW 側にあるのでこうしないと通らない software もある。他は pthread の file copy は http://blog.tndl.net/2008/02/27/108 を参考にさせてもらったとか nasm を git から取ってきた場合は "autogen.sh" で "configure" file を作らないといけないとか gpac は "config.h" を copy してやらないと通らないとか "make" とだけ打つとかなり時間がかかるので "lib" と "apps" のみ make するといいとか x264 は compile 時に git を要求するんだけどなくても version の revision number が出ないだけで実質的に困らないとか細かいところを上げるといろいろある。
最後にうまくいったかどうかを Version とだけ書いた AviSynth file を食わせて test してみる -> x264.exe --output version.mp4 version.avs 。これで version.mp4 がちゃんと再生されて Ben Rudiak-Gould 氏の名前が拝めれば OK 。
2010-02-04(Thu)
2010-02-03(Wed)
MinGW + MSYS
MinGW 版だと wrapper が必要だったり必要な option がなかったりするのでやっぱり MSYS 版で。
autoconf, automake, libtool に関して MinGW 版があったことに気がついたのでそっち側に変更した。
とある理由で Windows native で GNU make の使える compile 環境が欲しくなった ( Windows binary を生成する cross compile 方法ってあるのかな ? ) ので探してみたところ今は MinGW と MSYS をいれるという選択肢があるらしい。 MinGW は GNU の提供する開発環境の最小構成 ( 要は gcc まわり ) の Windows 版で MSYS はその補助用の最小構成 system ( bash, make, tar, gzip, bzip etc ) という位置づけで両方同じ site で頒布されている。
- http://www.mingw.org/ (
公式だけど今日確認したら domain が売りに出されてる元にもどった ) - http://sourceforge.net/projects/mingw/
さらっと見てみた感じ cygwin に比べると楽そうだしとりあえずいれてみるかというところで以下 install 時の log まとめ。
- MinGW
- SourceForge の方から MinGW-{version}.exe ( 今は MinGW-5.1.6.exe が最新 ) を取ってきて実行。
- install する package の選択は default で。 MinGW make は GNU make と機能的に互換でないらしい ( http://www.sixnine.net/cygwin/translation/mingw-doc/mingwfaq.html#s1-20 本家がないので日本語訳 ) のでいれなくていい。
- gcc の version が ( 多分 ) 3 なので 4 にするために以下の file ( 今の最新 ) を取ってきて MinGW を install したところ ( default は "C:\MinGW" 、 MSYS 付属の bash 上では "/mingw" として見える ) に展開。 MSYS 付属の bash を使って tar xzvf {filename} -C /mingw ( {filename} は各 file の名前に置き換える ) とするか Lhaplus や 7-Zip なんかを使えば OK 。
-
autoconf, automake, libtool が必要な software もけっこうあるのでとりあえずいれる
- MSYS
- まず MSYS-1.0.11.exe をとってきて install 。
- install 後に MinGW の位置を聞かれるので入力。
- 最新の package に更新するために msysCORE の一番新しいもの ( 現時点では msysCORE-1.0.13-2-msys-1.0.13-bin.tar.lzma ) を取ってきて MSYS を install したところ ( default は "C:\msys" 、付属の bash からだと "/" として access できる ) に展開。 lzma 形式は tar の "--lzma" option を使って tar --lzma -xvf msysCORE-1.0.13-2-msys-1.0.13-bin.tar.lzma -C / とかやるか 7-Zip ( http://sevenzip.sourceforge.jp/ ) の 4.58 beta 以降を使って解凍。
- 自分で開発したりそうでなくても configure を生成する必要のある software を compile する場合は autoconf, automake, libtool ( 依存する perl と crypt も ) をいれなければいけないので別途 install 。こいつらも msysCORE と同じように install directory に unpack すればおk。以下最新の file list 。
これで gcc4 環境ができる。とりあえず MinGW や MSYS では install / update は package をもらってきて解凍するという手順を踏めばいいらしいということを覚えておけばいいのかな。うーんでもこれ yum や apt がやってることを依存確認も含めて人間が手動でやってるだけだよな。なんか不毛感漂う…。あとはやっぱり思ったよりも手軽じゃないというかどう考えても Linux や UNIX いじってましたってひとじゃないとすんなりとはいかない気がしてうぅむとなるな。 minimal なだけであってそのおかげで多少問題が発生しにくいもののやはり easy ではないというあたりを考えると sh って何 ? ってひとにはオススメできないというか。

