太陽がまぶしかったから

C'etait a cause du soleil.

バイオハザード攻略はロングランバッチ処理のRDBMSコミット戦略説

バイオハザード オリジンズコレクション -Switch 【Amazon.co.jp限定】オリジナルデジタル壁紙(PC・スマホ) 配信

はじめてのバイオハザード

 実の所でこれまでバイオハザードシリーズをプレイした事がなかった。次世代ゲーム機ではセガサターンを選んでいたし、ラジコン操作に頭が痛くなりそうで初代から敬遠していた。ナンバリングタイトルは順番にやっていかないと気が済まない質でもあるので操作方法がリニューアルされてからもやらないままだったのだ。

 そんななか初代バイオハザードやそのエピソード0のグラフィックや操作方法がリニューアルされたリマスター版がセールになっていたので購入してやってみた。

バイオハザードで生きる死ぬ繰り返す

 月並みな表現をすれば映画のようなグラフィックのムービーを観てからゲームスタート。最初のゾンビ遭遇からボタンを試し押しながら操作方法を覚えたり、ナイフで殺そうとしていきなりの死亡。最初からやり直したらムービーのスキップができない!

 バイオハザードにおいてはセーブをするたびに「インクリボン」というアイテムを消費する必要があり、こまめなセーブをしにくくするアーキテクチャがあるのだけど、最初の段階でセーブをサボるとムービーを見直すという時間的なリスポーンペナルティを受ける。

 しかしながら、開始時にセーブをしているということはインクリボンを1個少なくした状態からのスタートとなるため後になって詰んでしまう可能性が高まる。ゲームプレイ初期段階においては初手セーブが有効だが最終的にはニューゲームをせざるを得ない瞬間を内包するのだ。

バイオハザードRDBMSのコミット戦略説

 これはインクリボンに限らず弾薬にも回復アイテムにも同じことが言える。ここまででだったら最もリソースを消費しないで辿り着ける場所までを息継ぎせずに一気にやり切ってからセーブデータを作ることではじめて次に繋げることができる。サスケの中間チェックポイントのようなものだ。

 これはリレーショナルデータベースマネジメントシステム(RDBMS)におけるトランザクション、コミット、ロールバックの戦略に似ている。RDBMSにはデータ操作を開始してからコミットをするまで本当のデータ反映をしないようにするトランザクションという機能がある。仮に間違えたSQLで更新処理をした後であってもロールバックによって「なかったこと」にできる一方で、それは前回コミットした時点からのやり直しが必要になることを意味する。

 例えば10000件のデータ更新をするようなバッチ処理の場合に9997件目で失敗して全ロールバックとしてたらリカバリ時間が足りなくなったりするので1000件ごとにコミットしていくような戦略が取られることが多いのだけど、そうすると8005件目の類似エラーが検知されずに変更反映されてまずい状況が確定するリスクがある。

インクリボンによる人間的なTAS

 バイオハザードにおいてはセーブがコミットで死亡がロールバックである。そのうえでコミット回数が制限されており、これまでのコミット回数自体も保存対象となる。非効率な発砲が疑われても途中コミットをしてしまうか、また最初からやり直すリスクを負いながら完璧にできるまでコミットを遅延させるかのジレンマのコントロールが必要となる。

 ロールバックとコミットメントはTAS的な発想ではではあるが、インクリボンの制限によってこまめなコミットとロールバックができないから、トランザクション開始からのノーミス度合いと適切な箇所でのコミットが試される。

 ただしナイフプレイやゾンビスルーが圧倒的に上手くなると体力や弾薬が消費されないし、勝手なロールバックも起こらないので、コミット管理の概念が破綻する。このあたりは Siren でひかき棒(ひかきボルグ)さえ手に入れれば事実上の無双になってステルスアクション性が消滅してしまうのに似ている。

 2時間ほどプレイした現時点においては紙に印刷されたSQLの手順書を一字一句間違えずに打ててエラーにもならないという自信のある時点までコミットを遅延させてやりきったらコミットをする充実感。バイオハザードの提供する達成感はそれに近しいものがあるのだと感じている。