The Alchemist of the Skyrim - 1 - コンセプト
目次
はじめに
アトリエシリーズのようなゲーム性のModを作りたい!
という思いからSkyrimのMod開発に手を付けました。
※アトリエシリーズを知らない方は次を参考に
アトリエシリーズ大特集 | プレイステーション® オフィシャルサイト
Modの名称はとりあえず「The Alchemist of the Skyrim」としてみました。
このエントリーはシリーズとして、このModの開発状況などを掲載していきたいと思っています。
本エントリーは初回であるため、どのようなModとするか、やりたいことや、実現性などについてのMod開発初心者としての思ったことを記載しています。
どんなことをできるようにするか
ざっくりと次のようなことをできるようにしたいです。
- 3つ目の錬金素材の絞込み
- 錬金素材以外での素材での錬金
- コンテナ内にある素材を直接使用する
- NPCから錬金アイテムの作成を依頼されるようにする
- 新たな効果の作成
- 錬金素材の効果とは別の特性や効能を追加する
- 錬金素材採取時にランダムな特性や効能を付加する
- 錬金素材の効果をランダムに書き換えるジェネレーターを用意する
- 他のModとの競合を避けるために、他のModを含めたすべての錬金素材をマージできるようにする
- おまかせ錬金鍋で自動で錬金する
3つ目の錬金素材の絞込み
Skyrimの錬金術は、2つまたは3つの錬金素材を組み合わせて、錬金素材が持つ4つの効果の内、効果が2つ以上重複する場合にその効果を持つポーションを作る仕組みとなっています。
最初の2つについては、UIから作成したい効果を選択することで簡単に選べますが、3つ目の錬金素材を選択する場合、既に選択している2つの錬金素材の効果と重複しうる対象を選ぶには、1つ目の錬金素材と2つ目の錬金素材を選択する際に効果を確認して選ぶしかありません。
これがめんどくさい!
3つ目を選ぶときに重複する対象または効果で絞り込めてもいいじゃないと思う次第です。
しかしながら、おそらく現在のSkyrimのクラフト時の動作やUIではこれを実現するのは難しそうです。Message(ダイアログ)を表示するなどでできるのかもしれませんが、すばやい選択ができません。
理想は2つ目を選んだ時さらに、サブの階層メニューを表示して、絞り込まれた錬金素材がリストアップされるか、効果がリストアップされるような仕組みがいいです。
また、薬か毒かでも絞り込みたいです。
現時点では、これをカッコよく実現するにはSKSE プラグインなりで行うのか、そもそも実現不可能かも不明です。
Mod開発は始めたばかりですので、仕様的な限界がわかっておりません。
錬金素材以外での素材での錬金
バニラにある元々の雰囲気オブジェクトなどから別のアイテムが作成できるようにしたいと思います。
これは実際、料理鍋などで作れる料理や鍛冶で作れるものなどのModもあり、なんとなく簡単に実現できそうです。
コンテナ内にある素材を直接使用する
錬金素材を大量に集めるとさすがにそれなりの重量となります。
このため、一旦チェストなどにしまっておくのですが、錬金する時に取り出した後、また元に戻すのに、ボタンを連打することになります。
この辺はアトリエシリーズのように、コンテナにある錬金素材も参照できるようにしたいです。
錬金する際に勝手に参照されるようにするのは、クラフト開始時にあらかじめ指定しておいたコンテナの錬金素材をすべてプレイヤーに移し、クラフト終了時に元々コンテナにあった錬金素材をコンテナに移せば実現可能かと思います。
実装としては、おそらくPapyrusのグローバル変数の配列に情報を持たすなどで出来そうな気もしますし、いっそのこと、終わった際にはプレイヤーの手持ちのものもコンテナに移してしまえば、元々コンテナにあったのか、プレイヤーが持っていたかの判断も不要そうです。
実際、アトリエシリーズではアトリエに戻った際などに自動でコンテナに移るものもあるので、それでもいいかなぁとも。
NPCから錬金アイテムの作成を依頼されるようにする
自宅で錬金している際に、NPCがやって来てこれこれを作って欲しいみたいに依頼されるランダムクエストがあれば、ずっと錬金プレイをやっていられそうな気がします。
露天Modといったものもあったので、クエストの作りようで実現可能な気はしますが、作りこみはめんどくさそうです。
新たな効果の作成
例えば、一時的にジャンプ力がアップしたり、体が小さくなったり大きくなったりなど。コンソールコマンドで簡単に出来ることですが、それでは味気ないです。
マジックエフェクトを作って動作をスクリプトで作れば実現可能なので、大概のことは出来そうです。
錬金素材の効果とは別の特性や効能を追加する
アトリエシリーズにある素材につくランダムな特性や効能のようなものを追加したいです。
例えば次のような雰囲気的な名称のもの
- とてもクサイ
- アブラギッてる
- 神々しい
- 弾ける
- とても美味しい
- 生きている
また、次のような直接的または錬金素材の効果と同様な名称のもの
- 打撃ダメージ・弱
- HP回復・超大
- 素早さアップ・中
- 気付かれ難い
これらの特性や効能といったものが別途付加されていれば、錬金が捗るかなと思います。
錬金素材にただ付加するのであれば、新たな効果の作成と同じようにマジックエフェクトで実現させればよいかもしれませんが、それとは別扱いにしたいのです。
ただし、どのようにこれらをアイテムに持たせるのか。実現方法に悩んでいます。
錬金素材採取時にランダムな特性や効能を付加する
素材を採取した際に、ランダムに特性や効能を付加することができれば、素材集めもさらに楽しくなります。
実現可能かすら今のところわかりません。
錬金素材の効果をランダムに書き換えるジェネレーターを用意する
錬金術初期段階は効果がわからないため、多めにとった素材は、適当に組み合わせたり、3つ目に指定して、さらに重複されるかを調べていくことで、少しずつ効果を知るようにしたりするかと思います。
ポーションを作った際、新たな効果を知ると結構うれしいものです。
この感覚。バニラの素材の効果を知り尽くしてしまうともう味わうことはありません。
バニラ素材の効果を書き換えているModや新たな素材を追加するModの導入で再びそのように楽しむ機会ができますが、いっそのこと、ランダムに書き換えてしまうのも手かと思います。
専用のツールとして用意して、espファイルを書き換えられるようにすれば、自分の環境専用の錬金素材ワールドが造れるようになるかと思います。
錬金素材の効果部分は所詮データなので、ジェネレーターを作ってしまえば実現可能だとは思います。
データ仕様を把握しないと作れないのでまだ先でしょうか。
他のModとの競合を避けるために、他のModを含めたすべての錬金素材をマージできるようにする
錬金Modを色々と入れると競合でその錬金Modの色があせてしまうかと思います。
折角なら、それぞれの錬金Modで作成されたものをすべてワールド内で利用できるように、競合したものを別素材として分けるようにすれば、様々な錬金素材を利用できるようになるかと思います。
ジェネレーターが作れるほどデータ仕様に詳しくなれれば、ロードオーダーに基づいてそれぞれのModの錬金素材の競合する素材を新規素材として作成すれば実現可能かと思います。
レベルドリストなどにも手を加える必要があるのかと思いますので、ツール作成の難易度はかなり高めになるので当分先でしょうか。
おまかせ錬金鍋で自動で錬金する
鍋に手持ちのすべての材料をぶち込むと、効果がよりよい形で自動的にポーションなりを生成してくれれば、普段錬金をしないプレイヤーも、ただ鍋に素材を入れればポーションが出来上がるため、冒険が捗ると思います。
オートポーションなModなどを導入や、錬金素材以外での素材での錬金を実現していれば、冒険中ともかく拾えるものは拾って、冒険から帰ってきたら素材を鍋にぶちこみ、できあがったポーションでまた次の冒険へと出かけるといったプレイが可能になるかなと思います。
よりよい形というのを考えず、何か入れたら何かが出来るという完全ランダム的なもの、あるいは、とりあえずヘルスポーションが欲しい場合、入れた素材の金額などの価値に応じてポーションを作るといったものであれば簡単に出来そうです。
何から始めていくか
まだPapyrusの知識不足のため、とりあえず、出来そうな動きを試しつつ進めています。
とりあえず、比較的難易度が低く面白そうなものが出来そうな「おまかせ錬金鍋で自動で錬金する」に着手しています。
バニラの「鍋」をコピーした雰囲気オブジェクトの「錬金術の鍋」をスニーク状態で置くと、コンテナとしての「錬金術の鍋」として配置し、コンテナを閉じた際に、中身のアイテムを、適当なバニラにある標準のポーションに置き換えるといった感じのものです。