Thinking Skeever

Skyrim/The Witcher 3 Modについてのあれこれ。FoModの作り方、Mod導入時のトラブル事例などのニッチな話を書いていきます。a.k.a. BowmoreLover@nexusmods

Nexus Modsニュース和訳:卓越した拡張機能、驚嘆すべきメニュー - expired6978のインタビュー (2018/10/12)

https://staticdelivery.nexusmods.com/images/News/13761_tile_1539335101.png

2018/10/12のNexus Modsニュース Excellent Extensions, marvellous Menus - expired6978(卓越した拡張機能、驚嘆すべきメニュー - expired6978のインタビュー)の和訳です。聞き手はBigBizkit。


卓越した拡張機能、驚嘆すべきメニュー - expired6978のインタビュー
元記事:Excellent Extensions, marvellous Menus - expired6978
投稿者:BigBizkit (コミュニティマネージャー)
投稿日:2018/10/12 (UTC)

目次



https://staticdelivery.nexusmods.com/images/News/headers/13761_head_1539334870.png

はじめに

今日はexpired6978にお話を伺った。彼はRaceMenuLooksMenuExtensible Follower Frameworkなど様々なMODの作者であるとともに、Skyrim/Falloutスクリプトエクステンダの主要な貢献者でもある。もし君がSkyrimFalloutでモッディングしているなら、expired6978のMODをいくつか導入しているはずだ。

キャラクター作成オーバーホールのRaceMenuとLooksMenu、それにFalloutSkyrim用のスクリプトエクステンダといったMOD作品で有名ですが、まずは軽く自己紹介をお願いできますか?

僕はゲーマーであり、モッダーであり、コンピューターエンジニアでもある。匿名性を維持するために名前は明かせないが、ある企業でソフトウェアエンジニアとして働いている。あれこれ試行錯誤するのが好きで、何かを分解して仕組みを把握し、本来できない何かを実現するのを好む。これこそまさにモッディングだと言う人も多いだろう。

MODの話題に入る前に、モッディングを始めたきっかけを教えていただけますか? 初めてのモッディング体験を思い出せますか?

本格的にモッディングを始めたのは14年前、Tibiaという古いゲームからだ。プライベートサーバーが流行り始めた頃で、僕が一般的なプログラミング(C++)を始めたのもこの頃だった。当時はあのゲームとプライベートサーバーで好きなことができる魅力に夢中になって、ソースコードをダウンロードして色々試したものだ。小さな編集から始めて、何を変えると何がどう変わるのか確かめたり、データベース権限を編集したり、Luaスクリプトを変更したりして全体的な構造を確かめた。1年後には様々なツールでコミュニティに貢献するだけでなく、プライベートサーバーに足りない機能やバニラのゲームに追加したい機能を実装したりもした。

www.youtube.com

その後スカイリムと出会ってモッディングの道に入った。確か、キャラクターのカスタマイズ選択肢とフォロワーの能力に全く感心できなかったのがきっかけだ。最初のMODはフォロワーの行動を微調整するもので、2つ目はExtended Slider Colors(スライダ色拡張)だった。ゲームのスライダー色はフォーム経由で新色を追加する方法しか判明していなかったから、プラグインに何千色もの色のレコードを生成するツールを作成した。ゲームが提供する範囲ではこれが限界だったので、最終的にスクリプトエクステンダ―に手を出すことになった。

RaceMenuLooksMenuSkyrim/Falloutで必携のMODで、キャラクターのカスタマイズが好きな人には欠かせないものです。こうしたキャラクター作成オーバーホールを制作したきっかけと、多くの開発を続けてこられたモチベーションについて教えてください。

自分自身キャラクターの作成に多くの時間を費やしてきたがうまくいった試しはなかったし、最初からそこに選択肢を設けたかった。元々モチベーションがある方ではなかったが、これは奇妙な例外だということが分かった。というのも、自分の考えるレベルでこれを実現できるのは自分だけだと感じたからで、大学の全学年をかけたプロジェクトとなった。大抵はコミュニティで感じた疑問から始まり、自分ならどうしたいか独断的に判断する。RaceMenuのスカルプティング機能は元々ECEにあったものだが、自分ならそれを改善できると思ったんだ。

https://staticdelivery.nexusmods.com/images/1704/64597-1537279834.jpg
https://staticdelivery.nexusmods.com/images/1704/64597-1537279921.jpg

8月の初めに待望のSkyrim SE版RaceMenuがリリースされましたが、Skyrim SEに対応する際のハードルは何でしたか? そのうち(Skyrim LE版と比較して)RaceMenu SEの機能が揃うと思いますか?

一番のハードルはSKSE64で、自分ではクリアできなかった。RaceMenuのプラグインはSKSEに含まれるデータと定義に大きく依存している。RaceMenuにはエンジンの定義がほとんどなく、カスタムコードの大半はエンジン定義の上に組み込まれている。SKSE64がほぼ移植された時点でカスタムフックを書き直し、SKSEからの移植が不完全な定義を修正する必要があった。異なるアーキテクチャを持つ2つの実行ファイルを比較することになったが、実質的には同じ機能だったので、大体等価なx64のフックを見つけることができた。2番目のハードルはメッシュ形式の変更に関するもので、それはSkyrimと初期のFallout 4のハイブリッドだった。次のハードルはスカルプティングに関するもので、多くのコードをDirectX 9から11に書き直す必要があった。どれもカスタムコードに関するもので、基本的にはワイヤーフレームを描画してメッシュと対応付けるようにした。

