スカイリムのローグライクダンジョン MOD 製作に挑む。

最近、Papyrus という言語にはまっています。Papyrus という言語、聞いたことがあるでしょうか?

マイナーな言語だと思います。汎用言語ではないからです。

Papyrus は Bethesda Softworks という海外のゲームソフトウェア会社が開発したゲーム 「The Elder Scrolls V, Skyrim」 の開発キット(通称 Creation Kit = CK)で使われているゲーム操作専用スクリプト言語です。

もちろん、ゲームを起動させないことには動かすこともできません。

上の画像はスカイリムの一部です。ドラゴンと戦う様はとてもカッコイイでしょう?ものすごく面白いです!お勧めです。

スカイリムの遊び方についてまとめたページがあるのでそちらを参考に遊んでみてはいかがでしょうか?

最近、ゲームの世界では MOD(モッド)と呼ばれる、 元々のゲームを拡張修正するプログラム(もしくはリソースのみの場合も含む、例えば装備のデザインなど)が多く出回っています。

その MOD を作る際に使うことができる言語の1つが Papyrus なのです。

スカイリムは「The Elder Scrolls」というシリーズの1つです。 「The Elder Scrolls」は日本語で「古い巻物」のことを言います。それになぞらえて昔の紙である「パピルス」を言語の名前として採用しているのはなかなかおしゃれではないでしょうか?

というわけで、スカイリムはゲームとしての楽しさはもちろんのこと、プログラミングまで楽しめちゃうゲームなのです。

プログラミングが好きであれば一石二鳥のゲームだと思います。


そこで今作ろうとしているのが「ローグライクダンジョン MOD」です。

日本の「ローグライク」ゲームの代表格といえばチュンソフトの「トルネコの大冒険」であり「風来のシレン」です。タイトルを聞けばどんなものかわかると思います。

2大タイトルのどちらも僕は大好きです!!!

過去、真似たものを作ろうとしたことがありましたが、プログラミングはできてもグラフィックのデザインができない僕はダンジョン生成までで断念しました。

しかし、スカイリムには全てが揃っています。そこでやってみようと思ったのです。始めたのは半月ほど前です。

まずは自動生成迷路をダンジョンとしてスカイリムの世界に設置するところから始めました。これは意外とすぐにできました。

これを元にできるという手応えを受けて、今、部屋の生成と設置までできるようになりました。通路の生成がこれからです。

その後は敵のランダム配置および徘徊を実装していこうと思っています。おもしろいです!

当初、Papyrus のスピードの遅さに耐えかねて SKSE や ScriptDragon に移行しようかと思ったのですが、非常に難しいです。しかし、工夫を重ねるとスピードの遅さに対処する方法が見つかりました。

本 MOD を作るに辺り、色々とサンプルを作ることがあります。その際は以下のサイトに記事を載せますので参考にして下さい(管理人了承済み)。

ちなみに同じくローグライクダンジョン MOD を作ろうと考えている人/実際にやっている人は結構いるのではないかと思っています。

お互いにがんばりましょう。そして、仲良くやって行きましょう。

実現するにあたっての課題と考えている対応方法を書いておきます。

  • ナビメッシュの自動生成をする方法がないため、敵をダンジョン内に適切に動かすのが難しい。

ナビメッシュは事前にダンジョン全域に張り巡らせてしまおうと思っています。その弊害は、敵が壁を認識してくれなくなってしまうことです。

しかし、敵はマーカーなどを使ってダンジョン内を徘徊させる予定です(wiki に誘導方法記載済み)。

すると敵が実際に自由に動く時というのは戦闘時のみということになるため、この対処で行けると考えています。

以上。