FM TOWNSに3D FPS「Quake」を移植した話

FM TOWNS界が震撼(Quake)する。

というわけで1989年に発売された富士通のパソコン「FM TOWNS」に1996年にid Softwareから発売された3D FPSQuake」を移植してみました。

これで「DOOM」「Wolfenstein 3D」とid SoftwareクラシックFPS 3部作はすべてFM TOWNSに移植できたことになる。PC-98版は公式でDOOMとWolfenstein 3Dが出たがQuakeは発売されず、X68000DOOMしか非公式移植されていない。つまりFM TOWNSの勝ちである(意味不明)。

要FPU内蔵のCPU・メモリ16MB・ハイレゾPCM、機種で言うとFM TOWNS II MXで俗にいう白TOWNSが最低動作環境、動作の重さも相まってできればFSB 66MHz改造とCPU換装(133MHz駆動以上)を行ったFM TOWNS II HB・HCを推奨。

※追記:実機MA・CPU 5x86、HC・CPU Pentium 90MHzおよびODP 180MHzでの動作報告あり。

FM TOWNSエミュレータでは80387オプションを設定した津軽(v20240223以降)でしか動きません。「うんづ」はFPUが実装されていないため起動不可

実行ファイルとソースコードのダウンロード先(Github)

シェアウェア(体験)版か製品版のpak0.pak・pak1.pakをid1フォルダに置き、実行ファイル(QUAKE.EXP)を起動させれば遊べます。

製品版はSteamやGOGで購入可能。シェアウェア版はSDLQuakeのサイトにある(Shareware Dataというのがそれ)ようなのでそこからダウンロードしてきてください。

 

DOOMの時と同じくTownsOS用のアイコン(QUAKE.ICN)も作成

 

FM TOWNSエミュレータ津軽」(FREQ 66設定)での動作映像

 

以下はFM TOWNS版の現時点での仕様

  • フレームレートは486 66MHz(TOWNS II MX)で約4fps。ゲームになりません!
  • ソースコードはすべてC言語。オリジナル版は描画部分をアセンブラでやっていて同じ486 66MHzで約6~7fps出ているようなのでやはり速度的に不利。
  • 画面解像度は320*240のみ。プログラム的には640*480画面も用意しているが現状でも重すぎるので設定できないようになっている。
  • 効果音こそ鳴るものの処理落ちしまくっている関係と、プログラム的には大雑把な再生位置しか取得していない関係で音割れが発生。
  • CD音源による音楽再生は非対応。
  • マウスルック対応。
  • ネットワーク対戦非対応。
  • ゲームに付属されているデモの再生と実ゲームで1ステージのクリアまでは確認したが、フレームレートが出なくて続けるのが難しくそれ以上は試せていない。

 

話は変わり、なんでこんなものを作ってしまったかというと事の発端はFM TOWNSエミュレータ津軽」がFM TOWNSWindows 95を動かせるようになったこと。

TOWNS版Win95の動作検証でWinQuakeを動かせないか試すと、未実装のFPU命令があったがそれらを自分で追加して動かしてみたところ、キーボードが反応しなかったり動作速度が遅すぎるといった問題はあるにしろ描画やデモの再生は問題なく行えることが確認できた。

そしてWindows 95版とはいえTOWNS上、エミュレータ上で動かせるなら「もしかしたら・・・いや、もしかしなくてもFM TOWNS OSネイティブで動くQuakeが作れるんじゃ?」とまたどうしようもない魔が差してしまい移植作業開始。2月の終わりごろに初めてこの記事を書いている昨日(3月10日)完成。作業時間2週間。まあ殆どフレームバッファ先のメモリを確保していなかったとかいうしょうもないバグ(グラフィックが問題なく表示されてたのに不具合が出るのはデモ再生と音周りなんで気づかなかった)に悩まされてただけなんで、それ無かったら1週間で終わってたかもしれない。

FM TOWNS 誕生35周年には間に合わなかったけど、そのお祝いも込めて。

 

やけに移植期間短いな、と思われるかもしれないが、FM TOWNSのプログラムを何度かやって流石にノウハウを積んできているのと、ソースコードのi_*.cというファイル名のコードだけ修正すればその機種用の「DOOM」が作れた時と同じく、実はQuakeも末尾に機種名が書かれたファイルを弄るだけでその機種用のQuakeが作れる

具体的に言うと「sys_***.c」「vid_***.c」「in_***.c」「snd_***.c」「net_***.c」「cd_***.c」という6ファイルのみWinQuakeのソースコードにはWindowsだけじゃなく元のDOS版やLinux版まであり、更に空関数で記載されて新たに記述しやすい「***_null.c」というものまである。マジかよ。

