よこやま日記・技術/ガジェット編

@hiroyky IT系エンジニアのまったりブログ

Steam版ファイナルファンタジー13-2を遊ぶためにやったこと(クラッシュ・FPS安定対策)

久々の更新ですが、今回はSteamで購入したファイナルファンタジー13-2(FF13-2)を最近のWindowsパソコンで遊ぶ上で設定したことを忘備録としてまとめたいと思います。

FF13-2を遊ぶ上で次の問題に遭遇しました。

  1. ゲーム開始時にセーブデータを保存するとクラッシュする。
  2. ゲーム開始直後、特定の場面でクラッシュする。
  3. フレームレート(fps)が安定しない。

これらの問題に対して行ったことを書きます。なお、当然ながらこの操作をやったから確実に直る保証はありませんし、自己責任でお願いします。

使用環境

私がプレイしているパソコンスペックです。結論から言うとFF13-2をプレイする上では充分すぎる環境です。

  • OS: Windows11
  • CPU: AMD Ryzen 9 5900X 12-Core
  • メモリ: 64GB
  • グラフィックボード: GeForce RTX 3080

対処したこと

1. ゲーム開始時にセーブデータを保存するとクラッシュする。

複数の方が遭遇しているようです。Steamのセーブデータのクラウドバックアップをオフにすることで改善しました。 Steamのライブラリで所有しているソフトウェア一覧のFF13-2上で右クリック→プロパティ→一般→「SteamクラウドにファイナルファンタジーXIII-2のセーブデータを保存」をオフにします。

2. ゲーム開始直後、特定の場面でクラッシュする。

ゲームの特定の画面でクラッシュしました。4GB PatchというアプリケーションでFF13-2の実行ファイルを書きかえることで改善しました。 4GB Patchをダウンロードして開きます(管理者権限が必要です)。

4GB Patchを開くとファイル選択ダイアログが現れるのでFF13-2の実行ファイルを指定します。 Steamライブラリのあるフォルダは適宜置き換えてください。

F:\SteamLibrary\steamapps\common\FINAL FANTASY XIII-2\alba_data\prog\win\bin\ffxiii2img.exe

そして、ffxiii2img.exeを書き換えます。

これは何をしているか?

おそらくLARGEADDRESSAWARE(Large Address Aware)フラグを追加しているかと思います。

Windows版のFF13-2は32bitアプリケーションとしてビルドされているようです。

通常32bitアプリケーションは2GB以上のメモリが割り当てられません。 32bitのWindowsは1つのアプリケーションに割り当てるメモリの上限が2GBであったためです。当時としては2GB上限でも充分でした。 (32bit Windows自体が搭載できるメモリの最大が4GBという時代でしたからね。)

しかしながらFF13-2を4Kなど高解像度設定で遊ぶ場合は、2GB以上のメモリ割り当てを要求します。ですが、Windowsはメモリが余っていても2GB以上割り当てようとはしません。 なぜなら、上限2GBを想定しているアプリケーションに2GB以上を割り当てると想定外の不具合が起こるかもしれないからです。

Windowsに2GB以上のメモリを割り当ててもらうには、アプリケーション自体が上記のLARGEADDRESSAWAREフラグを宣言して、「このアプリケーションに2GB以上割り当てても大丈夫ですよ。」と伝える必要があります。 おそらくFF13-2ではLARGEADDRESSAWAREフラグが付いていないため、2GB以上を要求したタイミングでクラッシュしていたのではないかと思います。4GB PatchでLARGEADDRESSAWAREフラグを付けて2GB以上のメモリを割り当ててもらえるようにしているのではなかと思います。

(たぶん)

3. フレームレート(fps)が安定しない。

こればかりは謎だったのですが次の設定をしたら改善しました(改善したような気がします)。 NVIDIAコントロールパネルを開いて、「3D設定の管理」→プログラム設定で追加ボタンを押してFF13-2の実行ファイルを選びます。 Steamライブラリのあるフォルダは適宜置き換えてください。

F:\SteamLibrary\steamapps\common\FINAL FANTASY XIII-2\alba_data\prog\win\bin\ffxiii2img.exe

そして、

  • 垂直同期: オン
  • 最大フレームレートを60fps
  • 電源管理モード: パフォーマンス最大化を優先

にしました。

それでもゲームがクラッシュしたら

上記の設定でも、FF13-2の新都アカデミア AF4XX年という場所ではクラッシュが頻発してしまいました。そこで、解像度の4K出力をあきらめてFullHD(1920x1080)にしまいした。残念。

Slackリアクション(スタンプ)集計ランキングボットを作った

Slackのリアクションを軸に社内交流できないか?

こんにちは。在宅勤務が続くこの頃です。

職場などのコミュニケーションは、専らSlackなどのチャットツールやZOOMなどのビデオ会議ばかりになって来ました。

