中間形式へのエクスポートOK。これは簡単だ。
中間形式っていってもBlenderのPythonスクリプトから取れるMeshの内部データをYAMLに落としただけだがね。
中間形式の読み込みもOK。こいつはもっと簡単だった。 RubyでYAML読むだけだもんな。何もすることはない。
あとはバイナリ作って読み込んで描画するだけ。
いや、まあ、動かすだけならバイナリなんか作る必要はないんだが、YAMLもでかくなるとパースに結構時間かかるからね。
読み込んだデータをMarshalでごにょごにょっていう手もあるが…。Marshalでシリアライズした奴って読み込み速いのかなぁ? つか、rubyのバージョンによって非互換になるのはよろしくないって。
ここまではやけに簡単だったが、まあ、何も考えてないモデル表示なんてこんなもんだよな*1。 objでも問題無い程度のデータだし。
アニメーション付きのモデルになったら…いや、これはただめんどいだけで、難しくはないか。
背景モデルとかは色々考えることがあって面白そうだ。
いまのままだとトライアングルリストになるから一応ストリップ化することも考えるか。
*1 まだ表示は出来てないが…もう出来たも同然か。
そういや、こないだSR4を買ったよ。イエサブで。
Amazonで買おうかと思ったんだけど、いつ入荷するか怪しいし、イエサブに行ったら売ってたんで買っちまった。5800円とAmazonより2000円も高かったが、仕方ない。
ほとんど前情報無しで見たんだが、かなりルールが変わっててびっくり。 いや、すっきりしたとはちょっと聞いたんだけど、SR3もかなりすっきりしてたしさ。
初めに驚いたのは判定方法かな。目標値は常に5固定で、修正は原則的にダイスの数にかかるようになった。
って、まあWoDもそうなってたし*1、こっちの方が断然わかりやすいからいいよな。
次の衝撃はダメージ値か。伝統的なダメージコード(9Sとか)は無くなった。今回のダメージは「ダメージ値(DV; Damage Value)+攻撃のヒット数*2-ダメージ抵抗テストのヒット数」で計算される。
何段階上げるだの下げるだのの面倒な計算は無くなってより凶悪なダメージ値になりました。
ダメージの減らしにくさは、DVの他に貫通力(AP; Armor Penetration)ってのがあって、これが相手のダメージ抵抗テストの修正になる。ダメージ抵抗テストは「強靭力+(アーマーレーティング+相手の武器のAP)」分のダイスプールで判定。武器のAPは大抵負の値だけど、ゲル弾とかは逆にプラスになったりするわけだ。
以前よりずっと計算が楽にはなったんだけど…え、っていう感じはある。いや、これ大丈夫なのか、と。ほら、あの、バランスとかさ。どうすりゃいいのよ。
多分、大丈夫なんだろう。しかし、成功数の差分が直接ダメージになると死に易くならんのだろうか。
それの関係からなのか、当然コンディションモニターも変更されている。10一律ではなく、身体ダメージは8+強靭力÷2、精神ダメージは8+意志力÷2の分だけ升がある。相変わらずダイスプールへの修正はつくが、一律3升につき-1になった。
なーんか、ふつー、な感じになってしまってさっぱり面白くないんだが、実際にゲームやるにはこっちの方が断然スピーディで良いだろう。
あとイニシアティブも変更だ。イニシアティブレーティングで判定、ヒット数をイニシアティブレーティングと足したものがそのターンのイニシアティブになる*3。で、いつも通り高い方から順に行動。
行動回数は固定。強化反射神経とかを入れるとイニシアティブパスってのが増えるんだけど、それが即ち行動回数だ。通常では当然1ね。
イニシアティブはダイス運に左右されすぎじゃないかと思ってたんで良いかもしれん。マスターとしてはダイス目インチキ手加減がしづらいんだけど。
しかし、毎ターンイニシアティブロールってのは変わってない。めんどいんだけど。WoDって戦闘毎じゃなかったっけ? まあWoDよりシビアな戦闘なんでイニシアティブロールで勝敗が決まる可能性もあるもんな。仕方ないんだろう。
あ、そうそう。大事なことだけど、なんかルールブック読み易くなってた。字が綺麗だし、世界説明とか最初の方にまとまってたし*4。
緑と黒の2色刷りってのは最初見た時はどうかと思ったけど、そんなに悪くないね。むしろ明るくて見易いかも。
他にも読んだとこだけでも、VRじゃなくてARがメインっぽかったりいろいろするわけだが、今日は長くなったのでこの辺で。
寝なきゃ。