1996年のゲームでこんなに移植しやすいはずなのに、デジカメや電動歯ブラシにまで勝手移植版が作られるDOOMと違いそこまで流行らないのは、やはり動作環境が高すぎ(FPUが組み込まれたCPUと10MB以上のメモリ)で組み込み系のマシンに移植するには荷が重すぎるのが原因なんでしょうね。皆で流行らせよう、Quake勝手移植。

今まで移植してこなかったのはちゃんとQuakeソースコードを確認しなかった、津軽エミュレータのFPU実装がどこまで正確かわからないのでバグが出ても原因究明が難しくなる(WinQuakeが問題なく動いてるので動作に必要なFPU命令は実装できていることが確認できた)、移植できても遊べるレベルのフレームレートが出ないとわかりきっていたので優先度が低かったからですね。

 

FM TOWNSQuakeとはちょっとズレますが、時間計測にはVsync割り込みを使用しておりFM TOWNSDOOMと同じくHISライブラリ(ちょもらんま氏作 Oh! FM TOWNS 1995年8月号付録のCD『天晴 Vol.2』)を再度使用し、DOOMではTownsOS標準のWAVE APIで音を鳴らしていたが、Quakeではセガサターン用ソフト「だいなあいらん」をFM TOWNS上で動かす「だいなふぉとす」のソースコード内に入っていたpdrv16.lib(PEN,miyamoto氏)を使用しました。

pdrv16.lib単体での再配布が許可されているか記載がないのでQuake for FM TOWNSソースコード内には入ってませんが、「だいなふぉとす」そのものは転載可能という記述があるので必要な場合はこちらから丸ごと取得してください。

『だいなあいらんプレーヤー for Towns OS』ダウンロード

Steam版「Dead Island: Riptide Definitive Edition」が「デッドアイランド2」ストアページ開設に合わせて2月16日まで無料配布中。

突如としてゾンビが襲来したリゾート地からの脱出を図るハクスラFPS「Dead Island」の続編「Dead Island 2」のストアページが開設された。

PC版はEpic Games ストア時限独占だったタイトルで今回のSteam版はそのEGS版より1年ほど遅い4月22日発売予定。日本語対応、おそらく先に発売されたEGS版通りなら規制などもないと思われるが、日本ではPS5・Xbox版はレーティングが通らず海外版でも日本語対応にもかかわらず国内版は発売されなかった、PC版もEGS時限独占ということで評判こそよかったがイマイチ話題にならなかったという。目の前にぶら下げたニンジンにしか目に行かず、10m先の畑を見逃すような真似やめればいいのに。

 

また今回のストアページ開設記念に合わせて前作のセールも実施されており、その1.5というべき「Dead Island: Riptide Definitive Edition」が2月16日午前1時まで無料配布中。一度Steamアカウントに登録すれば半永久的に再ダウンロード&プレイ可能。

「Definitive Edition」という名前がついているとおり、PS3 & Xbox 360版とのマルチだった無印版からPS4 & Xbox One版が発売された際に同時にリリースされた強化版で、別売りだったDLCが収録されていたりグラフィックの向上などが行われている。なお日本語非対応、その代わり日本PS4版と違い規制(人間の欠損、ゾンビの内臓の色変更)などは行われていない。

ストーリー的には初代デッドアイランドの続きで、ゾンビの溢れかえった南国バノイ島から脱出できた主人公たちだったが今度は新たにパラノイ島に流れ着きそこでもアポカリプスが発生していたというお約束の流れ。前作の4人の主人公の他に新たに「ジョン・モーガン」が追加、ゲームシステム自体は変わらず武器を拾ったり集めた材料から武器をクラフト・火炎や電撃といった属性追加といった改造を行いスキルを開放して強化していく内容となっている。

海外版RPGツクールXPがSteamで2月20日まで無料配布中。他RPGツクールもセール中。

2月15日の「ツクールの日」に合わせてゲーム作成アプリ「ツクール」シリーズ、その製作タイトルなどがセールされているイベント「RPG Maker Festival 2024」が実施されているSteamにて、2004年にエンターブレインより発売されていた「RPGツクールXP」が2月20日午前3時までの期間限定で無料配布されている。一度入手すれば半永久的に再ダウンロード&利用可能となるが、配布されているのは英語版で日本語非対応かつ発売が20年近く前ということで現代のPC・ゲーム環境からは仕様が古い箇所が目立つのに注意。