ここで気になるのは職場などで何気ない雑談に出会えないことです。通路を歩いていたら何気なく聞こえてきた興味ありげな話題に参加して盛り上がったり、新しいアイデアが生まれたり、新しい友人ができたりです。

例えば、違う部署のSlackチャンネルを見る機会は少ないので、固定のメンバーでの会話ばかりになっていそうです。

今、他の部署ではどんな会話が話題になっているのか、オフィスの通路で何気なく耳にするように覗けたらいいなぁ。。そんな風に思いました。

そこでSlackボットを作ってみました。(ボットと言うよりバッチ処理っぽいですが。)

Slackの注目発言をランキング形式で集計するボット

Slackではリアクション(もしくはスタンプとも呼ばれる?)で返信を行うことができます。1クリックでいろんな回答ができて簡単だけど円滑なコミュニケーションを促してくれます。

f:id:hiroyky:20200513013300p:plain
Slackのリアクション

リアクションがたくさん付いた発言 = 話題になっていること

と仮定して、リアクションがたくさん付いた発言をチャンネルを横断して集計してランキングにして紹介するボットを作ってみました。指定した期間(過去1日前から8日前など)でリアクションの付いた発言上位何十件かを探してきてボットが報告します。

対象となるのは次のもの

  • 公開チャンネルの発言(DM/プライベートチャンネルは含まない)
  • ボットの発言は除く(人が発信した物に限る)

それがこちら。 github.com

現時点ではSlackのAppディレクトリ(アプリストア)に登録申請を行っていないため、開発用に登録して実行する必要があります。(登録申請するかどうかは未定)

設定ファイルに記載した範囲の日数・件数でリアクションの多い発言をチャンネル横断して探してきて、指定されたチャンネルに報告します。

これで、普段は見ない他部署チャンネルで話題になっていることとかなどが交流できたら良いなぁ。。

流れ

  1. 公開チャンネル一覧の取得
  2. 本ボットが参加していないチャンネルがあれば参加
  3. 指定された期間の発言を全件走査しながらリアクション数集計
  4. 結果を特定のチャンネルに投稿

(Appディレクトリ(アプリストア)に申請してない理由)

SlackのAppStoreにごめんなさい、まず面倒くさいというのがあります。 趣味開発から始まったため、加えてインフラの維持コストを払いたくないというのがあります。

特に、集計には時間がかかるためAWS Lambdaのようなサービスが使えないという理由もあります。情報取得のためのAPIリクエストでリクエスト上限に達しないようにするため遅延を設けてあり時間がかかるためです。。

HHKB Professional Hybrid買ったよ.

以前の記事にHHKB Bluetooth 2台目を買った. - よこやま日記とHHKB Professional Bluetoothを2台も買ったと書きました. 2台というのは職場用と自宅用.

PFU HHKB Professional HYBRID Type-S 英語配列/墨、キーボードルーフ(スモーク)付 PD-KB800BS-KBRFHHB

今回,新型HHKBが発売されたということで改めて購入しました.

↑ちなみに,今時点では未開封で,外に出てるHHKBは旧Bluetoothモデルです.(あとアップル・キーボードもでてる)

即決で購入した点は以下の新機能のメリットが大きいから.

  • 複数台機器に接続できて,キーボード上から切り替えができる.
  • USBケーブルの有線接続もできる

むしろなんで旧Bluetoothモデルはできなかったんだ!って感じですが,これに対応したのが購入の理由です.

これまでこんなシチュエーションに悩まされました.

複数台ペアリングした状態で目的の機器に切り替えられませんでした. だから,切り替えたいときは,使わない端末のBluetoothを一時的にオフにして,使いたい機器だけオンにしてました. これが結構めんどくさかったです.

USBケーブル接続できないので,セットアップ前のマシンやOS起動前のマシンでは一切使えなかったです. BIOSなどを設定したり,OSの新規インストールするときは普段使っていないキーボードを出してきて使っていました. これが,これが結構面倒くさい.

もう一つはBluetoothの接続に障害が発生したときに詰むという問題でした. Bluetoothは有線と違うので,時々通信が途切れてしまうことがありえます. デスクトップPCでキーボードも無線,マウスも無線だとパソコンを一切操作できなくなってしまい詰むのです. OSがクラッシュしたのか!?と焦ったときに,別の有線キーボード接続したら普通に動いていたか.. こういった場合に,別途有線キーボードを用意しておく必要があるのは億劫でした.

新モデルではこうした課題をすべて解決してくれるようになったのでサッと買い替えました.

ところで打鍵感ですが,これまで使っていたHHKB Professional Bluetoothと比べて,HHKB Professional Hybridは軽くなった気がします. これはすぐに慣れるかなぁと思います.

「よこやま写真館」を開設.撮影写真を投稿予定.Nuxt.jsでSSR