大きなモッディング実績にSkyrim/Fallout用のスクリプトエクステンダーに関する仕事がありますが、スクリプトエクステンダーの概要とモッディングへの恩恵について説明していただけますか?

基本的に、スクリプトエクステンダ―は実行時にゲームのコードを変更するものだ。つまり、普通のスクリプティングの範囲を大きく超えてゲームの動きを変更することができる。実際には新たなネイティブ関数を追加したりゲームのスクリプト言語に直接関数を追加したりすることから、歴史的にスクリプトエクステンダ―(スクリプト拡張)と呼ばれている。最近ではゲームの様々な側面に変更を加える独自プラグイン用のフレームワークも提供するようになった。

https://staticdelivery.nexusmods.com/images/1704/64597-1537279968.jpg
https://staticdelivery.nexusmods.com/images/1704/64597-1537279996.jpg

SKSEチームの一員になった経緯は? スクリプトエクステンダ―でのチーム開発のやり方について教えていただけますか?

ベゼスダフォーラムでプロジェクトにあまりにも多くのコードを提出していたので、チームに参加してプライベートのソース管理に直接コードを提出する方が楽だったからだ。それに、他のメンバーよりも自由な時間があったしね。普段はゆっくりと開発しているが、(ゲームの)新しいバージョンが出たときにはなるべく早くリリースするようにしている。ゲームの新しいバージョンにはちょっとした違いがあるが、ゆくゆくは基礎となるコードを良いものにするつもりだから、公開すべき機能に関連した部分だけをデコードするだけで済むようになるはずだ。

あなたのMODは他の多くの作品を実現可能にしますが、Familiar Facesの作者VerteironのMODを支援していましたね。これについて詳しく教えていただけますか?

経緯は思い出せないが「NPCにRaceMenuの見た目を適用できないか」というのが始まりだった。ゲーム内でのNPCのメッシュ/テクスチャ管理方法を調べて、NPCに対してRaceMenuプリセットを効果的に適用するための機能を追加したんだ。Familiar Facesではこの機能を使って他のプレイヤーの見た目を管理している。プレイヤーのプリセットをティントマスクテクスチャと一緒にエクスポートしてNPCにロードすると、RaceMenuはゲーム内のNPC頭部のロード機能を内部的に上書きして無効化し、新しいパラメータでのNPC生成を強制する。

https://staticdelivery.nexusmods.com/images/1704/64597-1537280278.jpg

モッディングとプログラミング以外に楽しみはありますか?

ゲーミング、ハイキング、水泳、スノーボード、たまに飲むこと。友人と一緒にボードゲームをプレイすることもある。LANパーティーを開けるほどのゲーミングPCを持つ友人は少ないから、ここ数年で数回しかやっていない。

幼い頃にプレイしたゲームのうち、今でもプレイしているものはありますか?

僕はルーンスケープTibiaメイプルストーリーアイオンWorlf of WarcraftといったMMOと一緒に育ったんだ。モッディングできないシングルプレイヤーゲームにはあまりお金を掛けない。PCでプレイできる有名タイトルなら騙されながらも大体プレイしている。ここ数年ゲーム機は持っていないが、プレイステーションは独占的に素晴らしいものを出し続けているので次世代機に手を出すかもしれない。最近リリースされた拡張のためにWorld of Warcraftに戻ったし、GTA5はまだ頻繁にプレイして最新事情をチェックしている。

あなたのキャラクター作成オーバーホール、フォロワーフレームワークスクリプトエクステンダ―への貢献は多くの人のロードオーダーに欠かせないものです。あなたの作品が何百人ものユーザーにプレイされる気分はどうですか?

謙虚に受け止めているが、仕事を探す際の履歴書になる。売り物ではないものの、みんなが望む製品を作った証明になるからね。

数年前、RedditのAMA(何でも聞いて)を読んであなたがほぼ独学でプログラミングを覚えたことを知りました。独学でコーディングスキルを高めたい人に何かアドバイスはありますか?

すぐにでも興味のある何かに取り組むこと。無理に覚えようとしたり、学習のための学習をしないこと。

あなた自身のこと、モッディング全般、将来の計画など、Nexs Modsコミュニティに言っておきたいことはありますか?

自分のスキル向上を助けてくれた方やアイデアやコードの提供を通じてMODの機能開発を支援してくれた方など、モッディングで出会った多くの人々に感謝したい。時間が経つにつれてMODに取り組む時間が減るかもしれないが、これからも中身を分解して仕組みを理解していくつもりだ。この先もずっとモッディングを続けるだろうね。Elder Scrollsシリーズの新作になるのか、Cyberpunk 2077になるのかは分からないけどね。

最後に

質問に答えてくれた expired6978 に大いなる感謝を。

紹介してほしいMOD制作者やプロジェクトがあれば、BigBizkitまたはPickysaurusまで提案してほしい。

以上


→ その他のNexus Modsニュース和訳はこちら

Copyright (C) 2015-2018 ThinkingSkeever, All Rights Reserved.
ブログの記事内に記載されているメーカー名、製品名称等は、日本及びその他の国における各企業の商標または登録商標です。
リンクはご自由に。記事の転載はご遠慮ください。記事を引用する場合はトラックバックするか元のURLを明記してください。