入手方法はSteamにログインしてRPG Maker XP ストアページから「RPG Maker XPをもらう」の項目にある「アカウントに追加」ボタンを押せば完了。

日本語対応や現代向けの環境が欲しいは最新版「RPGツクールMZ」や「RPGツクールMV」が今回セール対象となっているのでこちらを購入しよう。というか「RPGツクールMZ」にはXPとのバンドル版が売られており、今回のキャンペーンで貰って所有状態にしておくとバンドルの価格が5%程割引になる仕様があるのでMZ目的でも貰っておいて損はない。

Steam版「ソニックアドベンチャーDX」「ソニックアドベンチャー2」がおま国解禁。日本語字幕・音声対応(おま国時代から対応している)

1998年にセガ ドリームキャスト用に発売された「ソニックアドベンチャー」に追加要素を収録した「ソニックアドベンチャーDX」と2001年発売の続編「ソニックアドベンチャー2

Steam版は今まで何故かおま国となっていたが、突然おま国解禁のアナウンスが発表されそして2024年1月23日より日本からも購入可能となった。

 価格はそれぞれ790円と990円でリーズナブルな設定となっており、もちろん日本語字幕・日本語音声にも対応している。というか両タイトルともおま国となっていた時から日本語字幕・日本語音声に対応していた。今回のおま国解禁で特にSteam側のゲームプログラムはアップデートされたような気配はない。リージョン設定変更とストアページの文章を日本語化しただけだ。流石、公式が"配信開放"といっただけはある。

ただ、おま国時代から日本語収録だったといっても非公式対応だった時代から更新されてないんで、ソニックアドベンチャー1の方はところどころフォント抜けなのか文章が???となっているところが見受けられ、古いゲームということでPC環境によってはフレームレートが不安定(自分の環境では何故か45fps上限となっている)な部分がある。

ソニックアドベンチャー2の方は問題なく動いてはいるんだけど、ソニックアドベンチャーDXの方は注意しておいた方がいい。

 

なにも更新していないとはいえ手に取りやすい安価な値段で解禁してくれただけでもありがたい、流石俺たちのセガ、と援護するソニックファンもいるかもしれないが、甘やかしちゃいけない。

桐生一馬さんが何度も「俺は堅気だ」と言ってもスジモンだった過去は消えないし、周りが甘やかすからこそ「誓って殺しはやってません」とか言い訳しながらチンピラを日本刀で切り殺したり銃で撃ち殺して平然としているんだ。

いくらセガが罪滅ぼしをしたところで反社(そんな感じのゲーム作ってるし)だった過去は消えることはない。

Steam版「グランブルーファンタジーヴァーサス ライジング」デジタルフィギュアモード 規制解除Mod

12月14日よりSteamで配信が開始されている格闘ゲームグランブルーファンタジーヴァーサス ライジング」(GBVSR)

オマケモードとしてデジタルフィギュアや小物を画面上に配置して「デジタルフィギュアモード」というものが用意されているのだが、カメラアングルを下側に移動してスカートを履いているキャラクターを覗くとなんとスカートの中がブラックホールと化しているのだ。

だが、そこはPC

Modという魔法を使ってブラックホールを取り除けてしまう。

_Zei Patreon - Granblue Fantasy Versus Rising - Uncensored Mod

上記のサイトより「Granblue_Uncensored_Zai_P.zip」という圧縮ファイルをダウンロードし、中にある「Granblue_Uncensored_Zai_P.pak」「Granblue_Uncensored_Zai_P.sig」という二つのファイルをゲームデータフォルダ\RED\Content\Paksにコピーする。

場所がわからなければSteamライブラリ一覧から「Granblue Fantasy Versus Rising」を右クリックして「プロパティ」→「インストール済みファイル」タブから「参照...」ボタンを押せばゲームデータフォルダが開くのでそこから\RED\Content\Paksに移動しよう。

ファイルのコピーが完了したらまたSteamライブラリ一覧から「Granblue Fantasy Versus Rising」を右クリックして「プロパティ」→「一般」タブ内にある起動オプションに「 -fileopenlog」と入力。

あとはゲームを起動してみるだけ。

 

 

あんなに日の当たらないどころか暗黒空間が広がっていたスカートの中が・・・

 

 

