»2009年12月30日FF13感想(前編)25日で会社もおわり、20時間ほどFF13をプレイしてみた。3とりあえず、飽きて辞めない程度に楽しめる。ちなみにFF10は落第点で、途中で飽きてしまいました。半分なのでこれから中身が明らかになっていくと期待。PS3でもトップクラスでしょう。個人的にはここまで出来るなら、全部リアルタイムグラフィックでいいじゃんと思うんだけど・・・デモ的には・・。テクスチャグラフィックには脱帽。プリレンダームービーの必要性がみえない。全部リアルタイムでいいじゃないかと・・。画質に差が感じられない。あまりに画質に差があると違和感があるからあえて・・・なのかもしれないけど。プリレンダーしてるのは明らかにPS3では処理できない量のオブジェクトがでてるときとか難しいマテリアルの表現のときとかに使ってるかな・・。リアルタイムグラフィックが良く出来てるだけに、それとくらべるとがっかり・・・ってことでこの評価。今までのRPGとちがって、ぼけっとしてたら雑魚キャラにボコボコにされるという絶妙なバランスです。バトルメンバのロール(役割)を切り替えることでメンバの動きをコントロールするという仕組みは、ありそうでなかった戦闘。不満があるとすれば、せっかくリアルタイムにコマンドが組み合わせられるのにマニュアルでコマンドの組み合わせを選ぶのが一覧から・・・ってのは微妙。親切心でオートでコマンドを組み合わせてくれるのはいいが、いまいちタイミングによっては微妙なコマンドをくんでくる・・。マニュアルコマンドは一覧ではなく、方向キーとかボタンの組み合わせがよかった。くせに、召喚獣を操作するときは方向キーとの組み合わせだし・・・。意外と飽きずに楽しめます。後半に期待!で、ここからが本題。このFF13のバトルは次世代プログラミングに共通する新しいものを感じた。この話をするには最初のRPG戦闘モデルまでさかのぼる必要がある。初期のころのRPGはいわゆるコマンド入力方式だった。一人ひとりに行動するコマンドを割り当てるものだ。コマンド入力中はすべての敵はコマンド入力が終わるのを待つターン制。ターンの中での行動はすべて1回まで。このスタイルはシングルスレッドプログラミングと非常に良く似ている。次にFFがアクティブタイムバトルというものを導入し、ターンという考えが無くなった。キャラクタの行動ゲージがたまる速さによってトータルの行動回数が決まる。これはつまり、スレッドプール型のマルチスレッドプログラミングモデルである。ユーザはスレッドプール(行動ゲージがたまったかどうか)をチェックし、すでに割り当てられたジョブを終了したスレッドに次の仕事(行動コマンド)を渡し実行する。このころドラクエはAI戦闘を実現していた。パーティの作戦を決定し、仲間の行動はAIが自動的にやるというもの。これはやや無理やりだが、イベントドリブンプログラムである。一部OSに任せてしまえばいいところはOSにやらせるし、必要な部分だけ操作するというものである。今回のFF13のバトルシステムはヘテロジニアスタイプのマルチスレッドプログラミングと似ている。メインコアは作戦を指定し、各コアに基本戦略を割り当てる。各コアはアーキテクチャに最適なコマンドを実行することで目的を達成する。メインコアは各コアに投げた、処理が終わるのを待って、次の作戦を立てていては遅い。(ゲーム中では敵に負ける。マジで!)他のコアがコマンドを実行し始めたら、次の作戦を立てて、各コア(バトルメンバ)の実行中に次のコマンド(作戦)を実行する。05:58コメントまさかの結末に驚きを隠せません。18:36ヘテロなマルチスレッドを語るなら、料理をするべき。