ゲレの工房

ゲーム好きの中の人が、自分が作りたいアプリを作る記録です

FF14雑記:暁月でテレポ代が1000ギル超えることがあるようなので、テレポ代最適化ツールを作ってみようとした試案

先日公式PLLにて、暁月パッチ、つまりFF14の6.0パッチ以降ではテレポ代の見直しが行われて、テレポの代金が1000ギルを超える地域が出てくることが公表されました。
blog.livedoor.jp

テレポ代の節約のために、「転送網利用券」や「転送網優先利用票」を入手・利用する方法などが議論されているようです。
ff14eolifessblog.info

本記事ではそれ以外の試案として、テレポを数回使うときに、よりテレポ代が少なくなるルートはどのルートか調べるツールは作れないか、というものを考えてみたいと思います。

よくある前提を考えてみる

皆さんは1回のログインで何回テレポしますか?
例えば以下のような事例が合ったとします

テレポ代問題

あなたは今日はとても疲れているとします。
あなたはFCハウス・マイハウス・シェアハウスとしてミスト・ヴィレッジ、ゴブレットビュート、ラベンダーベッドに家を持っているとします。
1日1回畑の世話をしないといけないとします。
ついでにドマ町人地でいらないアイテムを売り払ってきたいと考えています。

今あなたはリムサ・ロミンサにいます。ホームポイントもリムサ・ロミンサとします。
リムサからテレポ・デジョンだけで移動して、リムサでログアウトしたい場合、どのようなルートでテレポするのがテレポ代が安く済むでしょうか
テレポ無料エーテライトとテレポ代半額エーテライトのことは考えないこととします。

この問題は「巡回セールスマン問題」の1つ

この話は読み飛ばしていただいて構いません。
とてもむずかしい問題だと知っていただければ、それで良いです。

情報科学や数学の分野で聞いたことがある人も多いかと思われる「巡回セールスマン問題」
簡単に言うと、テレポする必要がある場所が増えるたびに指数関数的に問題が複雑になるという問題です。
巡回セールスマン問題 - Wikipedia

テレポ代問題を解くサポートをするツールを作ってみたい

このテレポ代問題を毎回プレイヤーが考えるのは非常に面倒で、何かサポートできるツールがあったほうがいいんじゃないかなと思います。
前述の通り難しい問題なのですが、プログラムで解くだけならテレポする場所が数箇所ぐらいなら比較的すぐ解ける問題だと思います。
(いわゆる動的計画法を用いたアルゴリズムを実装しても良いのですが、多分そこまで実装しなくても・・・)

でも、6.0のテレポ代は今(漆黒現在)はわからないんじゃ?

まぁわからないですね。
しかし、5.5現在のテレポ代のリストは作れるはずです。
現在のテレポ代のリストさえ作れれば、ツールの素体は作れるはずという話です。

漆黒時点でのテレポ代

5.5現在のテレポ代のリストを作り始めました

まだ2021/09/19時点では作成終わっていませんが、こちらのリンクで作成中です。
(追記 2021/09/22 一通り書き切りました)
docs.google.com


(追記 2021/09/22 CSV化しました。おそらくツールにはこちらのファイルを組み込むことになると思います。)
FF14 テレポ代 2021_09_19 (漆黒の時点) .csv - Google ドライブ

追記 2021/09/25 CSVの方は少し古いデータで、エラーが混ざっていました。

ツールの仕様案

  • スプレッドシートで作ったテレポ代リストをcsv形式でアプリに読み込ませる。
  • ラジオボタンで開始地点と終点を設定。場所はエーテライト場所で表現。
  • チェックボックスでテレポ代半額エーテライト・テレポ代無料エーテライト・ホームポイントを選べるように。
  • デジョンは1回or0回利用を選べるように。
  • 立ち寄りたいエーテライトをチェックボックスで選べるように。ただし多すぎると処理が止まるので、最初は5箇所ぐらいのルートを考える予定。
  • 開始地点+終点*立ち寄るエーテライト+ホームポイントによるルートの組み合わせをテストする。ただしホームポイントは必ずしも立ち寄る必要はない。
  • 一番安いルートを表示。

ぐらいかなと考えています。
ちょくちょく時間を見つけてリスト作り、ツール作りしてみたいと思いますのでよろしくお願いします。


広告