なんということでしょう(大改造劇的ビフォーアフター

ジータちゃんのピンクのパンティーで華やかさが演出されています。

 

 

非公式のModなので動作保証ができない(できればオンライン対戦の時は念のためModファイルを削除しておいたほうがいい)、キャラカラーによっては表示に不具合があるという問題はあるものの、これでデジタルフィギュアを思う存分楽しめるぞ。

レッツ激写ボーイ

Steam版「グランブルーファンタジーヴァーサス ライジング」高画質化(ジャギー軽減)設定

12月14日よりSteamで配信が開始された「グランブルーファンタジー」を題材とした格闘ゲームグランブルーファンタジーヴァーサス ライジング」(以下GBVSR)

前作とは違いPS4/PS5版とのクロスプレイ対応、有料版の他に4人までのキャラクターが操作可能な無料版も配信されており、また現時点では公式での動作検証は行われていないがSteam Deckでも問題なく動作(720p・最高設定でも対戦中は60fpsを維持)できる軽さ、とPC版特有のプレイヤー人口が過疎りやすそうで躊躇する必要もなく試しやすい印象。

デジタルフィギュアモードも新規に追加され、開発元アークシステムワークスお得意の綺麗なアニメ調グラフィックも魅力の一つだが、それでもゲーム内のグラフィック設定から最高設定にしても僅かにジャギーが見受けられる。

というわけで、今回はini設定ファイルを書き換えてレンダリング解像度を通常よりも上げてスーパーサンプリング状態にする方法を紹介。他のUnreal Engine 4タイトルでもできる方法なので汎用性が高く、GBVSRに興味がなくともゲーム内設定でレンダリング解像度を表示解像度以上に上げられないタイトルのスクリーンショットを取りたい際にはこれを使うといい。

まずはゲームを起動してゲーム内のオプションからグラフィック設定を最高設定にしておく。

次にWindowsの自分のユーザーフォルダ内のAppData(このフォルダは隠し設定になっているのでWindowsの設定を変えて表示できるようにする)を開き、

\Local\GBVSR\Saved\Config\WindowsNoEditor内にある「Engine.ini」をテキストエディタで開く。

記述の最後に

[ConsoleVariables]
r.ScreenPercentage=200

というものを追記して保存。

 

それでは画質の比較

こちらがデフォルト

その1

その2

 

 

そしてこちらがr.ScreenPercentage=200設定

その1

その2

 

画面エフェクトの効きが高解像度化された影響で薄まってしまうデメリットもあるものの、ナルメアさんの髪を見れば分かる通りジャギーは消え描線はシャープな状態になっている。

FM TOWNSのコアな話題が他のレトロPCより出ない理由

1989年に富士通が発売したCD-ROMドライブ&32bit CPU標準搭載パソコン「FM TOWNS

今更25年以上前にシリーズ機の販売が終了したパソコンなんだから話題が出ない(Lenovo傘下になった富士通ブランド広報担当者すらFMVシリーズ機扱いしたりどういったパソコンだったかわかってない)のは当たり前なんだけど、1992年頃には商用としては終了しているMSXや当時は比較されることが多かったX68000が一部コミュニティで活発な動きが現在でもあるのに比べて、TOWNSは本当に話題に上がることがない。

そしてつい最近「どうしてFM TOWNSには勝手移植や自作ゲーム類が出てこないのか」という意見が某大手SNSで言及されていった。

自分自身はFM TOWNSに特別な思い入れもあってなんの役にも立たないが色々書いているし、かなり規模は小さく数えられるほどの物しか出てきていないとはいえ今でも活動している人もいて(オープンソースエミュレータどころか互換BIOSも開発されて実機が無くとも当時のソフトウェアを動かせるようにされている)この意見にはうーーーーん?????と疑問符しか付かなかったが、とりあえず思い当たる節を色々書いてみる。

 

 

  • 制作活動をしていたコアユーザーの絶対数

元々TOWNSの開発コンセプト自体「野鳥を調べられる電子辞書ソフトがあったとして今までのパソコンは文字や静止画でしか野鳥の情報を見れないが、TOWNSなら文字のみならず鳴き声・飛んでいる様子と直感的な情報で見れる」という新しい情報端末(これが当時どれほどの需要が有るのか知らない)と考えて開発していた節があり、当初予定していた一般向け販売が低迷したら教育用に販路を広げたりと、クリエイター・開発者向けというよりは受動的なユーザーに向けた売り方重視に見受けられ、実際何か作るというよりは市販ソフトを買うか誰かが作ったフリーソフトで遊ぶだけという人がFM TOWNSを所有していた人でも大半(MSXX68000もそうだろうが、それ以上という意味)。現在ではなく当時の話をする場合でも、いくら完成度の高いソフトが数本出ていたとしても数が無いんだから、逆にそれらの話題が終わったらそれ以上会話が続かない。

まあ富士通FM TOWNSコミックマーケットにも出展していたりアニメ/漫画ファン向けも狙っていたようだが、当時の制作環境ではTOWNSを生かすのは難しかった(タブレットやスキャナも普及しておらずマウス描き)だろうし、仮にそういう層がTOWNSで創作活動していたとしても、絵描きなら猶更当時より快適な環境を駆使して綺麗な絵を描きたいと思うだろう。ドット絵みたいなものだったら別にTOWNSでなくても表現できてしまう。

 

 

これは前々から書いているのだがFM TOWNSはカタログスペックだけなら高性能に思えるけど、実際はゲーム用途に向いてない性能。

 

ちょっと強力なスプライト機能はあるけど逆にそれ以外にゲーム用途向けでは当時2Dゲームでは必須なBG面やラスター割り込みがない、横スクロールすらトリッキーなテクニックを駆使しないとスムーズに行えないなど不自由な部分が目立つ。

そして、このトリッキーな方法とかFM TOWNSの開発資料が上記の該当記事にある通り当時のOh! FM TOWNSにしか掲載されてなかったり技術伝承が行われず、当時のフリーソフトのゲームでもこれらの知識さえあればもうちょっと完成度が高くなりそうなのに使われていないという残念な形となってしまった。

開発環境にしても当時のレトロPCでは一般的なBASIC言語(F-BASIC 386)ですら別売、TOWNSの性能を最大限に生かそうとするならよりハードに近いC言語アセンブラが必須になるがまだ市場が形成されていた1993年以前の段階ではすべて揃えるとなると10万円超え、93年には普及帯(それでも4万だが)の廉価版が出たが既に成熟期に差し掛かりWindows 95が発売されて一気に市場が消滅する95年の2年という短い期間しかない、言語のみならずBASICで画面モードの制約を緩和する機械語ルーチンやC言語で垂直同期割り込みで関数読み出すライブラリといった便利なものすら公開が94~95年と遅すぎた。

また、この項目先頭で書いたがカタログスペックだけは良いせいで、実際は苦労の末に実装した表現でも「これくらいならTOWNSでできて当然でしょ?」と勘違いされやすく、開発におけるコストパフォーマンスが悪すぎる。

 

 

  • 実際に作ったところで反応薄過ぎ

話が堂々巡りなのはわかってるけど、冒頭で「FM TOWNSには勝手移植ないのか」って事の発端を出したが、勝手移植なんて自分がDOOMCELESTEWolfenstein 3Dとこの令和の時代に何個か開発している。なのに、なんでそんな疑問を持たれるのか不思議でしようがないが、実際に作ったところで反応が無いんだから無駄としか思えずモチベーションを保ち続けるのは難しい。

話題を作ろうとしても話題が起きない→無駄だとわかってるので話題を出さなくなるのスパイラル

 

 

  • OSが別売

単に市販ゲームを遊ぶ分なら問題はないんだが、フリーゲームを遊んだり配布して遊んでもらうならそれを実行するTownsOSが必須となる。が、このTownsOS自体が当時は高価な代物(単体2万以上)で、今でもたまに中古が出回ることがあるものの数千円では買えない代物となっている(V1.1系統なら安いが使い勝手が悪かったり動かないソフトが出てくる)。

OSまで無償化公開されたX68000とは違い、FM TOWNSは互換BIOSまでは有志経由で作られたもののOSは流石に手を付けられないので、エミュレータと互換BIOSを導入したとしても完全にフリーで遊べる状態とはならず、取っつきにくい原因になっている。

 

 

  • (番外)数少ない作ってる本人はその手のコミュニティと関わりたくない

他の少数FM TOWNSユーザーはどうかはわからないし、やっていることと矛盾しているような気もするが、自分自身はレトロという類のついたコミュニティはどうも苦手。

いや、レトロゲームも遊んでるしレトロPCの知識も十分にあるんだけど、今時のゲームとかのほうがやってて面白いよね?という感想の方が強いんで実際は固執しているようでそれに固執していない(FM TOWNSも動作検証用にマーティーは持ってるけど、実機じゃなくてエミュで十分だよねとしか思ってない)。

作った物とかを時折開催されているレトロゲーム/レトロPCの実イベントで実機マーティーも所有しているんだからそれ使って公開すればいいんだろうけど、偏見かもしれないがその他の参加者と会話しても「昔のゲームはよかった。でも今のはだめだ。」とかそういう類の話が出てきそうである。もちろん、そんな話が出たら気分悪くなるんで会話止める。そういう訳で行く気にならない。