よこやま写真館

サイト開設

よこやま写真館という個人サイトを開設しました.

f:id:hiroyky:20190716030113p:plain

サイト開設の背景

ちょっと前にソニーのミラーレスカメラ α7iiiを購入しました.購入を機会に休日等にでかけて撮影を楽しむようになりました. 写真って現実を写すけど,テクニックでそれ以上の絵ができて素晴らしいですね!っと初心者ながら楽しんでいます. 初心者ですが,せっかく撮影した写真なので外部にアウトプットしたいと思いました.写真は個人のインスタグラムなどに投稿していました. しかし,せっかくなので専用の個人サイトを作って発信したいなぁと考えました.

お願い

サイト作ったので時々でいいので見てくださいmm

オーバーエンジニアリング

よこやま写真館では自分の勉強と調査と趣味を兼ねてかなりオーバーエンジニアリングな構成を取りました.単なる静的サイトではありません.技術的特徴は以下の通り

コンポーネント図を描くと以下の構成になります.

f:id:hiroyky:20190716025739p:plain

Nuxt.jsをSSRモードでLambdaで動かすに当たりいくつかハマりポイントがあったのでおいおいQiitaあたりに書いていこうと思います.

Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発

Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発

Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド

Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド

HHKB Bluetooth 2台目を買った.

Happy Hacking Keyboard Bluetooth

Happy Hacking Keyboard Bluetooth(HHKB BT)を購入しました. これ,初回ではなく二台目.自宅と職場を毎日リュックサックに入れて持ち運んでいたのですが, 流石にツラくなってきたので思い切って2台目を購入しました.

購入したのは英字 墨色モデル

PFU Happy Hacking Keyboard Professional BT 英語配列/墨 PD-KB600B PFU Happy Hacking Keyboard Professional BT 日本語配列/墨 PD-KB620B

外観とか

f:id:hiroyky:20181226005242j:plain

設定

キーボードの設定を下記写真のような6つのスイッチで設定します. Windows, mac療法で使う自分にとってこれが最適解,多分. f:id:hiroyky:20181226005236j:plain

PFU Happy Hacking Keyboard Professional BT 英語配列/白 PD-KB600W

PFU Happy Hacking Keyboard Professional BT 英語配列/白 PD-KB600W

PFU Happy Hacking Keyboard Professional BT 無刻印/白 PD-KB600WN

PFU Happy Hacking Keyboard Professional BT 無刻印/白 PD-KB600WN

Alexaスキルアワード公式ハッカソンに参加した

Alexaスキルアワード公式ハッカソン

2018年7月29日開催のAlexaスキルアワード公式ハッカソン 東京に参加しました.参加した皆さんお疲れ様でした.

Alexaスキルアワード2018公式ハッカソン東京0729

台風の影響で土日二日間の開催が日曜のみの開催になりました. 1日のみで開発時間が5時間のハッカソンとなり,短時間で濃厚でした.

東急ハンズ賞いただきました.

つくったもの

ホテルの部屋でAmazo echoを使ってチェックアウトします.その時に一緒に宿泊者にアンケートをとるスキルを作りました. 今後,ホテルの一室に一台のAmazon echoなどのスマートスピーカが設置してあり,チェックアウトやルームサービスの窓口になってくれるといいですよね.

また,チェックアウトのときに,自然にアンケート内容を聞くことで,宿泊者は手を煩わせることなく回答できます.


【作ってみた】アレクサでホテルのチェックアウト,宿泊者にアンケートをとるスキル

構成

f:id:hiroyky:20180730233817p:plain

構成はいたってシンプルです.AlexaがLamdaをトリガすると,お礼とアンケートを話します.宿泊者の回答をバックエンドのDynamoDBに記録します. ホテルの従業員が今日の結果を聞いたときは,DynamoDBを参照して,統計データ(?)を話します.

ソースコード

当日チームで実装したGithubにアップロードしました.

github.com

まとめ

ハッカソンにてホテルのチェックアウト時にアンケートスキルを作りました.

Macbook Pro 2018 購入した.Windowsからまた戻ってきた

macbook pro 2018

新しいノートパソコンを新調しました.先日発表されたmacbook pro2018です. 15インチのmacbook proです.

f:id:hiroyky:20180721202109j:plain

CPU: 第8世代 Core i7 2.2Ghz 6コア
メモリ: DDR4 32GB
SSD: 512GB
GPU: Radeon Pro 555X 4096 MB
キーボード: 英字

macbookにした理由

自分,わりとWindows, macどちらでもいい人です.仕事ではずっとmacで開発を行っていますが,自宅はWindows(もしくはUbuntu)な人です.これまでノートパソコンはmacbookとThinkpad行き来していました.

完全に,macはUNIXとして利用しています.

