スマートフォン向けゲーム「FINAL FANTASY Record Keeper」(以下FFRK)をプレイしています。
2018年5月より、AndApp版が配信開始されてPCでもプレイできるようになりましたが、私の環境では次のようなエラーが出て起動できず。
「OpenGLのバージョンが古いからグラフィックドライバの更新をしてね」とのこと。
opengl_version_too_old

私のPCのグラフィックドライバはIntel HD Graphics 3000(バージョン9.17.10.4459)を使用。
Intelのサポートを見るとOpenGL 3.1の模様。
念の為、OpenGLのバージョンを確認できるサードパーティのソフトウェア(今回はGPU Caps Viewerを使用)で確認してみるも、やはりOpen GL 3.1が入っている模様。
GPU_version

つまり、ハードウェア上は対応しているのにFFRK側が誤認識している?
このままではPCでFFRKをプレイできず困ってしまうので修正してみることにする。
※以下の手順を実行すると最悪の場合アカウントをBANされる可能性もあると思います。使用する際は自己責任でお願いします。


修正に当たって参考にしたところ
https://forums.intel.com/s/question/0D50P0000490V76SAE/i-need-opengl-for-hd-graphics-3000-under-win10?language=en_US
Planescapeというゲームをプレイしている人が同じ現象になってたみたい。
https://www.youtube.com/watch?v=Yqe5cgthZH4
上記のフォーラムで解決案として提示された動画のYouTube版。動画内ではJavaを修正しているみたい。


修正方法
その1:AndAppのインストール、FFRKのインストール
FFRKの実行ファイルを修正したいので、まずはこの作業をして自分のPC内にファイルを置くこと。
AndAppのWebサイトからAndAppをダウンロード・インストール後、起動したAndAppからFFRKをインストールする。
この記事の一番最初の画像(OpenGL version too old)のエラーが出るまで済ませればOK。

その2:Windows ADKのダウンロード・インストール
MicrosoftのWebサイトからWindows ADKをダウンロードする。
私の環境はWindows10のver1809なので最新のものをダウンロードしたけれど、利用している環境によってはページ下部のOther ADK downloadsからダウンロードした方が良いかも。
ダウンロードしたadksetup.exeを実行してインストールする。基本的にデフォルトの設定のままでOK。匿名の使用状況データの送信ぐらいはオフにするべきか。
使用許諾に同意後、インストールしたい機能を聞かれるのでアプリケーション互換性ツールのチェックを入れる。それ以外のチェックは外してOK。
ADK_install

3:Compatibility Administrator(32bit)の起動
スタートメニューにWindows Kitsフォルダが出来ているはずなので、そこからCompatibility Administrator(32bit)を管理者として実行する。
使用しているPCのアーキテクチャに関わらず、FFRKが32bitのためこちらを選ぶ。64bitを選択すると以降の工程の途中でエラーが出るので注意。

4:Compatibility Administrator(32bit)の実行
4-1:
左側のツリーで「New Database(1)[Untitled_1]」が選択されている状態で上部ツールバーのFix(歯車のマーク)をクリック。
Name of the program to be Fixedに「FFRK」(適当でもOK)
Name of the vendor for this programに「DeNA」(適当でもOK)
Program file locationにFFRKの実行ファイル(以下のアドレス)を選択する。
C:\Users\<ユーザー名>\AppData\Roaming\AndApp\Apps\5675552572702720\Payload\FFRK.exe
ユーザー名は環境に合わせて適宜置き換えること。
ユーザーフォルダにあるAppDataフォルダは隠しファイル属性になっているため、先にエクスプローラーの表示オプションを変更して見えるようにしておかないと表示されないかも。
Appsフォルダ内にはFFRKのみインストールした状態だとフォルダが一つしかないためわかりやすいが、他のAndAppゲームをインストールしている場合はわかりにくいかも。
数字が羅列されたフォルダは人によって変わるかもしれないので注意。わからなければコルタナなどでPC内をFFRK.exeで検索するれば良さげ。
次の画像のようになったら次へをクリック。
Program_Information

4-2:
Compatibility Modesは何も選択しないでそのまま次へをクリック。

4-3:
Compatibility FixesではWin81RTMVersionLieにチェックを入れて、選択されている状態のまま上部のParametersをクリック。
Command lineは空白のまま、Module nameに「ig4icd32.dll」と入力し、Includeにチェックが入ったままAddをクリック。
次の画像のようになっていればOKをクリック。
Compatibility_Fixes_parameters
Compatibility Fixesが次の画像のようになっていれば次へをクリック。
Compatibility_Fixes

4-4:
Matching Informationは何もせずにそのまま完了をクリック。

4-5:
上部ツールバーのSave(フロッピーのマーク)をクリック。
Database Nameを「FFRK_OpenGL」としてOKをクリック。
sdbファイルの保存先を聞かれので適当な名前と場所に保存。
ここまでで次の画像のようになっていれば大丈夫。
モザイク部分にはsdbファイルの保存先アドレスが書かれています。
sdb_LeftTree
左側ツリーのFFRK_OpenGL[保存場所]を右クリックしてInstall
FFRK_OpenGL_Installed
OKをクリックした後はCompatibility Administratorを閉じて大丈夫です。

5:FFRKの起動確認
AndAppを起動して、そこからFFRKを起動してみる。
ここまで手順を間違えていなれば無事に起動するはず。
起動しないなら…たぶんどこか間違っているのでやり直ししてください。

6:不要なものを削除
「設定」→「アプリ」→「アプリと機能」から「Windowsアセスメント&デプロイメントキット」はアンインストール。
手順4-5で作成したsdbファイルも削除して大丈夫。
もしもAndApp(とFFRK)の再インストールをする予定があるならば両方とも残しておくと便利かも。

7:補足
「アプリと機能」の一覧に4-5で作成した「FFRK_OpenGL」があるはずですが、これは残しておくこと。
AndAppをもうプレイしないな…となったらアンインストール。


以上!

追記----
この記事で使用している「ig4icd32.dll」モジュールはIntel内蔵グラフィックスに関係するものです。
つまり、この記事はIntel製のグラフィックドライバ(Intel HD Graphicsシリーズ)でFFRKを動かそうとしている人にしか意味がないものだと考えられます。
GeForceやRadeonなどのグラフィックボードを使用しているのにOpenGLに関するエラーが出る場合は、この記事とは別の要因が考えられるので注意してください。
(まぁ、このエラーがどういったPCを利用している人に出ているのかわからないので一概にはなんとも言えませんが…。)
----追記終了