1. WSLの微妙な動作の遅さが逐次気になる.(微妙に遅いんですよ.)

WSL使っている方,微妙な動作の遅さが気になりませんか? 演算が遅いというよりはコマンドを入力してから実行のレスポンスが体感的に遅く感じる.

2. WSLを利用しても,Windows側でもSDKのセットアップが必要になる(後述)

WSLでWindowsマシンをLinuxマシンのように利用できます. しかしながら,いざ開発するとなるとVisual Studio Codeのプラグインを動かすためにはnodejsやらPHPの実行環境が Windows側にインストールされている必要があり,セットアップを2回しなければならない.当然,容量も2倍必要になる.

ちなみに,このあたりいい感じに解決する方法があったら教えていただきたいと思います.

3. Ubuntuなど通常にLinuxにすると不必要なところで苦労する(グラフィックドライバがおかしいとか)

じゃあ,素のLinuxを使えばいいじゃないか!となります.自分もUbuntuであったり,以前はGentooLinuxをセットアップしたこともあります.Linuxもとても使いやすいですよね. しかしながらコレ.苦労するんです.スリープからの復帰でマシンがクラッシュしたり,ノートPCをプロジェクタなど外部ディスプレイに接続したらグラフィックが落ちたりとか... あと,開発時だけならOKでも遊びに使うとなると厳しい部分あります.著作権保護のある動画を楽しんだりするなど..

4. emacs風なカーソル移動がしたい

一番の理由はコレかも.emacsは使います.そしてmacっていろんな箇所でemacs風のカーソル移動ができますよね. お仕事でmac使っているため,コレを多用しており,慣れすぎてしまったのです.これができないと厳しい;;

5. やっぱり安定稼働するUNIXがいい

Web系エンジニアがmac使い理由ですよね.サーバがLinuxだから手元のPCもUNIX/Linux系がいい. でも,たまにはAdobeのソフトウェアが使いたいし,ドライバ周りで苦労したくない. もちろんこのニーズを解決するためにWindowsではWSLを導入したりしてくれてるのですが,あともう人押しほしいです.

買った.

f:id:hiroyky:20180721202429j:plain f:id:hiroyky:20180721202109j:plain f:id:hiroyky:20180721202458j:plain f:id:hiroyky:20180721202734j:plain

現行macbook proへの懸念点と実際の感想

macbook自体は学生自体にmacbok airを使っていたし,職場でもmabook pro 2015を使っています. しかし,macbook proの2016年以降のモデルは懸念だらけだったので躊躇してました. あるあるですが,以下がその懸念点と実際に触った感想を挙げます.

1. USB TypeCだけ

イヤフォンジャックを除けばUSB Type-Cだけになりましたよね.その分,薄さを実現できたのでしょう. USB TypeCだけで不安かもしれませんが,自分はそんなに不安ではありませんでした. 少し調べるだけでも変換器はたくさんあります.薄さのメリットのほうが大きい. 自分は併せて下記も購入しました.便利そうです!

2. タッチバー

言わずとしれたタッチバーです.戸惑っているとも多いと思います. タッチバーなしのモデルもありますが,”つなぎ”で出しているだけであまりやる気ないようですよね. 今回の2018年モデルではアップグレードされなかったようです.

YoutubeでYoutuberの方々がタッチバーが便利ということ言っていらっしゃいました. そりゃ動画や画像編集などマルチメディア系だったら便利かなぁとは思います. 世の中の果たしてエンジニアはどう思っているのか..(周囲の人からはあまり歓迎する声は聞かず..)

といっても,積極的に利用することはないかもしれませんが,そこまで困ることはないかと思います. 設定で,fnキーの動作も変更できるし,fnキーを多用するアプリケーションではfnキーを常に表示するように設定できました.

f:id:hiroyky:20180721202803p:plain f:id:hiroyky:20180721202814p:plain

3. 大きすぎるトラックパッド

キーボードはいろいろあるようですが,自分が懸念した理由はコレです. トラックパッドが大きくなっていることです.

職場のmacbookやThinkpadとの比較.なんでそんなに大きい必要があるの?? f:id:hiroyky:20180721202958j:plain f:id:hiroyky:20180721203045j:plain

なんでスペースキーの列とそんなに近いんですか?手の甲で触っちゃいそうです.

Thinkpadみたいに,スペースキー直下でちょうど親指の位置に左クリック右クリックのボタンがあるの最高です!!

実際使ってみると誤入力してしまうことはほぼ無さそうです.実際,この記事を書いていますが,手の甲でマウスポインタを移動させてしまうということはありません.トラックパッドの上に手のひらが乗っていることに対する違和感は多少ありますが,実利用では問題になら無さそうです.

まとめ

新しいノートパソコンを買ったという報告と懸念していた点とそれに対する感想でした. 現状,とても満足です!!